Storing the matrix values in a loop

having problem storing the values for the T matrix. I keep getting 3x39 matrix for T instead of 3x3 matrix. So that I can plot later
%aluminum 2024-T3 – IM7 carbon composite composites%
E1f=290E9;
E2f=21E9;
Em=73E9;
G12f=14E9;
Gm=26.6E9;
Vf=0.60;
af1=-0.2e-6;
af2=10e-6;
am=23;
Vm=1-Vf;
v12f=0.2;
v12m=0.33;
E1=(Vf*E1f)+(Vm*Em);
% transverse shear modulus%
xi=2;
eta_E2=((E1f/Em)-1)/((E1f/Em)+xi);
E2=(Em*(1+xi*eta_E2*Vf))/(1-eta_E2*Vf);
v12=(Vf*v12f)+(Vm*v12m);
v21=(E2/E1)*v12;
eta_G12=((G12f/Gm)-1)/((G12f/Gm)+ xi);
G12=(Gm*(1+xi*eta_G12*Vf))/(1-eta_G12*Vf);
% alpha unit m/m/deg celcius %
alpha_1=(E1*af1*Vf)+(Em*am*Vm)/(E1f*am*Vm)+(Em*Vm);
alpha_2=(af2*Vf)*(1+Vf)+(am*Vm)*(1+Vm)-(v12*af1);
alpha_0= [alpha_1;alpha_2;0];
S11=1/E1;
S12=-v12/E1;
S21=-v21/E2;
S22=1/E2;
S33=1/G12;
%compliance matrix @ 0%
S0=[S11 S12 0;S21 S22 0;0 0 S33];
% stiffness matrix @ 0 %
C=inv(S0);
%Qo=1/S0=inv(S0)=C%
% theta range %
theta=[-90:15:90];
N=length(theta);
T=cell(N,1);
Sxy=cell(N,1);
alpha_theta=cell(N,1);
for i=1:N
m=cosd(theta);
n=sind(theta);
R=[1 0 0;0 1 0;0 0 2];
% T is transform matrix%
T{i}=[m.^2 , n.^2 , 2.*m.*n;
n.^2 , m.^2 , -2.*m.*n;
-m.*n , n.*m ,(m.^2-n.^2)];
% Transformed complaince matrix%
Sxy{i}=R*inv(T{i,1})*inv(R)*T{i,1}*S0;
Ex(i)=1/Sxy{i,1}(1,1);
Ey(i)=1/Sxy{i,1}(2,2);
Gxy(i)=1/Sxy{i,1}(3,3);
vxy(i)=-Sxy{i,1}(1,2)*Ex(i);
% vyx(i)=vxy(i)%
Nsx(i)=Gxy(i)*Sxy{i,1}(1,3);
Nsy(i)=Gxy(i)*Sxy{i,1}(2,3);
Nxs(i)=Ex(i)*Sxy{i,1}(3,1);
Nys(i)=Ey(i)*Sxy{i,1}(3,2);
alpha_theta{i}=inv(R)*inv(T{i})*R*alpha_0;
Axy(i)=alpha_theta{i,1}(3,1);
end
plot(Ex)

 Accepted Answer

theta=[-90:15:90];
N=length(theta);
[...]
for i=1:N
m=cosd(theta);
n=sind(theta);
why bother iterating over the length of theta when you are going to operate on all of theta inside the loop?

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!