matlab程序,报错说z必须为矩阵,不能是向量或者标量。程序如下?
clear;clc;[x,t]=meshgrid(-5:0.1:5,-5:0.1:5);v1=sqrt(3);u1=1;u2=2;v2=sqrt(2);a1=u1+1i*...
clear;
clc;
[x,t] = meshgrid(-5:0.1:5,-5:0.1:5);
v1=sqrt(3);
u1=1;
u2=2;
v2=sqrt(2);
a1=u1+1i*v1;
A1=u1-1i*v1;
a2=u2+1i*v2;
A2=u2-1i*v2;
grid off
b=x+2*a1*t;
B=x+2*A1*t;
c=x+2*a2*t;
C=x*2*A2*t;
d1=-1i*a1*b;
d2=1i*a1*b;
d3=-1i*A1*B;
d4=1i*A1*B;
d5=-1i*a2*c;
d6=1i*a2*c;
d7=-1i*A2*C;
d8=1i*A2*C;
a11=exp(d1);
a12=exp(d2);
a13=a1*a11;
a14=a1*a1*a11;
a15=a1*a12;
a21=-1*exp(d3);
a22=exp(d4);
a23=A1*a21;
a24=A1*A1*a21;
a25=A1*a22;
a31=exp(d5);
a32=exp(d6);
a33=a2*a31;
a34=a2*a2*a31;
a35=a2*a32;
a41=-1*exp(d7);
a42=exp(d8);
a43=A2*a41;
a44=A2*A2*a41;
a45=A2*a42;
M=[a11 a12 a13 a14;a21 a22 a23 a24;a31 a32 a33 a34;a41 a42 a43 a44];
N=[a11 a12 a13 a15;a21 a22 a23 a25;a31 a32 a33 a35;a41 a42 a43 a45];
D=det(M);
F=det(N);
q1=-2i*(D/F);
z=abs(q1);
figure
h=mesh(x,t,z);
axis([-5,5,-5,0,0,5])
view(15,20) 展开
clc;
[x,t] = meshgrid(-5:0.1:5,-5:0.1:5);
v1=sqrt(3);
u1=1;
u2=2;
v2=sqrt(2);
a1=u1+1i*v1;
A1=u1-1i*v1;
a2=u2+1i*v2;
A2=u2-1i*v2;
grid off
b=x+2*a1*t;
B=x+2*A1*t;
c=x+2*a2*t;
C=x*2*A2*t;
d1=-1i*a1*b;
d2=1i*a1*b;
d3=-1i*A1*B;
d4=1i*A1*B;
d5=-1i*a2*c;
d6=1i*a2*c;
d7=-1i*A2*C;
d8=1i*A2*C;
a11=exp(d1);
a12=exp(d2);
a13=a1*a11;
a14=a1*a1*a11;
a15=a1*a12;
a21=-1*exp(d3);
a22=exp(d4);
a23=A1*a21;
a24=A1*A1*a21;
a25=A1*a22;
a31=exp(d5);
a32=exp(d6);
a33=a2*a31;
a34=a2*a2*a31;
a35=a2*a32;
a41=-1*exp(d7);
a42=exp(d8);
a43=A2*a41;
a44=A2*A2*a41;
a45=A2*a42;
M=[a11 a12 a13 a14;a21 a22 a23 a24;a31 a32 a33 a34;a41 a42 a43 a44];
N=[a11 a12 a13 a15;a21 a22 a23 a25;a31 a32 a33 a35;a41 a42 a43 a45];
D=det(M);
F=det(N);
q1=-2i*(D/F);
z=abs(q1);
figure
h=mesh(x,t,z);
axis([-5,5,-5,0,0,5])
view(15,20) 展开
1个回答
展开全部
因为这个matlab程序调用了mesh函数,它需要3个参数都是size一样的矩阵,哪怕矩阵里的内容都是常数,因为前两个参数提供了一个面的东西方向坐标和南北坐标,还差第三个坐标提供垂直方向坐标。
这个代码是写电工学的还是复变函数的,这个代码风格我觉得十分……眼熟...故我修改查找错误,首先
错误在代码的第49-52行det函数求的是矩阵的行列式值,结果是个1x1的常数,而非矩阵;而abs是求复数a+bi的模a²+b²的,以及实数的绝对值;故D,F,q1都不是矩阵,因而后面的mesh函数自然也是要跑不了的。
如果只是要修改以运行,可以这么改,即在把mesh语句改成h=mesh(x,t,z+zeros(size(x)))即可(但是这个图肯定不符合要求,具体怎么改还要等我恶补一下电工学)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询