How do you plot values from a cell array?

조회 수: 1 (최근 30일)
James Taylor
James Taylor 2016년 2월 18일
댓글: James Taylor 2016년 2월 18일
% Clearing EVERYTHING
clear all
close all
clc
%Variables
Em = 2.4 ; % Em = Youngs modulus of the matrix [GPa]
vm = 0.34; % Poisson's Ratio matrix
Ef = 76; % Ef = Youngs modulus of the fiber [GPa]
vf = 0.22; % Poisson's Ratio fiber
Vm = 0.4; % Marix Volume fraction
Vf = 0.6; % Fiber Volume fraction
Angle = -90:1:90; %Angle of the force in Deg => Rad
force = [0.150 0 0]'; %[xx yy xy]---[GPa]
tv = 0.13; %Length [m]
%Shear moduli
Gm = Em/(2*(1+vm)); %matrix
Gf = Ef/(2*(1+vf)); %fiber
%Bulk modui
Km = Em/(3*(1-2*vm));
Kf = Ef/(3*(1-2*vf));
%Moduli referred to lamina axes
E1 = Em*Vm+ (Ef*Vf);
%passions ratio
top = (vf-vm)*(1/Km - 1/Kf)*(Vm*Vf);
bottom = Vm/Kf + Vf/Km + 1/Gm;
v12 = (vm*Vm)+ (vf*Vf) + (top/bottom);
%Shear modulus
G12 = Gm + ((Vf)/((1/(Gf -Gm))+(Vm/(2*Gm))));
%bulk modulus
K_star = Km + (Vf/((1/(Kf - Km)) + (Vm/(Km +Gm))));
%{
************Key*********
B - beta
y - Gama
a - alpha
p - Rho
%}
%Variables required for G23 calculations
Bm = 1/(3-(4*vm));
Bf = 1/(3-(4*vf));
y = Gf/Gm;
a = (Bm - (y*Bf))/(1 + (y*Bf));
p = (y +Bm)/(y-1);
%Shear modulus G23
if (Gf > Gm && Kf>Km)
top = (1+Bm)*Vf;
bottom = p -((1+ (3 * (Bm^2) * (Vm^2))/((a * (Vf^3) + 1))))*Vf;
G23 = Gm*(1+ (top/bottom));
elseif (Gf < Gm && Kf < Km)
top = (1+Bm)*Vf;
bottom = p -((1+ (3 * (Bm^2) * (Vm^2))/((a * (Vf^3) + Bm))))*Vf;
G23 = Gm*(1+ (top/bottom));
end
%Elasticity
E2 = 4/ ((1/G23)+(1/K_star)+((4*v12^2)/E1));
%Calcuations
Z = (E1-((v12^2)*E2))/E1;
Q11= E1/Z;
Q22 = E2/Z;
Q12 = (v12*E2)/Z;
Q66 = G12;
Q_matrix = [Q11 Q12 0;
Q12 Q22 0;
0 0 Q66];
anglev = (-90:1:90)*pi/180; % Angle Vector
for k1 = 1:length(anglev)
angle{k1} = anglev(k1); % Angle
m{k1} = cos(angle{k1});
n{k1} = sin(angle{k1});
Stress_matrix_1{k1}= [m{k1}^2 n{k1}^2 -2*m{k1}*n{k1};
n{k1}^2 m{k1}^2 2*m{k1}*n{k1};
m{k1}*n{k1} -m{k1}*n{k1} m{k1}^2-n{k1}^2];
Strain_matrix_1{k1} = [ m{k1}^2 n{k1}^2 -m{k1}*n{k1};
n{k1}^2 m{k1}^2 m{k1}*n{k1};
2*m{k1}*n{k1} -2*m{k1}*n{k1} m{k1}^2-n{k1}^2];
Q_bar{k1} = (Stress_matrix_1{k1})*(Q_matrix)*inv(Strain_matrix_1{k1});
S_bar{k1} = inv(Q_bar{k1});
strain{k1} = S_bar{k1}*force;
strain_xx{k1} = strain{k1}(1,1);
% z = cell2mat(strain_xx{k1});
% hold on ;
%plot (Angle, strain_xx{k1}); hold on;
%grid on;
%mesh(Angle, strain_xx{k1})
end
At the end of this piece of code I want to plot strain_xx but I can't because it is a cell array can anyone help?

답변 (1개)

MHN
MHN 2016년 2월 18일
plot(cell2mat(strain_xx))

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by