Reference to non-existent field 'v'.
조회 수: 5 (최근 30일)
이전 댓글 표시
ich habe immer wieder diese Fehlermeldung, leider finde ich ihren Ursprung nicht. Hat jemand einen Vorschlag? wenn ich den code laufen lassen will zeigt er immer an" Reference to non-existent field 'v'."
%%aufgabe3a
global p lf
% Materialparameter C-300T-EP
p.E_l = 125000;
p.E_q = 8000;
p.G_ql = 5000;
p.v_ql = 0.3;
p.v_lq = (p.v_ql/p.E_l)*p.E_q;
p.Q12 = Q_12_k(p);
%%Belastungen Kraftflüsse
lf.N_lf = 3;
lf.LF = [780 436 -925 ;...
585 -190 790 ;...
260 -805 1001];
% lf.lf1 = [780 436 -925];
% lf.lf2 = [585 -190 790];
% lf.lf3 = [260 -805 1001];
%%Dimensionskriterien
lf.R_p_z = 1450;
lf.R_p_d = -1400;
lf.R_s_z = 55;
lf.R_s_d = -170;
lf.R_sp = 90;
%%Faserwinkel (0-90°) und Schichtdicke
alph = 0:90;
topt = zeros(1,length(alph));
%%Optimierung für jeden Faserwinkel (0-90 Grad)
for aa = 1:91
% Startwert
t0 = 1;
% Untere und obere Grenze für t (nur positive t-Werte)
lb = 0;
ub = 100;
% Optimale Schichtdicke
lf.alph = alph(aa)/180*pi;
t = fmincon(@minfun, t0, [], [], [], [], lb, ub,@confun);
topt(aa) = t;
end
%%Kleinste Schichtdicke mit zugehörigem Faserwinkel
t_opt = min(topt) % Gesamte Schichtdicke
t_pm_alpha = t_opt/2 % Schuichtdicke aller +45 (bzw. -45) Grad Lagen
alpha_opt = alph(find(topt==t_opt))
% Matrix erzeugen: 1.Spalte: sigma1, 2.Spalte: sigma2, 3. Spalte: tau21
spannungen = zeros(6,3);
alpha_neu = [alpha_opt; -alpha_opt; -alpha_opt; alpha_opt];
t_neu = [t_opt/4; t_opt/4; t_opt/4; t_opt/4];
[ABD, spannungLF1]= Laminattheorie(p.E_l, p.E_q, p.G_ql, p.v_ql, t_neu, alpha_neu,780, 436, -925, mx, my, mxy);
[ABD, spannungLF2]= Laminattheorie(p.E_l, p.E_q, p.G_ql, p.v_ql, t_neu, alpha_neu,585, -190, 790, mx, my, mxy);
[ABD, spannungLF3]= Laminattheorie(p.E_l, p.E_q, p.G_ql, p.v_ql, t_neu, alpha_neu,260 ,-805 ,1001, mx, my, mxy);
spannungen(1,:) = spannungLF1(1,:);
spannungen(2,:) = spannungLF1(3,:);
spannungen(3,:) = spannungLF2(1,:);
spannungen(4,:) = spannungLF2(3,:);
spannungen(5,:) = spannungLF3(1,:);
spannungen(6,:) = spannungLF3(3,:);
spannungen
function f = minfun(t_it)
% Minimiere t
f = t_it;
end
function [c, ceq] = confun(t)
% Nebedingungen für die Optimierung
global p lf
% t je Schicht
tlage = [t/4; t/4; t/4; t/4];
% Winkel je Schicht, Anordnung sodass aus Axiallast kein Koppelungen
% Out-of-Plane entstehen
alph_a = [lf.alph; -lf.alph; -lf.alph; lf.alph];
A = zeros(3);
for nn = 1:length(alph_a) % Überlagerung der Schichtmatrizen
% Schichtsteifigkeitsmatrix jeder Lage im globalen xy-System
Qxy = Ts_12_xy(alph_a(nn)) * p.Q12 * Te_xy_12(alph_a(nn));
% Scheiben-Steifigkeitsmatrix A_ij_n jeder Lage
A = A + Qxy * tlage(nn);
end
sigms = []; % Spannungen
for mm = 1:lf.N_lf % Je Lastfall
ld = lf.LF(mm,:);
eps_kap = inv(A)*ld';
for nn = 1:length(alph_a)
eps_12 = Te_xy_12(alph_a(nn))*eps_kap;
sigm_12(nn,:) = p.Q12*eps_12;
end
sigms = [sigms; sigm_12];
end
[ABD, spannungLF1]= Laminattheorie(p.E_l, p.E_q, p.G_ql, p.v_ql, t_neu, alpha_neu,780, 436, -925, mx, my, mxy);
[ABD, spannungLF2]= Laminattheorie(p.E_l, p.E_q, p.G_ql, p.v_ql, t_neu, alpha_neu,585, -190, 790, mx, my, mxy);
[ABD, spannungLF3]= Laminattheorie(p.E_l, p.E_q, p.G_ql, p.v_ql, t_neu, alpha_neu,260 ,-805 ,1001, mx, my, mxy);
% E_l = p.E_l; E_q = p.E_q; G_ql = p.G_ql; v_ql = p.v_ql; v_lq = p.v.lq;
R_p_z = lf.R_p_z; R_p_d = lf.R_p_d; R_s_z = lf.R_s_z; R_s_d = lf.R_s_d; R_sp = lf.R_sp;
ceq = [];
% sigms[sigma1 sigma2 tau21;... je Schicht ; je LF]
c = [(sigms(:,1) - lf.R_p_z) ; ...
(-sigms(:,1) + lf.R_p_d) ; ...
(sigms(:,2) - lf.R_s_z) ; ...
(-sigms(:,2) + lf.R_s_d) ; ...
(abs(sigms(:,3)) -lf.R_sp)];
% calt = [spannung1(1,1)-R_p_z; % 1. Festigkeitsbed., LF 1, +alpha
% -spannung1(1,1)+R_p_d; % 2. Festigkeitsbed., LF 1, +alpha
% spannung1(1,2)-R_s_z; % 3. Festigkeitsbed., LF 1, +alpha
% -spannung1(1,2)+R_s_d; % 4. Festigkeitsbed., LF 1, +alpha
% abs(spannung1(1,3))-R_sp; % 5. Festigkeitsbed., LF 1, +alpha
% spannung1(3,1)-R_p_z; % 1. Festigkeitsbed., LF 1, -alpha
% -spannung1(3,1)+R_p_d; % 2. Festigkeitsbed., LF 1, -alpha
% spannung1(3,2)-R_s_z; % 3. Festigkeitsbed., LF 1, -alpha
% -spannung1(3,2)+R_s_d; % 4. Festigkeitsbed., LF 1, -alpha
% abs(spannung1(3,3))-R_sp; % 5. Festigkeitsbed., LF 1, -alpha
% spannung2(1,1)-R_p_z; % 1. Festigkeitsbed., LF 2, +alpha
% -spannung2(1,1)+R_p_d; % 2. Festigkeitsbed., LF 2, +alpha
% spannung2(1,2)-R_s_z; % 3. Festigkeitsbed., LF 2, +alpha
% -spannung2(1,2)+R_s_d; % 4. Festigkeitsbed., LF 2, +alpha
% abs(spannung2(1,3))-R_sp; % 5. Festigkeitsbed., LF 2, +alpha
% spannung2(3,1)-R_p_z; % 1. Festigkeitsbed., LF 2, -alpha
% -spannung2(3,1)+R_p_d; % 2. Festigkeitsbed., LF 2, -alpha
% spannung2(3,2)-R_s_z; % 3. Festigkeitsbed., LF 2, -alpha
% -spannung2(3,2)+R_s_d; % 4. Festigkeitsbed., LF 2, -alpha
% abs(spannung2(3,3))-R_sp; % 5. Festigkeitsbed., LF 2, -alpha
% spannung3(1,1)-R_p_z; % 1. Festigkeitsbed., LF 3, +alpha
% -spannung3(1,1)+R_p_d; % 2. Festigkeitsbed., LF 3, +alpha
% spannung3(1,2)-R_s_z; % 3. Festigkeitsbed., LF 3, +alpha
% -spannung3(1,2)+R_s_d; % 4. Festigkeitsbed., LF 3, +alpha
% abs(spannung3(1,3))-R_sp; % 5. Festigkeitsbed., LF 3, +alpha
% spannung3(3,1)-R_p_z; % 1. Festigkeitsbed., LF 3, -alpha
% -spannung3(3,1)+R_p_d; % 2. Festigkeitsbed., LF 3, -alpha
% spannung3(3,2)-R_s_z; % 3. Festigkeitsbed., LF 3, -alpha
% -spannung3(3,2)+R_s_d; % 4. Festigkeitsbed., LF 3, -alpha
% abs(spannung3(3,3))-R_sp]; % 5. Festigkeitsbed., LF 3, -alpha
end
function [Q_12] = Q_12_k(p)
% Lagensteifigkeitsmatrix im lokalen KOS
% (Skript Formel 5.44)
E_l= p.E_l; E_q = p.E_q; G_ql = p.G_ql; v_ql = p.v_ql; v_lq = p.v.lq;
Q_12 = [E_l/(1-v_ql*v_lq) v_lq*E_l/(1-v_ql*v_lq) 0;
v_ql*E_q/(1-v_ql*v_lq) E_q/(1-v_ql*v_lq) 0;
0 0 G_ql];
end
function [T_epsilon_xy_12] = Te_xy_12(alph)
% Transformationsmatrix für die Verzerrungen [xy- in lokales 12]
% (Skript Formel 5.13)
T_epsilon_xy_12 = [ cos(alph)^2 sin(alph)^2 0.5*sin(2*alph)
sin(alph)^2 cos(alph)^2 -0.5*sin(2*alph)
-sin(2*alph) sin(2*alph) cos(2*alph)];
end
function [T_sigma_12_xy] = Ts_12_xy(alph)
% Transformationsmatrix für Beanspruchung [lokales 12 in globales xy]
% (Skript Formel 5.8)
T_sigma_12_xy = [cos(alph)^2 sin(alph)^2 -sin(2*alph);
sin(alph)^2 cos(alph)^2 sin(2*alph);
0.5*sin(2*alph) -0.5*sin(2*alph) cos(2*alph)];
end
VG
Vroni
답변 (1개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!