微分方程数值解法编程作业三汇编.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微分方程数值解法编程作业三汇编

微分方程数值解法编程作业三 用数值方法求解正方形域上的Poisson方程边值问题 解: (一)用Gauss-seidel迭代法求解线性方程组Au=f,具体程序和结果如下: function [u,k,T]=tygs(n) h=1/(n+1); f(2:n+1,2:n+1)=2*h^2; u=zeros(n+2,n+2); e=0.000000001; tic; for k=1:1000 %迭代求解 er=0; for j=2:n+1 for i=2:n+1 Ub=u(i,j); u(i,j)=(u(i-1,j)+u(i+1,j)+u(i,j-1)+u(i,j+1)+f(i,j))/4; er=er+abs(Ub-u(i,j)); %估计误差 end end if er/n^2e,break;end %判断是否达到计算精度,如果达到则退出循环end T=toc k 结果: tygs(8) T = 0.0028 k = 131 ans = 0 0 0 0 0 0 0 0 0 0 0 0.0300 0.0476 0.0577 0.0623 0.0623 0.0577 0.0476 0.0300 0 0 0.0476 0.0780 0.0961 0.1045 0.1045 0.0961 0.0780 0.0476 0 0 0.0577 0.0961 0.1195 0.1305 0.1305 0.1195 0.0961 0.0577 0 0 0.0623 0.1045 0.1305 0.1429 0.1429 0.1305 0.1045 0.0623 0 0 0.0623 0.1045 0.1305 0.1429 0.1429 0.1305 0.1045 0.0623 0 0 0.0577 0.0961 0.1195 0.1305 0.1305 0.1195 0.0961 0.0577 0 0 0.0476 0.0780 0.0961 0.1045 0.1045 0.0961 0.0780 0.0476 0 0 0.0300 0.0476 0.0577 0.0623 0.0623 0.0577 0.0476 0.0300 0 0 0 0 0 0 0 0 0 0 0 (二)用块Gauss-Seidel迭代法求解线性方程组Au=f,具体程序及结果如下: function[u,k,T]=tygsk(n) % u: 方程组的解; k: 迭代次数; n: 非边界点数 % a: 方程组系数矩阵的下对角线元素; b: 方程组系数矩阵的主对角线元素; % c: 方程组系数矩阵的上对角线元素;d: 追赶法所求方程的右端向量; % e: 允许误差界; er:迭代误差; h=1/(n+1); f(2:n+1,2:n+1)=2*h^2; a=-1*ones(1,n); b=4*ones(1,n);c=-1*ones(1,n); u=zeros(n+2,n+2); e=0.000000001; tic; for k=1:1000 er=0; for j=2:n+1 Ub=u(:,j); d(1:n)=f(2:n+1,j)+u(2:n+1,j-1)+u(2:n+1,j+1) ; %

文档评论(0)

5500046 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档