我想成为:
arr(2,1) = arr(2,1) + abs(5.0 minus 5.1);% where I(1,a) is 5.0 and I(1,a+1)is 5.1
为什么我不能将以下两个加在一起?我收到此错误消息:
下标分配维度不匹配(大小 [1 x 1] ~= 大小 [1 x :?])。
函数 'MATLAB 函数' (#620.435.485),第 23 行,第 2 列:“arr(count,1) = arr(count,1) + abs(I(1,a)-I(1,a+1) )" 启动诊断报告。
'I' 在工作空间中声明为:
I =
5.0000 5.1000 5.2000 5.2000
90.0000 85.0000 80.0000 20.0000
integ_signal=zeros(5,4);
a=zeros(10);
arr=zeros(5,4);
count=2;
a=1;
integ_signal(count,1)= integ_signal(count-1,1);
arr(count,1) = integ_signal(count,1);
arr(count,1) = arr(count,1) + abs(I(1,a)-I(1,a+1));
该系统显示在这里。完整代码如下:
function integ_signal= fcn(I,V,count,oldval)
integ_signal=zeros(5,1);
a=zeros(10);
arr=zeros(2,4);
%b=zeros(10);
integ_signal=oldval;
coder.extrinsic('load');
load('data.mat','I');
a=1;
%b=1;
if count==1
integ_signal(count,1) = 10; % Initial Condition
end
if count>1
integ_signal(count,1)= integ_signal(count-1,1);
arr(count,1) = integ_signal(count,1);
arr(count,1) = arr(count,1) + abs(I(1,a)-I(1,a+1));
end
a=a+1;
% b++;
end
亲爱的先生,我一直收到这个错误,我想要的输出是得到 abs(I(2,ii(a))-I(2,ii(a)-1) 以便当 ii(a)=2 时,我想要I(2,2) 减去 I(2,1) 即 5.1 减去 5.0:索引表达式超出范围。尝试访问元素 2。有效范围是 1-1。“2”。在这一行:arr(1 ,ii(a)) = arr(1,ii(a)) + abs(I(2,ii(a))-I(2,ii(a)-1));。
我在 .mat 文件中将 I 定义为以下内容:
保存数据 -v7.3 'I' load('data.mat','I'); 我 =
第 1 至 6 列
0 1.0000 2.0000 3.0000 4.0000 5.0000
5.0000 5.1000 5.2000 5.2000 5.5000 5.9000
第 7 栏
6.0000
6.0000