hello, how to solve the problem for matrix that a is diagonal matrix and u is random column matrix. I would like to solve the equation to get u=a*u inside the loop. But , I got index in the position 2 is invalid answer. Could you please help me?

1 view (last 30 days)
e=ones(10,1);
a=spdiags([-e 2*e -e],-1:1,10,10);
A=full(a);
u=rand(10,1);
for k=0:9
u(:,k+1)=(A*u(:,k))/norm(A*u(:,k));
end

Accepted Answer

Alan Stevens
Alan Stevens on 26 Aug 2020
Matlab's indexing starts at 1 not zero, so it is complaining at u(:,k) when k is zero.

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!