matlab程序出错求问大神修改!高分! 100

是有关贝塞尔函数的,程序如下:>length=6328e-8;R=3e-3;gama=175e-4;n=1.5;>>z=0.2;k=1.38e+12;>>range=4.... 是有关贝塞尔函数的,程序如下:
> length=6328e-8 ;R=3e-3; gama=175e-4; n=1.5;
>> z=0.2;k=1.38e+12;
>> range=4.0; np=800;
yp=linspace(-range,range,np); xp=yp/2;
ns=500; ys=linspace(-R,R,ns);
>> for i=1:1:np
syms ys yp ;J=besselj(0,k.*ys.*yp(i)./z).*ys;
M=exp(i*k.*ys./(2*z)-i*k*(n-1)*gama*ys);
L=int(J.*M.*ys,0,R);
E=-i*k./z.*exp(i*k*z).*exp(i*k.*yp(i).^2./(2*z)).*L;
I=E.^2;
end

Warning: Explicit integral could not be found.
??? Error using ==> mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.

Error in ==> sym.sym>sym.subsref at 1381
B = mupadmex('symobj::subsref',A.s,inds{:});

想问里面 ys.*yp(i),为什么不可以当成元素相乘,而是矩阵相乘,
重点是看不懂后面的错误,应该怎么改!
展开
 我来答
sxyuggestion
2015-04-22 · 超过39用户采纳过TA的回答
知道答主
回答量:204
采纳率:0%
帮助的人:48.7万
展开全部
1.去掉plot(x0,y0,x0,y1,)后面的逗号,看看是否能运行; 2.若是不能运行,应该是函数的问题。好像matlab中没有自带的lagrange函数,在你使用lagrange函数时候,注意查看一下自己的matlab中是否有这个函数,若是没有可...
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式