完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
f=125;
c0=344; r0=0.2; pa=2; k=2*pi*f./c0; p0=0.00002; m=1; for r=eps:0.01:0.5 n=1; for theta=eps:0.01:pi pp=0; ps=0; for l=1:100 % l取0到100 Pl=legendre(l,cos(theta)); %勒让德函数 y1=sqrt(pi./2./(k.*r+eps)).*besselj(l+0.5,(k.*r+eps));%第l阶球贝塞尔函数 pp(n,m)=pp+pa.*(2*l+1).*(-1i).^l.*y1.*Pl; %计算入射声压 y2=sqrt(pi./2./(k*r+eps)).*besselj(l+0.5,k*r+eps)-1i.*sqrt(pi./2./(k*r+eps)).*bessely(l+0.5,(k.*r+eps));%第二类球汉克尔函数 dy1dx=diff(y1); dy2dx=diff(y2); Bl=(-pa).*(-1i).^(l+1).*(2*l+1)./(1i).*subs(dy1dx,'r','r0')./subs(dy2dx,'r','r0'); %求Bl,即分别对第l阶球贝塞尔函数和第二类球汉克尔函数进行求导后做商 ps(n,m)=y2.*Bl.*Pl;%计算散射声压 end p(n,m)=pp+ps;%计算总声压 n=n+1; end m=m+1; end SPL=20*log10(abs(p)/p0); imagesc(x,y,SPL); colorbar title('头散射后的平面波') xlabel('theta') ylabel('r(m)') |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1577 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
1859 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2676 浏览 0 评论
3016 浏览 0 评论
4095 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 23:50 , Processed in 0.438846 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号