What changes do i need to make so my matrix is not overwritten?

1 view (last 30 days)
I have the following code it runs fine, note where i=1; i want to change it to i=1:3, but i want to store the individual 3 matrices separately. What changes should i make?
Z=ones(n,no_of_stages);
for i=1;
for k=1:no_of_stages
M(k,k)=diag(-phi(i,k));
for d=2:no_of_stages
M(d,d-1)=diag(abs_coeff(i,d));
for r=1:no_of_stages-1;
M(r,r+1)=diag(Z(i,r));
end
end
end
end

Accepted Answer

Walter Roberson
Walter Roberson on 18 Oct 2016
Use a cell array indexed by i
  2 Comments
A K
A K on 18 Oct 2016
The code creates a tri-diagonal matrix, do u mean i should ad another line saying M(i)=M??? so M(1) is the first matrix, M(2) is the second.
Walter Roberson
Walter Roberson on 18 Oct 2016
Edited: Walter Roberson on 18 Oct 2016
Z=ones(n,no_of_stages);
for i=1;
clear tM
for k=1:no_of_stages
tM(k,k)=diag(-phi(i,k));
for d=2:no_of_stages
tM(d,d-1)=diag(abs_coeff(i,d));
for r=1:no_of_stages-1;
tM(r,r+1)=diag(Z(i,r));
end
end
end
M{i} = tM;
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!