Reference to non-existent field 'v'.

2 visualizaciones (últimos 30 días)
Schafsta
Schafsta el 9 de Mzo. de 2018
Editada: Walter Roberson el 9 de Mzo. de 2018
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 comentario
Rik
Rik el 9 de Mzo. de 2018
Have a read here and here. It will greatly improve your chances of getting an answer.

Iniciar sesión para comentar.

Respuestas (1)

Adam
Adam el 9 de Mzo. de 2018
I assume you mean
p.v_lq
rather than
p.v.lq

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by