How to get my script to work?

I want to make a script to follow an iterative procedure but every time I run my current script the following error message: ??? In an assignment A(I) = B, the number of elements in B and I must be the same.
A = [1 2;3 4]
%Investigate the iterative procedure v(n+1) = u/C
for n = 1:10
v(1) = [1 0];
u = A*transpose(v(n));
C = norm(u);
v(n+1) = u/C;
end
How do I fix this? Thank you for your help in advance.

1 Comment

When you post an error message in the forum, show the failing line also. Although we could guess it here, relying on out crystal balls is usually not efficient. ;-)

Answers (2)

A = [1 2;3 4]
%Investigate the iterative procedure v(n+1) = u/C
for n = 1:10
v(1,:) = [1 0];
u = A*transpose(v(n,:));
C = norm(u);
v(n+1,:) = u/C;
end

2 Comments

Thank you, I can see where I was going wrong now.
I recommend to use a pre-allocation. This is fundamental for efficient programs.
A = [1 2;3 4]
v = zeros(11, 2); % Pre-allocate
v(1, :) = [1 0]; % Outside the loop
for n = 1:10
u = A * transpose(v(n, :));
C = norm(u);
v(n+1, :) = u/C;
end

This question is closed.

Asked:

on 29 Apr 2013

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!