1、海洋一维数值模型经典案例海洋一维数值模型经典案例 作者: 日期: 1.比较两个不同的差分格式的计算结果的差异及其与理论解的差异;c=1;delt=0.5;delx=1蛙跳 迎风c=3;delt=0.25;delx=1蛙跳 迎风c=3;delt=0.5;delx=1蛙跳 迎风c=-1;delt=0.25;delx=1蛙跳 迎风对于蛙跳格式的稳定性条件是 ,因此124项是收敛的,而第三项是发散的。然而迎风格式的稳定条件是如果 |A| 1, 这个方法是衰减。因此, 如果我们采用迎风格式 (空间后差,时间前差), 这个方法是有条件稳定。迎风格式的条件且需要大于0,因此,12项收敛,34项发散。蛙跳:c
2、lear;clc;close all;x=-50:1:50;ll=length(x);% c=1;delt=0.5; c=1;delt=0.25;% c=3;delt=0.5;% c=-1;delt=0.25;delx=1;tt=0:delt:10;ttl=length(tt);f=zeros(ll,ttl); y1=0*x; y1(-2=x & x=2)=1; f(:,1)=y1; for k=2:ll-1% f(k,2)=f(k,1); f(k,2)=f(k,1); end for t=3:ttl for k=2:ll-1 f(k,t)=f(k,t-2)-(c*delt)/delx)*(f
3、(k+1,t-1)-f(k-1,t-1); end end plot(x,f)迎风:clear;clc;close all;x=-50:1:50;ll=length(x);% c=1;delt=0.5; c=1;delt=0.25;% c=3;delt=0.5;% c=-1;delt=0.25;delx=1;tt=0:delt:10;ttl=length(tt);f=zeros(ll,ttl); y1=0*x; y1(-2=x & x=2)=1; f(:,1)=y1; for k=2:ll-1% f(k,2)=f(k,1); f(k,2)=f(k,1); end for t=3:ttl for k=2:ll-1 f(k,t)=f(k,t-2)-(c*delt)/delx)*(f(k+1,t-1)-f(k-1,t-1); end end plot(x,f)(2)2.分析和讨论这种差异的原因。蛙跳格式的稳定条件是|1,迎风格式的稳定条件是01。故蛙跳格式的稳定性更好。蛙跳格式采用三层格式差分,而迎风格式则采用两层格式差分,故采用蛙跳格式衰减慢,而数据量大;采用迎风格式衰减快,而数据量小。采用蛙跳格式,会出现噪声;采用迎风格式,无噪声。方程结果的敛散性仅与的取值相关,而衰减速率与x、t的取值相关。