Blasius方程的数值解matlab程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Blasius方程的数值解matlab程序 Blasius方程的数值解matlab程序 PAGE Blasius方程的数值解matlab程序 程序说明 该程序用于求解边值问题的非线性Blasius方程的数值解,该方程用来描述通过一块无限大平板的不可压缩的两维稳定流问题。 该程序用MATLAB编写,由和两个程序组成,为主程序,采用了打靶法和RKF(龙格—库塔—费尔伯格)法,在MATLAB中,RKF法选用函数ode45。在用打靶法解题过程中需要先选定两个初始值(即的值)用于叠代计算,在叠代过程中,第一次采用的是一次多项式插值法,以后各次均采用的二次多项式插值法。具体程序执行如下: 执行; 命令窗口提示: 请输入第一个任意初始值: 键入 ↓ 命令窗口提示: 请输入第二个任意初始值: 键入 ↓ 程序执行完毕。 得到数值解图像 需要完整数值解,可在命令窗口执行 [t,y] ans = 0 0 0 查看叠代过程,可在命令窗口执行 Y Y = x x = %Y表示时的值,x表示(实际为9)时对应下的值。 从中可以看到趋近过程。 数值解和精确解的比较 数值解 精确解 数值解 精确解 数值解 精确解 0 0 0 0 0 1 2 3 4 5 6 7 8 从上表对比可知,数量解和精确解的结果几乎一致。 该程序最大的优点就是可以对输入不同的初始值,来观察叠代次数和对结果的影响。例如:当输入初始值为和1时,与前面的比较见下表: 很明显可以看出叠代次数不一样,第二次比第一次多计算两次,但对结果的影响几乎可以忽略不计。说明叠代初值对叠代次数的影响非常大,如选初值为3和40,则需要计算172次,但仍然能够将精确计算到。 : clear,clf Y(1)=input(请输入第一个任意初始值:) [t,y1]=ode45(q,[0::9],[0,0,Y(1)]); x(1)=y1(length(t),2); Y(2)=input(请输入第二个任意初始值:) [t,y2]=ode45(q,[0::9],[0,0,Y(2)]); x(2)=y2(length(t),2); Y(3)=polyval(polyfit([x(1) x(2)],[Y(1) Y(2)],1),1); [t,y3]=ode45(q,[0::9],[0,0,Y(3)]); x(3)=y3(length(t),2); n=0; while 1 n=n+1; Y(n+3)=polyval(polyfit([x(n) x(n+1) x(n+2)],[Y(n) Y(n+1) Y(n+2)],2),1); [t,y]=ode45(q,[0::9],[0,0,Y(n+3)]); x(n+3)=y(length(t),2); if abs(x(n+3)-1)10e-7 break; end end plot(t,y,-); xlabel(η),ylabel(f/df/df^2);title(Blasius方程数值解) grid on; axis([0,6,,2]); : function dy=q(x,y) dy=zeros(3,1); dy(1)=y(2); dy(2)=y(

文档评论(0)

186****7897 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档