偏微分方程数值及matlab实验报告(共8页).doc
《偏微分方程数值及matlab实验报告(共8页).doc》由会员分享,可在线阅读,更多相关《偏微分方程数值及matlab实验报告(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验题目:用Lax-Wendroff格式求解方程: (1) (精确解)数值边值条件分别为:(a)(b)(c)请将计算结果与精确解进行比较。实现算法:1. 网格剖分:对求解区域作均匀网格剖分.节点: 其中空间和时间步长:2. 算法实现将在节点处作泰勒级数展开 (2)考虑在节点处(1)的微分方程,有:将上述两式代入(2)式,得对的一阶、二阶导数用中心差商代替代入整理后得到略去误差项,以代替,得到如下差分格式 (3)(3)式就是Lax-Wendroff格式,其截断误差为,节点如图 令,就得到(1)式的Lax-Wendroff格式的公式 (4)(4)式是二阶精度的差分格式.程
2、序代码:function X,T,U = advection_fd1d (NS ,NT ,pde,bd)% WAVE_EQUATION_FD1D 利用有限差分方法计算一维双曲线方程% 输入参数:% NS 整型,空间剖分段数% NT 整型,时间剖分段数% pde 结构体,带求解的微分方程模型的已知数据,% 如边界、初始、系数和右端项等条件.% bd 数值边值条件% 输出参数:% X 长度 NS+1 的列向量,空间网格剖分% T 长度 NT+1 的行向量,时间网格剖分% U (NS+1)*(NT+1) 矩阵,U(:,i) 表示第 i 个时间层网格剖分上的数值解 X,h = pde.space_gr
3、id(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;% 边值条件if a = 0 % 左边值条件 U(1,:) = pde.u_left(T)else U(end,:) = pde.u_right(T) %右边值条件end for i = 2:M U(2:end -1,i) =U(2:end-1,i-1)-r*(U(3:end,i-1)-U(1:end-2,i-1)/2+. r2*
4、(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(); otherwise disp(Sorry, I do not know your , bd); end end function a0() U(1,i)=U(1,i-1)-r*(U(2,i-1)-U(1,i-1); end function b() U(1,i)=U(2,i-1); end function c() U(1,i)=2*U(2,i)-U(3,i); end endfunction pd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 数值 matlab 实验 报告
限制150内