声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2380|回复: 3

[声学基础] Munk声速剖面 声线绘制(matlab)

[复制链接]
发表于 2010-1-11 11:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
matlab代码
send = 100000;  
ntheta   = 57;  
theta = pi / 180 * linspace( -14.0, 14.0, ntheta );
zs = 1000.0;  
c0 = 1501.4;  
hold on;
for ith = 1:ntheta
   x0 = [ 0.0   zs   cos( theta( ith ) ) / c0   sin( theta( ith ) ) / c0 ];
   [ s, x ] = ode45( 'rayf', 0.0, send, x0 );
   plot( x( : , 1 ), x( : , 2 ),'r' );
   hold on;
end
hold off;
xlabel( 'Range (m)' )
ylabel( 'Depth (m)' )
view( 0, -90 );

function xdot = f( s, x )
eps = 0.00737;
c0  = 1500;
z   = x( 2 );
xt  = 2 * ( z - 1300 ) / 1300;  
c   = c0 * ( 1 + eps * ( xt - 1 + exp( -xt ) ) );
c2  = c^2;
dxtdz = 2 / 1300;
cz= c0 * eps * dxtdz * ( 1 - exp( -xt ) );
cr = 0;
xdot = zeros( 4, 1 );
xdot( 1 ) = c * x( 3 );
xdot( 2 ) = c * x( 4 );
xdot( 3 ) = -cr / c2;
xdot( 4 ) = -cz / c2;
上大学的时候“水声学原理”上有类似的图,现把程序写上,与大家分享。
ray.png

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2010-10-1 00:02 | 显示全部楼层
参考一下,最近在研究这个。。。
发表于 2012-5-4 09:45 | 显示全部楼层
这个程序不太明白啊,有没有详细点的解释?用的解的方程是哪个?
发表于 2014-5-23 20:09 | 显示全部楼层
#在这里快速回复#看不懂,可以解析一下么?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-31 06:07 , Processed in 0.087495 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表