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

3 views (last 30 days)
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 Comment
Al Capwn
Al Capwn on 29 Oct 2015
Edited: Al Capwn on 29 Oct 2015
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)].

Sign in to comment.

Answers (2)

Thorsten
Thorsten on 29 Oct 2015
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 on 29 Oct 2015
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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!