In an assignment A(I) = B, the number of elements in B and I must be the same.

2 次查看(过去 30 天)
why is this giving an error...!
A1=[2 1];
>> for i=1:2;
A(k)=[-1 1];
A(k+1)=A1+A(k);
end
  1 个评论
Al Capwn
Al Capwn 2015-10-29
编辑:Al Capwn 2015-10-29
because A1+A(k) has dimensions 1x2 where as A(k+1) has dimensions 1x1.
A1+A(k)
is interpreted as
[A1(1)+A(k) A1(2)+A(k)].

请先登录,再进行评论。

回答(2 个)

Thorsten
Thorsten 2015-10-29
You cannot assign a 1x2 matrix [-1 1] to a single element A(k) of a matrix.
It is not clear to me what you want to achieve with these lines. Note that your loop uses i, but i is never used in the loop.

Eng. Fredius Magige
Eng. Fredius Magige 2015-10-29
A1=[]; >> for i=1:2; i=i A1(1,1)=i.*-1 A1(1,2)=1 %k==i, you mean that A1=[A1; []] % or you mean this A1' end

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by