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
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 02:49:20
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
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);
该怎样改啊?
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
回答问题以前,先举一个例子:如果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];
这样可以用较短的数组得到更好的结果.