matlab求含贝塞尔函数的超越方程,解一个含有贝塞尔函数的超越方程,求帮助。...

如题,根据图片中的公式求解β,我根据它们写了一个程序,可是老是无解,希望大神帮我看看问题出在哪里不胜感激。程序如下:

clear clc

syms Bta

a=3.04e-6,b=62.5e-6

n1=1.451,n2=1.444,n3=1.333

k0=2*pi/(400e-9),k1=2*pi/(1550e-9),k2=2*pi/(1551e-9)

v1=a*sqrt((Bta^2)-(n3^2)*(k0^2))

u=a*sqrt((n1^2)*(k0^2)-(Bta^2))

w=b*sqrt((Bta^2)-(n2^2)*(k0^2))

v=b*sqrt((Bta^2)-(n3^2)*(k0^2))

s=a/b

t=(besselj(0,u)/(u*besselj(1,u))-besselk(0,(w*s))/((w*s)*besselk(1,(w*s))))

t1=(besselk(0,v)/(v*besselk(1,v))+besseli(0,w)/(w*besseli(1,w)))

t2=(besselj(0,u)/(u*besselj(1,u))+besseli(0,(w*s))/(w*s*besseli(1,(w*s))))

t3=(besselk(0,v)/(v*besselk(1,v))-besselk(0,w)/(w*(besselk(1,w))))

t4=(besselk(1,w)*besseli(1,(w*s))/(besselk(1,(w*s))*besseli(1,w)))

dj=diff(besselj(1,u),Bta)

dk=diff(besselk(1,v1),Bta)

t5=(dj/(u*besselj(1,u))+dk/(v1*(besselk(1,v1))))

t6=((k1^2)*(dj/(u*besselk(1,v1)))+(k2^2)*(dk/(v1*besselk(1,v1))))

t7=(Bta^2)*((1/(u^2)+1/(v1^2))^2)

Bta=solve('(t*t1)/(t2*t3)=t4','t5*t6=t7')

11.PNG

(66.87 KB, 下载次数: 0)

2018-4-30 14:58 上传

b4d287d1aacbf0cf95a77c41289acfe6.gif

c5006d1a5b4047f80d42a7082635a87b.gif

7d227a27329cce57ba7448c0bd0b2ff3.png

12.PNG

(118.82 KB, 下载次数: 0)

2018-4-30 14:58 上传

b4d287d1aacbf0cf95a77c41289acfe6.gif

c5006d1a5b4047f80d42a7082635a87b.gif

22e8b3eec8dff5e4fd0cbd8adcc02dfc.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值