我有一个问题,matlab不希望我显示这个脚本的结果说我在dispie中有一个语法错误但是如何正确保存,因为我尝试了不同的方式,因为它现在已经保存了在任务的公式中。
clear; clc;
a=1; EA=2*10^5; EI=2*10^6; M=30;
A=[EA/a 0 0;
0 12*EI/a^3 -6*EI/a^2;
0 -6*EI/a^2 4*ei/3*a;]
P=[0;0;M];
U=A\P;
x=0:a/10:a;
u4=U(1);u5=U(2);u6=U(3)
uh=u4*x;
uv= u5*((3*x^2)/a^2 - (2*x^3)/a^3 + u6 - ((-(x)^2/a)+(x^3)/a^2)
disp([x',uh',uv']);
plot(x+uh,uv);
当我尝试这样做时,同样的错误
clear; clc;
a=1; EA=2*10^5; EI=2*10^6; M=30;
A=[EA/a 0 0;
0 12*EI/a.^3 -6*EI/a.^2;
0 -6*EI/a.^2 4*EI/3*a;]
P=[0;0;M];
U=A\P;
x=0:a/10:a;
u4=U(1);u5=U(2);u6=U(3);
uh=u4*x;
uv= u5*((3*x^2)/a.^2 - (2*x^3)/a.^3 + u6 - ((-(x)^2/a)+(x^3)/a.^2);
disp([x',uh',uv']);
plot(x+uh,uv);
答案 0 :(得分:0)
我在Octave中运行了您的程序,并在第11行中收到错误消息:
uv= u5*((3*x^2)/a.^2 - (2*x^3)/a.^3 + u6 - ((-(x)^2/a)+(x^3)/a.^2);
错误消息指的是缺少的括号。添加支架后, 我收到了一条新的错误消息:
error: for A^b, A must be a square matrix. Use .^ for elementwise power.
在我看来,你想要的不是x的矩阵幂,而是逐点的 权力。删除大量虚假括号并更换矩阵后 使用逐点幂,我得到了
uv= u5*( 3*x.^2/a.^2 - 2*x.^3/a.^3 + u6 + x.^2/a - x.^3/a.^2);
现在该程序正在运行。