帮助if语句

3视图(30天)
罗伯特字段
罗伯特字段 2023年4月2日
评论道: 罗伯特字段2023年4月2日
你好我得到错误的变量定义如果循环任何帮助就太好了。
错误是阻止它不QbarA变量定义
关闭所有、清晰所有,clc
E1 = 40;
E2 = 1.8;
V12 = 0.25;
V21 = 0.01125;
G12 = 0.7;
t = 0.005;
z0 = - t * 2;
z1 = - t;
z2 = 0;
z3 = t;
z4 = t * 2;
θ= [0,90,-30];
Q11 = E1 / (1-V12 * V21);
12 = (V21 * E2) / (1-V12 * V21);
如= E2 / (1-V12 * V21);
Q66 = G12;
i = 1:4
m = cosd(θ(i));
n =信德(θ(i));
结束
Qbar11 = Q11。* m ^ 4 + 2。* (12 + 2 * Q66)。* m ^ 2。* n ^ 2 +的时候* n ^ 4;
Qbar12 = (Q11 + Q22-4 * Q66) * m ^ 2 * n ^ 2 + 12 * (m ^ 4 + n ^ 4);
Qbar16 = (Q11-Q12-2 * Q66) * * n + m ^ 3 (Q12-Q22 + 2 * Q66) * m * n ^ 3;
Qbar22 = Q11。* n ^ 4 + 2。* (12 + 2 * Q66)。* m ^ 2。* n ^ 2 +的时候* m ^ 4;
Qbar26 = (Q11-Q12-2 * Q66) * m * n ^ 3 + (Q12-Q22 + 2 * Q66) * m ^ 3 * n;
Qbar66 = (Q11 + Q22-2 * Q12-2 * Q66) * m ^ 2 * n ^ 2 + Q66 * (m ^ 4 + n ^ 4);
一个= [Qbar11 Qbar12 Qbar16
Qbar12 Qbar22 Qbar26
Qbar16 Qbar26 Qbar66]
如果我= = 1
QbarA =一个;
结束
如果我= = 2
QbarB =一个;
结束
如果我= = 3
QbarC =一个;
结束
如果我= = 4
QbarD =一个;
结束
一个= t + QbarB QbarA * * t + t + QbarD QbarC * * t
B = 1/2 * (QbarA * (z1 ^ 2-z0 ^ 2) + QbarB * (z2 ^ 2-z1 ^ 2) + QbarC * (z3 ^ 2-z2 ^ 2) + QbarD * (z4 ^ 2-z3 ^ 2))
D = 1/3 * (QbarA * (z1 ^ 3-z0 ^ 3) + QbarB * (z2 ^ 3-z1 ^ 3) + QbarC * (z3 ^ 3-z2 ^ 3) + QbarD * (z4 ^ 3-z3 ^ 3))
Nx = 1200 * 4 * t;
纽约= -600 * 4 * t;
Nxy = 600 * 4 * t;
我= 36/12;
Mx = -18/18;
Mxy = 0;
N = [Nx;纽约;Nxy]
M = (Mx;我;Mxy)
输出= (A, B, B, D) ^ 1 * (N, M)

接受的答案

亚当·德雷克
亚当·德雷克 2023年4月2日
编辑:亚当·德雷克 2023年4月2日
“我”总是等于4因为for循环没有条件,将阻止它。因为“我”永远是4月底循环,QbarA, QbarB, QbarC永远不会设置,因此,当你得到“A”的行被设置,你会得到一个错误。
下面的代码可能是更接近你想要的,但你的输出函数将返回一个数组失配误差,因为,B和D是3 x3数组,N和M是1 x3数组。需要背景对你的算法进一步帮助。
clc,关闭所有、清晰变量
E1 = 40;
E2 = 1.8;
V12 = 0.25;
V21 = 0.01125;
G12 = 0.7;
t = 0.005;
z0 = - t * 2;
z1 = - t;
z2 = 0;
z3 = t;
z4 = t * 2;
θ= [0,90,-30];
Q11 = E1 / (1-V12 * V21);
12 = (V21 * E2) / (1-V12 * V21);
如= E2 / (1-V12 * V21);
Q66 = G12;
Nx = 1200 * 4 * t;
纽约= -600 * 4 * t;
Nxy = 600 * 4 * t;
我= 36/12;
Mx = -18/18;
Mxy = 0;
N = [Nx;纽约;Nxy);
M = [Mx;我;Mxy];
i = 1:4
m = cosd(θ(i));
n =信德(θ(i));
Qbar11 = Q11。* m ^ 4 + 2。* (12 + 2 * Q66)。* m ^ 2。* n ^ 2 +的时候* n ^ 4;
Qbar12 = (Q11 + Q22-4 * Q66) * m ^ 2 * n ^ 2 + 12 * (m ^ 4 + n ^ 4);
Qbar16 = (Q11-Q12-2 * Q66) * * n + m ^ 3 (Q12-Q22 + 2 * Q66) * m * n ^ 3;
Qbar22 = Q11。* n ^ 4 + 2。* (12 + 2 * Q66)。* m ^ 2。* n ^ 2 +的时候* m ^ 4;
Qbar26 = (Q11-Q12-2 * Q66) * m * n ^ 3 + (Q12-Q22 + 2 * Q66) * m ^ 3 * n;
Qbar66 = (Q11 + Q22-2 * Q12-2 * Q66) * m ^ 2 * n ^ 2 + Q66 * (m ^ 4 + n ^ 4);
一个= [Qbar11 Qbar12 Qbar16
Qbar12 Qbar22 Qbar26
Qbar16 Qbar26 Qbar66];
=一个* t +一个* t t +一个+一个* *;
B = 1/2 *(一个* (z1 ^ 2-z0 ^ 2) +一个* (z2 ^ 2-z1 ^ 2) +一个* (z3 ^ 2-z2 ^ 2) +一个* (z4 ^ 2-z3 ^ 2));
D = 1/3 *(一个* (z1 ^ 3-z0 ^ 3) +一个* (z2 ^ 3-z1 ^ 3) +一个* (z3 ^ 3-z2 ^ 3) +一个* (z4 ^ 3-z3 ^ 3));
输出= (A, B, B, D) ^ 1。* [N M]
结束
2的评论
罗伯特字段
罗伯特字段 2023年4月2日
你让我在正确的方向上改变了for循环包含一切谢谢你我的新代码是这样的,是我希望如何做。
关闭所有、清晰所有,clc
E1 = 40 * 10 ^ 6;% Msi
E2 = 1.8 * 10 ^ 6;% Msi
V12 = 0.25;
V21 = E2 / E1 * V12;
G12 = 0.7 * 10 ^ 6;% Msi
t = 0.005;% /厚度
Xt = 230;% ksi
Xc = -180;% ksi
欧美= 7;% ksi
Yc = -325;% ksi
S = 10;% ksi
z0 = - t * 2;
z1 = - t;
z2 = 0;
z3 = t;
z4 = t * 2;
%进行计算后发现建立
%确定它将建立3。
θ= [0,90,-30];
Q11 = E1 / (1-V12 * V21);
12 = (V21 * E2) / (1-V12 * V21);
如= E2 / (1-V12 * V21);
Q66 = G12;
i = 1:4
m = cosd(θ(i));
n =信德(θ(i));
Qbar11 = Q11。* m ^ 4 + 2。* (12 + 2 * Q66)。* m ^ 2。* n ^ 2 +的时候* n ^ 4;
Qbar12 = (Q11 + Q22-4 * Q66) * m ^ 2 * n ^ 2 + 12 * (m ^ 4 + n ^ 4);
Qbar16 = (Q11-Q12-2 * Q66) * * n + m ^ 3 (Q12-Q22 + 2 * Q66) * m * n ^ 3;
Qbar22 = Q11。* n ^ 4 + 2。* (12 + 2 * Q66)。* m ^ 2。* n ^ 2 +的时候* m ^ 4;
Qbar26 = (Q11-Q12-2 * Q66) * m * n ^ 3 + (Q12-Q22 + 2 * Q66) * m ^ 3 * n;
Qbar66 = (Q11 + Q22-2 * Q12-2 * Q66) * m ^ 2 * n ^ 2 + Q66 * (m ^ 4 + n ^ 4);
一个= [Qbar11 Qbar12 Qbar16
Qbar12 Qbar22 Qbar26
Qbar16 Qbar26 Qbar66]
%显示在这个顺序Qbar0、Qbar15 Qbar90 Qbar-30
如果我= = 1
QbarA =一个;
elseif我= = 2
QbarB =一个;
elseif我= = 3
QbarC =一个;
elseif我= = 4
QbarD =一个;
结束
结束
%问题1
一个= t + QbarB QbarA * * t + t + QbarD QbarC * * t磅/百分比
B = 1/2 * (QbarA * (z1 ^ 2-z0 ^ 2) + QbarB * (z2 ^ 2-z1 ^ 2) + QbarC * (z3 ^ 2-z2 ^ 2) + QbarD * (z4 ^ 2-z3 ^ 2))%磅
D = 1/3 * (QbarA * (z1 ^ 3-z0 ^ 3) + QbarB * (z2 ^ 3-z1 ^ 3) + QbarC * (z3 ^ 3-z2 ^ 3) + QbarD * (z4 ^ 3-z3 ^ 3))% lbin
%的问题2
Nx = 1200 * 4 * t;
纽约= -600 * 4 * t;
Nxy = 600 * 4 * t;
我= 36/12;
Mx = -18/18;
Mxy = 0;
N = [Nx;纽约;Nxy]磅/百分比
M = (Mx;我;Mxy)% lbin /
输出= (A, B, B, D) ^ 1 * [N; M]

登录置评。

更多的答案(0)

类别

找到更多的在创建和连接矩阵帮助中心文件交换

标签

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!