Subscript indices must either be real positive integers or logicals.
1 次查看(过去 30 天)
显示 更早的评论
x=[1 2 3 4];
h=[1 2 3];
m=length(x);
n=length(h);
OP_len=m+n-1;
less=OP_len-n;
Abs=h;
for Kk=1:less
Abs=[Abs,0];
end
Y=Abs.';
for jj=1:m
temp=Abs(OP_len-1);
for kk=OP_len:-1:1
Abs(kk)=Abs(Kk-1);
end
Abs(0)=temp;
Y=[Y,Abs.'];
end
Why I am getting "Subscript indices must either be real positive integers or logicals." Error
Error in LinConvolution (line 20)
Abs(Kk)=Abs(Kk-1);
0 个评论
回答(2 个)
KALYAN ACHARJYA
2019-8-17
编辑:KALYAN ACHARJYA
2019-8-17
Abs(1)=temp;
In Matlab indexing start from 1, not zero
Hence
Allowed
A(1), A(2), A(3),....
Not Allowed
A(0), A(-1), A(-2),....etc
0 个评论
the cyclist
2019-8-17
Unlike some other programming languages (e.g. python), MATLAB has 1-based indexing. The first element of the array A would be referenced as A(1), not A(0). So, if you try to access A(0), you will get that error message.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!