当前位置:编程学习 > Matlab >>

关于我制作的matlab程序有误

a=8.335;lambda=0.6328;nc=1.462420;ng=1.457420; v=(2*pi*a/lambda)*sqrt(nc^2-ng^2);k=2*pi/lambda; umax=v;umin=0;wmax=v;wmin=0; syms p;p=[0:0.1:v]; u=a*(k^2*ng^2-p^2)^0.5; w=a*(p^2-k^2*nc^2)^0.5; J=u*besselj(1,u)/besselj(0,u); w=sqrt(v^2-u*u); K=w*besselk(1,w)/besselk(0,w); z=J-K; plot(p,z); 实现不了不知道哪里有错,请教大神
补充:??? Error using ==> mpower
Inputs must be a scalar and a square matrix.
追问:
        	
				
不行吖,还有错误Error using ==> mtimes
Inner matrix dimensions must agree.
答案:错误的原因是矩阵的乘法和除法,矩阵的乘法和除法应该用点乘和点除,不能用平时的乘和除。
a=8.335;lambda=0.6328;nc=1.462420;ng=1.457420;
v=(2*pi*a/lambda)*sqrt(nc^2-ng^2);k=2*pi/lambda;
umax=v;umin=0;wmax=v;wmin=0; syms p;p=[0:0.1:v];
u=a.*(k^2*ng^2-p.^2).^0.5;
w=a.*(p.^2-k^2*nc^2).^0.5;
J=u.*besselj(1,u)/besselj(0,u);
w=sqrt(v^2-u.*u);
K=w*besselk(1,w)./besselk(0,w);
z=J-K;
plot(p,z);
其他:楼主应该把错误也粘出来。 


你又出现的错误是矩阵维数不同,你把错误的那行的代码里的矩阵分别写出来在matlab运行看看是什么情况,改成维数相同就好了 

上一个:求一种常用的dct数字图像水印嵌入matlab的源程序并计算psnr等指标的程序。邮箱799386294@qq.com
下一个:多维变量的归一化处理matlab程序,在线等,有加分!!!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,