matlab中Inner matrix dimensions must agree,
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/02 18:14:24
matlab中Inner matrix dimensions must agree,
我写的程序如下:
w=[10^(-3):1000000];
R1=50;
R2=150;
Q=0.00001;
n=0.8;
r=50;
R0=150;
u=Q*w.^n*cos(3.14*n/2);
v=Q*w.^n*sin(3.14*n/2);
K=-R0*sqrt(2*w)/r; %K是一个矩阵
e=2.718;
a=0.5*sqrt(2)*r*(e.^(2*K)*sin(K)-1);
b=0.5*sqrt(2)*(2*e.^(2*K)*sin(K)-e.^(2*K)+1);
d=sqrt(w)*(e.^(2*K)+2*e.^(2*K)*cos(K)+1);
f=d*R1-a;
Z1=R1+[f*(u*f+b*v+d)-b*(v*f-u*b)]/[(u*f+b*v+d).^2+(v*f-u*b).^2];
Z2=[-b*(u*f+b*v+d)+f*(v*f-u*b)]/[(u*f+b*v+d).^2+(v*f-u*b).^2];
plot(Z1,-Z2)
调试的时候报错:
Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> Untitled4 at 12
a=0.5*sqrt(2)*r*(e.^(2*K)*sin(K)-1);
该怎样改啊?
我写的程序如下:
w=[10^(-3):1000000];
R1=50;
R2=150;
Q=0.00001;
n=0.8;
r=50;
R0=150;
u=Q*w.^n*cos(3.14*n/2);
v=Q*w.^n*sin(3.14*n/2);
K=-R0*sqrt(2*w)/r; %K是一个矩阵
e=2.718;
a=0.5*sqrt(2)*r*(e.^(2*K)*sin(K)-1);
b=0.5*sqrt(2)*(2*e.^(2*K)*sin(K)-e.^(2*K)+1);
d=sqrt(w)*(e.^(2*K)+2*e.^(2*K)*cos(K)+1);
f=d*R1-a;
Z1=R1+[f*(u*f+b*v+d)-b*(v*f-u*b)]/[(u*f+b*v+d).^2+(v*f-u*b).^2];
Z2=[-b*(u*f+b*v+d)+f*(v*f-u*b)]/[(u*f+b*v+d).^2+(v*f-u*b).^2];
plot(Z1,-Z2)
调试的时候报错:
Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> Untitled4 at 12
a=0.5*sqrt(2)*r*(e.^(2*K)*sin(K)-1);
该怎样改啊?
回答问题以前,先举一个例子:如果a=[1 2 3 4]; b=[2 2 2 2]; 则a*b'=10,a*b出错,a.*b=[2 4 6 8].
如果你想计算数组的对应元素于另一个数组的对应元素的乘积,你需要用 .*,而不是 *.
试一下修改以后的程序.
w=[10^(-3):1000000];
R1=50;
R2=150;
Q=0.00001;
n=0.8;
r=50;
R0=150;
u=Q*w.^n*cos(3.14*n/2);
v=Q*w.^n*sin(3.14*n/2);
K=-R0*sqrt(2*w)/r; %K是一个矩阵
e=2.718;
a=0.5*sqrt(2)*r*(e.^(2*K).*sin(K)-1);
b=0.5*sqrt(2)*(2*e.^(2*K).*sin(K)-e.^(2*K)+1);
d=sqrt(w).*(e.^(2*K)+2*e.^(2*K).*cos(K)+1);
f=d*R1-a;
Z1=R1+[f.*(u.*f+b.*v+d)-b.*(v.*f-u.*b)]./[(u.*f+b.*v+d).^2+(v.*f-u.*b).^2];
Z2=[-b.*(u.*f+b.*v+d)+f.*(v.*f-u.*b)]./[(u.*f+b.*v+d).^2+(v.*f-u.*b).^2];
plot(Z1,-Z2)
另外,建议将第一句改为 w=10.^[-3:0.01:6];
这样可以用较短的数组得到更好的结果.
如果你想计算数组的对应元素于另一个数组的对应元素的乘积,你需要用 .*,而不是 *.
试一下修改以后的程序.
w=[10^(-3):1000000];
R1=50;
R2=150;
Q=0.00001;
n=0.8;
r=50;
R0=150;
u=Q*w.^n*cos(3.14*n/2);
v=Q*w.^n*sin(3.14*n/2);
K=-R0*sqrt(2*w)/r; %K是一个矩阵
e=2.718;
a=0.5*sqrt(2)*r*(e.^(2*K).*sin(K)-1);
b=0.5*sqrt(2)*(2*e.^(2*K).*sin(K)-e.^(2*K)+1);
d=sqrt(w).*(e.^(2*K)+2*e.^(2*K).*cos(K)+1);
f=d*R1-a;
Z1=R1+[f.*(u.*f+b.*v+d)-b.*(v.*f-u.*b)]./[(u.*f+b.*v+d).^2+(v.*f-u.*b).^2];
Z2=[-b.*(u.*f+b.*v+d)+f.*(v.*f-u.*b)]./[(u.*f+b.*v+d).^2+(v.*f-u.*b).^2];
plot(Z1,-Z2)
另外,建议将第一句改为 w=10.^[-3:0.01:6];
这样可以用较短的数组得到更好的结果.
Matlab中Inner matrix dimensions must agree.
matlab中Inner matrix dimensions must agree,
matlab出错 “Inner matrix dimensions must agree.”
MATLAB :(Inner)Matrix dimensions must agree.
Matlab中Inner matrix dimensions must agree是怎么回事?
Inner matrix dimensions must agree
Inner matrix dimensions must agree.
Matlab出现Inner matrix dimensions must agree问题
求助 matlab 高手 Inner matrix dimensions must agree
matlab,Inner matrix dimensions must agree.哪里出错了
Matlab中出现Error using ==> *Inner matrix dimensions must agree
matlab“Inner matrix dimensions must agree.”这个错误怎么改啊