How can I loop into a matrix?

I have six values of E and v which are entries of Matrix s of the structure; s=[1/E -v/E 0; v/E 1/E 0; 0 0 2*(1+v)/E]
the six matrices of s formed are the entry into the matrix S; S=[s(1) s(2) s(3) s(4) s(5) s(6)]
How can I loop the values of E and v into the matrix s?

2 Comments

Are E and V row matrices or column matrices? What do you think the size of little should be? And what about big S? Can you give a numerical example?
E and v are coulmn matrices and the size of matrix s is 3 by 3 while size of matrix S is 3 by 18 since we have 6 s matrices in the column space of matrix S. for example,
s(i)=[1/E(i) -v(i)/E(i) 0; v(i)/E(i) 1/E(i) 0; 0 0 2*(1+v(i))/E(i)]
where i=1,2,..,6 for each value of E and v

Sign in to comment.

 Accepted Answer

I assume you are trying to do something like
for ii = 1:6
S{ii} = [1 -v(ii) 0; v(ii) 1 0; 0 0 2*(1+v(ii))]/E(ii);
end
Note that S is a cell array, so your first matrix (your s(1)) would be accessed as S{1}.

3 Comments

Actually I think it should be a matrix of matrices so that the total matrix is built up as a "vector of matrices"
Yep, either way would work. My thinking was that Saheed wanted to access the inidividual matrix elements of S = [s(1) s(2) s(3) s(4) s(5) s(6)] with something that resembled that format.
Thanks Patrick and Mischa. Patrick code works fine and suit my need.

Sign in to comment.

More Answers (1)

Patrik Ek
Patrik Ek on 7 Mar 2014
Edited: Patrik Ek on 7 Mar 2014
I think that you need to loop here, since Matlab do normally not implement any operations that you reuqests. I mean
[vector, 0; 0, vector]
gets the size 2 x length(vector)+1
try something like
s = [];
for k = 1:length(E)
s_temp= [1/E(k) -v(k)/E(k) 0; v(k)/E(k) 1/E(k) 0; 0 0 2*(1+v(k))/E(k)];
s = [s,s_temp];
end
I may have some syntax errors since the code is not tested, but I guess it should work. Of course you can also preallocate vectors and so as well to speed up the code, if that is necessary.
Good luck!

Asked:

on 7 Mar 2014

Commented:

on 8 Mar 2014

Community Treasure Hunt

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

Start Hunting!