数值分析上机作业第二次.docVIP

  • 7
  • 1
  • 约1.59万字
  • 约 14页
  • 2018-02-06 发布于河南
  • 举报
数值分析上机作业第二次

第二次上机作业数分五班 程序分配 1-2题: 学生姓名:马羽龙 班 级:开发研11-1班 学 号:20112120793-4题: 学生姓名:马纪翔 班 级:开发研11-1班 学 号:2011212096 5-6题: 学生姓名:胡文胜 班 级:化学工艺研11-2班 学 号:2011213086一、问题: 正方形域上的Poisson方程边值问题,已知条件表述如下: 对于上述问题椭圆型第一边值问题的五点差分格式得到线性方程组为: 上述线性方程可以写成矩阵形式Au=f。 其中 对于上述线性方程组可以采用迭代方法求解。 二、程序 1.用Jacobi迭代法求解线性方程组Au=f。 原理: 对方程Au=f,Jacobi的迭代式可表达为: 程序: function [u,k]=jacobidd(n) % jacobidd:用jacobi迭代法求解线性方程组A*u=f % u: 方程组的解; k: 迭代次数; n: 非边界点数 % e: 允许误差界; er:迭代误差;%h:迭代步长 f(2:n+1,2:n+1)=(n+1)^(-2)*2;%根据已知条件,对Au=f中的f矩阵赋值 u=zeros(n+2,n+2);%对方程组的解初始化 h=1/(n+1); %根据n确定步长h for j=1:n+2 %利用已知条件计算边界点的值 u(1,j)=(j-1)*h-((j-1)*h)^2; u(n+2,j)=(j-1)*h-((j-1)*h)^2; end e=0.000000001;%设定允许误差界限值 tic for k=1:1000 %迭代求解 er=0; %初始误差取0 v(1:n+2,1:n+2)= u(1:n+2,1:n+2);%v为中间过渡矩阵 for j=2:n+1 for i=2:n+1 Ub=u(i,j);% 过渡变量,便于计算误差 u(i,j)=(v(i-1,j)+v(i+1,j)+v(i,j-1)+v(i,j+1)+f(i,j))/4;%k次迭代后u(i,j)的值 er=er+abs(Ub-u(i,j)); %估计误差 end end if er/n^2e,break;end %判断是否达到计算精度,如果达到则退出循环 end toc 结果: [u,k]=jacobidd(9) t = 0.0054 u = 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.0900 0 0 0.0900 0.1600 0.2100 0.2400 0.2500 0.2400 0.2100 0.1600 0.

文档评论(0)

1亿VIP精品文档

相关文档