- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微分方程实验报告[迎风格式]信息科学
湖南工程学院微分方程数值解法 实验报告
专业班级姓名组别同组实验人员信息与计算科学10%%
实验日期2011年11 月 21日第 2次实验指导老师杨继明评分实验名称用Lax-Wendroff格式解对流方程的定解问题实验目的熟悉掌握对流方程定解问题的数值格式并程序实现实验原理与步骤:
考虑下列对流方程的定解问题:
其精确解为
采用Lax-Wendroff差分格式进行求解。
其数值差分格式为:
其中为网格剖分的步长。
数值求解流程(图):
开始
读入系数,网格步长,N,x最大最小值
n=1
输出,
u
n=N?
结束
n=n+1
采用Matlab程序设计语言编程实现该问题的数值求解。取轴方向的网格步长为轴方向的网格步长为,为给定的常系数它的值为2。计算在的近似解。
首先定义函数
function f=IniU(x)
f=1+sin(2*pi*x);
然后在Matlab命令窗口中输入命令:
u1= peLaxW(-2,0.02,11,0,1,5)
运行程序得到实验结果为:
u1 = peLaxW(-2,0.02,11,0,1,5)
u1=
Columns 1 through 8
1.9169 1.9578 1.6328 1.0661 0.4742 0.0831 0.0422 0.3672
Columns 9 through 11
0.9339 1.5258 1.9169
在Matlab命令窗口中输入命令:
u2 = peLaxW(-2,0.02,11,0,1,25)
运行程序得到实验结果为:
u2 = peLaxW(-2,0.02,11,0,1,25)
u2 =
Columns 1 through 8
0.6909 1.2720 1.7492 1.9402 1.7721 1.3091 0.7280 0.2508
Columns 9 through 11
0.0598 0.2279 0.6909
实验结果分析:
通过调用程序计算在的近似解,由于n=11,当t=0.1时,M=5,调用u1 = peLaxW(-2,0.02,11,0,1,5)计算得到t=0.1时的11个网格点对应的近似解。当t=0.5时,M=25, 故调用u2= peLaxW(-2,0.02,11,0,1,25)计算得到t=0.5时的11个网格点对应的近似解,它们的结果都是比较逼近的。并且在网格比小于等于1/2时,这个格式是比较稳定的。
实验小结:
本次实验,使我感觉到对流方程定解问题的难度相对于上次实验有点加大了。使用Lax-Wendroff格式来解决这个问题,我就知道了它的基本原理和一些基本的操作步骤,收获还是有的。
附Matlab程序代码:
首先定义函数
function f=IniU(x)
f=1+sin(2*pi*x);
然后
function u = peLaxW(a,dt,n,minx,maxx,M)
format long;
h = (maxx-minx)/(n-1);
for j=1:(n+2*M)
u0(j) = IniU(minx+(j-M-1)*h);
end
u1 = u0;
for k=1:M
for i=k+1:n+2*M-k
u1(i) = dt*dt*a*a*(u0(i+1)-2*u0(i)+u0(i-1))/2/h/h - ...
dt*a*(u0(i+1)-u0(i-1))/h/2+u0(i);
end
u0 = u1;
end
u = u1((M+1):(M+n));
format short; 指导教师评语:
签字:
年 月 日
文档评论(0)