Matlab带显示问题

时间:2018-04-17 06:36:55

标签: matlab

我有一个问题,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);

1 个答案:

答案 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);

现在该程序正在运行。