0
我试图从两个'for'循环中的两个单独值保存8个矩阵,以便我可以乘以T & kloc以找到值'k'。他们是两个独立的循环,这里&都给出8个矩阵,但是当我尝试将它们相乘时,它们的值作为迭代中的最后一个值出现。另外,当我试图在其中一个插入其中一个时,有一个大的'for'循环,我最终得到的T或kloc(无论哪个嵌套)的输出矩阵多于8个。我会很感激任何帮助。谢谢。MATLAB保存'for'循环中的所有值
%-------------------------Givens/Constants--------------------------%
E = 10200; %ksi
b = 1; %in
h = 0.25; %in
I = (b*h^3)/12; %in^4
A = b*h;
%%Lengths &Angles
addangle = atand(8/16.25);
theta1 = 0;
theta2 = atand(16.25/8);
theta3 = 2*addangle + 63.7886;
theta4 = 90;
L1=8;
L3 = 16.25/sind(63.7886);
L2 = 16;
L4 = 16.25;
%--------------------------------------------------------------------%
%%Local stiffness matrices
%The angle between 8 beams of structure from the positive x-axis
%(In order of member ID 1:8)
for theta=[theta1,theta1,theta1,theta1,theta3,theta2,theta3,theta4]
ct = cosd(theta);
st = sind(theta);
T =[ct,st,0,0,0,0; -st,ct,0,0,0,0;...
0,0,1,0,0,0;0,0,0,ct,st,0; 0,0,0,-st,ct,0;0,0,0,0,0,1];
end
%Length of 8 seperate beams in truss structure
%(In order of member ID 1:8)
for L=[L3,L1,L1,L3,L2,L2,L2,L4]
C = (E*I)/(L^3);
line1 = [(A*L^2)/I,0,0,-(A*L^2)/I,0,0];
line2 = [0,12,6*L,0,-12,6*L];
line3 = [0,6*L,4*L^2,0,-6*L,2*L^2];
line4 = [-(A*L^2)/I,0,0,(A*L^2)/I,0,0];
line5 = [0,-12,-6*L,0,12,-6*L];
line6 = [0,6*L,2*L^2,0,-6*L,4*L^2];
kloc = C*[line1;line2;line3;line4;line5;line6];
end
%Need to calculate 8 matrices of 'k' where...
% k = TT*kloc*T