收藏 分销(赏)

微分方程数值方法大作业.doc

上传人:精*** 文档编号:2554370 上传时间:2024-05-31 格式:DOC 页数:5 大小:167.50KB
下载 相关 举报
微分方程数值方法大作业.doc_第1页
第1页 / 共5页
微分方程数值方法大作业.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
微分方程数值方法大作业 一、 操作任务 给定初值问题 0<x<1,0<t<0.1 u(0,t)=u(1,t)=0 0<t<0.1 u(x,0)=sinπx 0≤x≤1 研究上述问题Grank-Nicholson格式的稳定性 二、 差分格式 先空间方向离散: j=0,1,2……N ,,,,,,, , ,,,,,,,, 取x=xj 得: , 即得半离散格式: j=0,1,2……N 记u(t)=[u(x1,t), u(x2,t) , …… u(xN-1,t)]T F(t) =[f(x1,t)], f(x2,t)] …… f(xN-1,t)]T 格式变为: U(0)=[]T 用梯形格式——Grank-Nicholason格式 则格式变为: 三、 程序 function x=EqtsForwardAndBackward(L,D,U,b) %追赶法求解三对角线性方程组Ax=b %x=EqtsForwardAndBackward(L,D,U,b) %x:三对角线性方程组的解 %L:三对角矩阵的下对角线,行向量 %D:三对角矩阵的对角线,行向量 %U:三对角矩阵的上对角线,行向量 %b:线性方程组Ax=b中的b,列向量 n=length(D);m=length(b); n1=length(L);n2=length(U); if n-n1 ~= 1 || n-n2 ~= 1 || n ~= m %检查参数的输入是否正确 disp('输入参数有误!') x=' '; return; end %追的过程 for i=2:n L(i-1)=L(i-1)/D(i-1); D(i)=D(i)-L(i-1)*U(i-1); end x=zeros(n,1); x(1)=b(1); for i=2:n x(i)=b(i)-L(i-1)*x(i-1); end %赶的过程 x(n)=x(n)/D(n); for i=n-1:-1:1 x(i)=(x(i)-U(i)*x(i+1))/D(i); end return; function [U x t] = PDEParabolicCN(uX,uT,M,N) %Crank-Nicolson隐式格式求解抛物型偏微分方程 %输入参数:uX -空间变量x的取值上限 % ? ?? ?? uT -时间变量t的取值上限 % ? ?? ?? M -沿x轴的等分区间数 % ? ?? ?? N -沿t轴的等分区间数 h=uX/M;%计算空间方向步长 tao=uT/N;%计算时间方向步长 x=(0:M)*h; t=(0:N)*tao; r=h/(tao*tao);%网格比 Diag=zeros(1,M-1);%矩阵的对角线元素 Low=zeros(1,M-2);%矩阵的下对角线元素 Up=zeros(1,M-2);%矩阵的上对角线元素 for i=1:M-2 Diag(i)=1+r; Low(i)=-r/2; Up(i)=-r/2; end Diag(M-1)=1+r; %计算初值和边值 U=zeros(M+1,N+1); for i=1:M+1 U(i,1)=sin(pi*x(i)); end for j=1:N+1 U(1,j)=0; U(M+1,j)=0; end B=zeros(M-1,M-1); for i=1:M-2 B(i,i)=1-r; B(i,i+1)=r/2; B(i+1,i)=r/2; end B(M-1,M-1)=1-r; %逐层求解,需要使用追赶法(调用函数EqtsForwardAndBackward) for j=1:N b1=zeros(M-1,1); b1(1)=r*(U(1,j+1)+ U(1,j))/2; b1(M-1)=r*(U(M+1,j+1)+U(M+1,j))/2; b=B*U(2:M,j)+b1; U(2:M,j+1)=EqtsForwardAndBackward(Low,Diag,Up,b); end U=U'; disp('请输入uX') uX=input('uX='); disp('请输入uT') uT=input('uT='); disp('请输入M') M=input('M='); disp('请输入N') N=input('N='); [U x t] = PDEParabolicCN(uX,uT,M,N); mesh(x,t,U); title('Grank-Nicholson,隐式格式,一维热传导方程解的图像') xlabel('空间变量 x') ylabel('时间变量t') zlabel('一维热传导方程的解 x') return; 四、 数据结果 M=50时: M=100时: 五、 结论 该方程组Grank-Nicholason格式稳定. 六、 参考文献 1] Garth A,Baker.Error estimates for finite element methods for second order hyperbolic equations[J].SIAM J Number Anal,1976,13(4): 564-576. [2] 王申林.拟线性抛物型方程的Galerkin方法及H1模误差估计[J].山东大学学报,1989,24(1):19-31. [3] 王自强,曹俊英,宋士仓.半线性抛物型方程改进全离散双尺度有限元分析[J].河南师范大学学报:自然科学版,2010,38(1):41-43. [4] Weiser A,Wheeler M F.On convergence of block-centered finite differences for elliptic problems[J].SIAM J Numer Anal,1982,25(2): 871-885. [5] 王申林,孙淑英.对流—扩散问题的特征———块中心差分法[J].计算数学,1999,21(4):463-474. 5 / 5
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服