声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2207|回复: 1

[计算力学] 求助:有限差分模拟问题

[复制链接]
发表于 2006-7-12 06:34 | 显示全部楼层 |阅读模式

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

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

x
用matlab软件编的有限差分模拟驻波,结果随着时间的增加,驻波波腹值越来越大?
代码如下,请高手指点,谢谢!

function FDTD_standingwave
L=2;density=1.21;speed=300;%频率300Hz、波长1米,计算两个波长
dh=0.05;%选取位置步长为0.02m
dt=0.00005;%the timestep , considering the Courant stability c*dt/dh<=1/2
nx=length(0:0.05)-1;%nx and ny are the total steps of length and width
ux(1:nx+1)=0;%设定u和p相差半个时间步长,即此时刻设定的u是u(t= -0.5)的值,而p设定的是p(t=0)时刻的值

p(1:nx)=0;


for  t=1:400;
        p(1)=p(1)+100*cos(2*pi*300*(t-1)*dt);%声源大小为:100*cos(2*pi*300*(t-1)*dt)简谐振动,位置在左边界点,即p(1)
        for ii=1:nx;

               if ii==nx;
                ux(ii+1)=0;%左边界固定为0
               else                  
                ux(ii+1)=ux(ii+1)-dt/(density*dh)*(p(ii+1)-p(ii));
               end                       

            p(ii)=p(ii)-(density*(speed^2)*dt/dh)*((ux(ii+1)-ux(ii)));
            
        
     end
end

plot(p) %显示两个波长的声压大小
回复
分享到:

使用道具 举报

发表于 2006-11-30 16:17 | 显示全部楼层

怎么没有人指点一下..

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-11 13:38 , Processed in 0.098740 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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