How do I store matrix solutions from a loop into another matrix?

How do I populate the T matrix with Tr matrices for each n=1:6, so that I can access the elements with T(3:3;3:3,2)?
T=zeros(6,1);
for n= 1:6
Tr = [c(n) -s(n)*ca(n) s(n)*sa(n) a(n)*c(n);...
s(n) c(n)*ca(n) -c(n)*sa(n) a(n)*s(n);...
0 sa(n) ca(n) d(n);...
0 0 0 1 ] ;
T(:,:,n)=Tr;

 Accepted Answer

T has to be size of Tr in each plane; not sure where you got the 6,1 from...
T=zeros(4,4,6);
for n=1:6
T(:,:,n)=[c(n) -s(n)*ca(n) s(n)*sa(n) a(n)*c(n);...
s(n) c(n)*ca(n) -c(n)*sa(n) a(n)*s(n);...
0 sa(n) ca(n) d(n); ...
0 0 0 1 ];

2 Comments

great, it works. I was thinking as T as a 6x1 array with matrix elements in it, rather than a 3D matrix.
Thanks!
"T as a 6x1 array with matri[ces] in it..."
That would be a cell array, then...
T{n,1}=RHS;
instead. See
doc cell % and background info on cell arrays for details

Sign in to comment.

More Answers (0)

Categories

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

Asked:

on 30 Nov 2015

Commented:

dpb
on 1 Dec 2015

Community Treasure Hunt

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

Start Hunting!