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 commentaire

Jan
Jan le 29 Avr 2013
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. ;-)

Réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 29 Avr 2013

0 votes

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 commentaires

Arati
Arati le 29 Avr 2013
Thank you, I can see where I was going wrong now.
Jan
Jan le 29 Avr 2013
I recommend to use a pre-allocation. This is fundamental for efficient programs.
Jan
Jan le 29 Avr 2013

0 votes

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

Cette question est clôturée.

Question posée :

le 29 Avr 2013

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by