欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

双曲方程基于matlab的数值解法(共9页)

  • 资源ID:131723764       资源大小:283.50KB        全文页数:9页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

双曲方程基于matlab的数值解法(共9页)

双曲型方程基于MATLAB的数值解法(数学1201,陈晓云,)一:一阶双曲型微分方程的初边值问题 精确解为 二:数值解法思想和步骤2.1:网格剖分为了用差分方法求解上述问题,将求解区域作剖分。将空间区间作等分,将时间区间作等分,并记。分别称和为空间和时间步长。用两簇平行直线将分割成矩形网格。2.2:差分格式的建立 2.2.1:Lax-Friedrichs方法对时间、空间采用中心差分使得 则由上式得到Lax-Friedrichs格式截断误差为所以Lax-Friedrichs格式的截断误差的阶式令:则可得差分格式为其传播因子为: 化简可得: 所以当时,,格式稳定。* 2.2.2:LaxWendroff方法用牛顿二次插值公式可以得到LaxWendroff的差分格式,在此不详细分析,它的截断误差为,是二阶精度;当时,格式稳定。在这里主要用它与上面一阶精度的Lax-Friedrichs 方法进行简单对比。2.3差分格式的求解因为时格式稳定,不妨取 ,则s=0.9差分格式写成如下矩阵形式:则需要通过对k时间层进行矩阵作用求出k+1时间层。对上面的矩阵形式通过matlab编出如附录的程序求出数值解、真实解和误差。2.5 算法以及结果 function P U E x t=PDEHyperbolic(uX,uT,M,N,C,type)format long%一阶双曲型方程的差分格式 %P U E x t=PDEHyperbolic(uX,uT,M,N,C,phi,psi1,psi2,type) %方程:u_t+C*u_x=0 0 <= t <= uT, 0 <= x <= uX%初值条件:u(x,0)=phi(x)%输出参数:U -解矩阵% x -横坐标% t -纵坐标,时间 % 输入参数:uX -变量x的上界% uT -变量t的上界% M -变量x的等分区间数% N -变量t的等分区间数% C -系数% phi -初值条件函数,定义为内联函数% psi1,psi2 -边值条件函数,定义为内联函数 % type -差分格式,从下列值中选取 % -type='LaxFriedrichs',采用Lax-Friedrichs差分格式求解 % -type='LaxWendroff',采用Lax-Wendroff差分格式求解 h=uX/M;%变量x的步长k=uT/N;%变量t的步长 r=k/h;%步长比 x=(0:M)*h; t=(0:N)*k; U=zeros(M+1,N+1); %初值条件for i=1:M+1 U(i,1)=cos(pi*x(i); P(i,1)=cos(pi*x(i); E(i,1)=0;end%边值条件for j=1:N+1 U(1,j)=cos(pi*t(j); E(1,j)=0; P(1,j)=cos(pi*t(j); U(M+1,j)=-cos(pi*t(j); P(M+1,j)=-cos(pi*t(j); E(M+1,j)=0;endswitch type case 'LaxFriedrichs' if abs(C*r)>1 disp('|C*r|>1,Lax-Friedrichs差分格式不稳定!') end %逐层求解 for j=1:N for i=2:M U(i,j+1)=(U(i+1,j)+U(i-1,j)/2-C*r*(U(i+1,j)-U(i-1,j)/2; P(i,j+1)=cos(pi*(x(i)+t(j+1); E(i,j+1)=abs(U(i,j+1)-cos(pi*(x(i)+t(j+1); end end %Lax-Wendroff差分格式 case 'LaxWendroff' if abs(C*r)>1 disp('|C*r|>1,Lax-Wendroff差分格式不稳定!') end %逐层求解 for j=1:N for i=2:M U(i,j+1)=U(i,j)-C*r*(U(i+1,j)-U(i-1,j)/2+C2*r2*(U(i+1,j)-2*U(i,j)+U(i-1,j)/2; P(i,j+1)=cos(pi*(x(i)+t(j+1); E(i,j+1)=abs(U(i,j+1)-cos(pi*(x(i)+t(j+1); end end otherwise disp('差分格式类型输入有误!') return; endU=U'P=P'E=E'%作出图形 精确解mesh(x,t,P); title('一阶双曲型方程的精确解图像'); xlabel('空间变量 x'); ylabel('时间变量 t'); zlabel('一阶双曲型方程的解 P')%作出图形 数值解mesh(x,t,U); title(type '格式求解一阶双曲型方程的解的图像'); xlabel('空间变量 x'); ylabel('时间变量 t'); zlabel('一阶双曲型方程的解 U')return; 命令窗口输入:>>uX=1;uT=1;M=90;N=100;C=-1;phi=inline('cos(pi*x)');psi1=inline('cos(pi*t)');psi2=inline('-cos(pi*t)');type='LaxFriedrichs'或type='LaxWendroff'>>P U E x t=PDEHyperbolic(uX,uT,M,N,C,type)从 matlab的数值解法结果中抽出一部分数据进行比较表1LaxFriedrichs格式jk(x,t)数值解真实解误差4611(0.5,0.1)-0.-0.0.4621(0.5,0.2)-0.-0.0.4631(0.5,0.3)-0.-0.0.4641(0.5,0.4)-0.-0.0.4651(0.5,0.5)-0.-1.0.4661(0.5,0.6)-0.-0.0.4671(0.5,0.7)-0.-0.0.4681(0.5,0.8)-0.-0.0.4691(0.5,0.9)-0.-0.0.46101(0.5,1.0)-0.-0.0.表2LaxWendroff格式jk(x,t)数值解真实解误差4611(0.5,0.1)-0.-0.0.4621(0.5,0.2)-0.-0.0.4631(0.5,0.3)-0.-0.0.4641(0.5,0.4)-0.-0.0.4651(0.5,0.5)-0.-1.0.4661(0.5,0.6)-0.-0.0.4671(0.5,0.7)-0.-0.0.4681(0.5,0.8)-0.-0.0.4691(0.5,0.9)-0.-0.0.46101(0.5,1.0)-0.-0.0.备注:本来,但是由于matlab中下标必须从大于0开始,所以在程序中图像分析:结果分析:从表1和表2可以看出LaxFriedrichs格式和LaxWendroff格式的真值得误差都比较小,而LaxWendroff格式虽然精度比LaxFriedrichs的精度高,但是在网格点划分比较细的情况下,二者的差别不大。从三个图像的结果看出,二者都拟合的相当好,并且结果都稳定。

注意事项

本文(双曲方程基于matlab的数值解法(共9页))为本站会员(痛***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!