深海负梯度和负跃层 - 虚源法声场计算与波形预报仿真程序.pdf

深海负梯度和负跃层 - 虚源法声场计算与波形预报仿真程序.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序1: %%虚源法声场计算%% %对应水声学原理第四章4.5.3 节的部分内容 clear all close all clc c=1500; %声速 f=25; %声源频率 w=2*pi*f;%角频率 k=w/c; %波数 z0=100; %声源深度 H=200; %波导深度 L=10000; %水平最远距离 step=1000; %运算点数 step2=200; %运算点数 x=0:L/(step-1):L; z=0:H/(step2-1):H; m=200; %反射叠加次数 pp=zeros(step2,step);%初始化 for n=0:1:m zn1=(2*H*n+z0-z).*ones(1,step); % 四条本征声线对应虚源与接收点深度的差值 zn2=(2*H*(n+1)-z0-z).*ones(1,step); zn3=(2*H*n+z0+z).*ones(1,step); zn4=(2*H*(n+1)-z0+z).*ones(1,step); r1=sqrt((ones(step2,1)*x).^2+zn1.^2);%四条本征声线对应虚源与接收点之间的传播距离 r2=sqrt((ones(step2,1)*x).^2+zn2.^2); r3=sqrt((ones(step2,1)*x).^2+zn3.^2); r4=sqrt((ones(step2,1)*x).^2+zn4.^2); p=(-1)^n*exp(j*k*r1)./r1+exp(j*k*r2)./r2-exp(j*k*r3)./r3-exp(j*k*r4)./r4;%条本征声线对应 声场的叠加 pp=p+pp; %求和 end p0=2*pi*exp(j*k); %点源归一化条件 TL=-20*log10(abs((pp+10^-7)/p0)); %传播损失(避免奇异性加入一小量) pcolor(x,z,TL) %绘图 shading interp; colormap(default) cmap = colormap; colormap(flipud(cmap)); axis ij; jeta=jet(22); jetb=flipud(jeta); colormap(jetb) colorbar; title(声场传播损失情况) xlabel(Range/m) ylabel(depth/m) figure h=30;%设置深度 row=floor(h/(H/(step-1))); plot(x,TL(row,:))%绘制一定深度的传播损失曲线 title(传播损失曲线) xlabel(Range/m) ylabel(TL/dB) axis ij 程序2: %%虚源法声场声线绘制%% %对应水声学原理第四章4.5.3 节的部分内容 clear all close all clc %绘制声线 close all clear all clc syms x c=1500; %声速 f=25; %声源频率 w=2*pi*f;%角频率 k=w/c; %波数 z0=100; %声源深度 H=200; %波导深度 L=2000; %水平最远距离 step=1000; %运算点数 step2=200; %运算点数 x0=2000;%接收距离 z=50;%接收深度 r=0:2000; n=0; kn1=-(2*H*n+z0-z)/x0; %斜率 kn2=-(2*H*(n+1)-z0-z)/x0; kn3=(2*H*n+z0+z)/x0; kn4=-(2*H*(n+1)+z0-z)/x0; k5=(H+z+z0)/x0; r1=solve(kn2*(x-x0)+z-H);%求反射点位置 x11=0:r1; x12=r1:x0; r2=solve(kn3*(x-x0)+z); x21=0:r2; x22=r2:x0; r3=solve(kn4*(x-x0)+z-H); x31=r3:x0; r4=solve(-kn4*(x-r3)+H); x32=r4:r3; x33=0:r4; r5=solve(k5*(x-x0)+z); x41=r5:x0; r6=solve(-k5*(x-r5)-H); x42=r6:r5; x43=0:r6;

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档