| 查看: 548 | 回复: 0 | ||
[交流]
【求助】如何循环求解bessel方程
|
|
我用的是2010版的,想要循环求解bessel方程,代码如下: syms b n M=10; lamda1 = 1000; lamda2 = 1200; lamda = linspace(lamda1,lamda2,M)*1e-9; deltalamda=(lamda2-lamda1)/M*1e-9; tic for k = 1:M V(k)=2*pi/lamda(k)*a1*sqrt(n1^2-n2^2) eq(k)=V(k)*sqrt(1-b(k))*besselj(1,V(k)*sqrt(1-b(k)))/besselj(0,V(k)*sqrt(1-b(k)))-V(k)*sqrt(b(k))*besselk(1,V(k)*sqrt(b(k)))/besselk(0,V(k)*sqrt(b(k))) b(k)=double(solve(eq(k))) n(k)=(b(k)*n1^2 - b(k)*n2^2 + n2^2)^(1/2) end 但是算不出结果,提示说: ??? Error using ==> mupadmex Error in MuPAD command: Index exceeds matrix dimensions. Error in ==> sym.sym>sym.subsref at 1366 B = mupadmex('mllib::subsref',A.s,inds{:}); 求高手指点,谢谢 |










回复此楼