Reference to non-existent field 'v'.

2 vues (au cours des 30 derniers jours)
Schafsta
Schafsta le 9 Mar 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 commentaire
Rik
Rik le 9 Mar 2018
Have a read here and here. It will greatly improve your chances of getting an answer.

Connectez-vous pour commenter.

Réponses (1)

Adam
Adam le 9 Mar 2018
I assume you mean
p.v_lq
rather than
p.v.lq

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by