偏微分方程数值和matlab实验报告(8)

偏微分方程数值和matlab实验报告(8)

ID:26162510

大小:788.50 KB

页数:8页

时间:2018-11-25

偏微分方程数值和matlab实验报告(8)_第1页
偏微分方程数值和matlab实验报告(8)_第2页
偏微分方程数值和matlab实验报告(8)_第3页
偏微分方程数值和matlab实验报告(8)_第4页
偏微分方程数值和matlab实验报告(8)_第5页
资源描述:

《偏微分方程数值和matlab实验报告(8)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WORD格式.可编辑专业知识.整理分享WORD格式.可编辑实验题目:用Lax-Wendroff格式求解方程:(1)(精确解)数值边值条件分别为:(a)(b)(c)请将计算结果与精确解进行比较。实现算法:1.网格剖分:对求解区域作均匀网格剖分.节点:其中空间和时间步长:2.算法实现将在节点处作泰勒级数展开(2)考虑在节点处(1)的微分方程,有:将上述两式代入(2)式,得对的一阶、二阶导数用中心差商代替专业知识.整理分享WORD格式.可编辑代入整理后得到略去误差项,以代替,得到如下差分格式(3)(3)式就是Lax-Wendroff格式,其截断误差为,节

2、点如图令,就得到(1)式的Lax-Wendroff格式的公式(4)(4)式是二阶精度的差分格式.程序代码:function[X,T,U]=advection_fd1d(NS,NT,pde,bd)%WAVE_EQUATION_FD1D利用有限差分方法计算一维双曲线方程专业知识.整理分享WORD格式.可编辑%输入参数:%NS整型,空间剖分段数%NT整型,时间剖分段数%pde结构体,带求解的微分方程模型的已知数据,%如边界、初始、系数和右端项等条件.%bd数值边值条件%输出参数:%X长度NS+1的列向量,空间网格剖分%T长度NT+1的行向量,时间网格剖分

3、%U(NS+1)*(NT+1)矩阵,U(:,i)表示第i个时间层网格剖分上的数值解[X,h]=pde.space_grid(NS);[T,tau]=pde.time_grid(NT);N=length(X);M=length(T);U=zeros(N,M);%初值条件U(:,1)=pde.u_initial(X);a=pde.a;r=a*tau/h;%边值条件ifa>=0%左边值条件U(1,:)=pde.u_left(T)elseU(end,:)=pde.u_right(T)%右边值条件endfori=2:MU(2:end-1,i)=U(2:end

4、-1,i-1)-r*(U(3:end,i-1)-U(1:end-2,i-1))/2+...r^2*(U(3:end,i-1)-2*U(2:end-1,i-1)+U(1:end-2,i-1))/2;switch(bd)case{'a0'}a0();case{'b'}b();case{'c'}c();otherwisedisp(['Sorry,Idonotknowyour',bd]);endendfunctiona0()专业知识.整理分享WORD格式.可编辑U(1,i)=U(1,i-1)-r*(U(2,i-1)-U(1,i-1));endfunctio

5、nb()U(1,i)=U(2,i-1);endfunctionc()U(1,i)=2*U(2,i)-U(3,i);endendfunctionpde=model_data()%MODEL_DATA数据模型TI=0;TF=1;SI=0;SF=1;pde=struct('u_exact',@u_exact,'u_initial',@u_initial,...'u_left',@u_left,'u_right',@u_right,'time_grid',...@time_grid,'space_grid',@space_grid,'advection_f

6、d1d_error',@advection_fd1d_error,'a',-2);function[T,tau]=time_grid(NT)T=linspace(TI,TF,NT+1);tau=(TF-TI)/NT;endfunction[X,h]=space_grid(NS)X=linspace(SI,SF,NS+1)'h=(SF-SI)/NS;endfunctionU=u_exact(X,T)[x,t]=meshgrid(X,T);U=1+sin(2*pi*(x+2*t));endfunctionu=u_initial(x)u=1+sin(2*

7、pi*x);endfunctionu=u_right(t)u=1+sin(4*pi*t);endend专业知识.整理分享WORD格式.可编辑functionshowsolution(X,T,U)%%SHOWSOLUTION以二元函数方式显示数值解%输入参数%X长度为NS+1的列向量,空间网格剖分N%T长度为NT+1的行向量,时间网格剖分M%UN*M矩阵,U(:,i)表示第i个时间层网格部分上的数值解[x,t]=meshgrid(X,T);mesh(x,t,U');xlabel('X');ylabel('T');zlabel('U(X,T)');en

8、dfunctionshowvarysolution(X,T,U,UE)%%SHOWVARYSOLUTION显示数值解随着时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。