Storing matrices upon each for loop iteration

Here is my problematic for loop. Everything works fine within the loop except for the k matrix being created. What I want to do is store a new matrix each time a new iteration is done in the for loop. With the vectors I could just use (i,1) and the next value gets stored in the following rows.
Is there some way of doing something similar to this with a 4x4 matrix?
for i = 1:n_e
Xcm = Xc(Sn(i,1),1);
Xcn = Xc(En(i,1),1);
Ycm = Yc(Sn(i,1),1);
Ycn = Yc(En(i,1),1);
L(i,1) = sqrt((Xcn-Xcm)^2+(Ycn-Ycm)^2);
l(i,1) = (Xcn-Xcm)/L(i,1);
m(i,1) = (Ycn-Ycm)/L(i,1);
AEL(i,1) = A(i,1)*E(i,1)/L(i,1);
k = AEL(i,:)*[l(i,1)^2, l(i,1)*m(i,1), -l(i,1)^2, -l(i,1)*m(i,1); m(i,1)^2]; ...
dof(i,:) = [Gdof(2*Sn(i)-1), Gdof(2*Sn(i)), Gdof(2*En(i)-1), Gdof(2*En(i))];
i = i+1;
end

回答(1 个)

1 个评论

Thanks for the basic intro, I'm still having trouble either understanding the concept behind arrays or just not doing it properly. The squiggly brackets {} are new to me and upon using them for k{i} the answer shows up as:
k =
[4x4 double] [4x4 double]
where I should get two 4x4 which seems good, but how can I see what the those 4x4 matrices actually are?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

提问:

2014-4-24

评论:

2014-4-24

Community Treasure Hunt

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

Start Hunting!

Translated by