数值分析上机实验_第1页
数值分析上机实验_第2页
数值分析上机实验_第3页
数值分析上机实验_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值分析实验一数值求解正方形域上的Poisson方程边值问题班级:数值分析1班学号:2012214082姓名:郭璟专业:安全技术及工程算法一:Jacobi点迭代法迭代格式:u—u—u—u—00,j N+1,j i,0 i,N+1forj-1:Nfori—1:Nu(k+1)—(u(Ik)+u(k)+u(k)+u(k)+h2f)/4i,j i-1,j i+1,j i,j-1 i,j+1 iendendfunction[v,k]=xsjacobi(n)%xsjacobi:用点Jacobi迭代法求解线性方程组A*u=f%v:方程组的解;k:迭代次数;n:非边界点数%e:允许误差界;er:迭代误差;f(2:n+1,2:n+1)=(n+1)人(-2)*2;v=zeros(n+2,n+2);u=zeros(n+2,n+2);e=0.000000001;fork=1:1000 %迭代求解er=0;forj=2:n+1fori=2:n+1u(i,j)=(v(i-1,j)+v(i+1,j)+v(i,j-1)+v(i,j+1)+f(i,j))/4;er=er+abs(v(i,j)-u(i,j)); %估计误差endendifer/nA2<e,break;end %判断是否达到计算精度,如果达到则退出循环v=u;end>>n=9;>>[v,k]=xsjacobi(n),surf(v)v=0000000000000.02560.04130.05080.05600.05770.05600.05080.04130.0256000.04130.06860.08590.09550.09860.09550.08590.06860.0413000.05080.08590.10880.12160.12580.12160.10880.08590.0508000.05600.09550.12160.13640.14120.13640.12160.09550.05600

0 0.05770.09860.12580.14120.14620.14120.12580.09860.057700 0.05600.09550.12160.13640.14120.13640.12160.09550.056000 0.05080.08590.10880.12160.12580.12160.10880.08590.050800 0.04130.06860.08590.09550.09860.09550.08590.06860.041300 0.02560.04130.05080.05600.05770.05600.05080.04130.0256000000000000k=3040.20.150.10.0515101000.20.150.10.05151010015>>tic>>[v,k]=xsjacobi(n);>>ti=tocti=51.1720算法二:块Jacobi迭代迭代格式:v=v=0,0N+1forj=1:NAV(k+1)=v(k)+v(k)+b (可用追赶法求解)jjj j-i j+i jendfunction[v,k]=xsbjacobi(n)%xsbjacobi:用块Jacobi迭代法求解线性方程组A*u=f%u:方程组的解;k:迭代次数;n:非边界点数%a:方程组系数矩阵的下对角线元素;b:方程组系数矩阵的主对角线元素;%c:方程组系数矩阵的上对角线元素;d:追赶法所求方程的右端向量;%e:允许误差界;er:迭代误差;f=2*1/(n+1)人2*ones(n+2,n+2);a=-1*ones(1,n);b=4*ones(1,n);c=-1*ones(1,n);u=zeros(n+2,n+2);v=zeros(n+2,n+2);e=0.00001;fork=1:2000er=0;forj=2:n+1%%Ub=u(:,j);d(1:n)=f(2:n+1,j)+v(2:n+1,j-1)+v(2:n+1,j+1);x=zg(a,b,c,d); %用追赶法求解u(2:n+1,j)=x';er=er+norm(v(:,j)-u(:,j),1);endifer/nA2<e,break;end %判断是否达到计算精度,如果达到则退出循环v=u;end%追赶法求解三对角方程组functionx=zg(a,b,c,d)n=length(b);%LU分解。u(1)=b(1);fork=2:n讦u(k-1)==0,D=0,return;endl(k)=a(k)/u(k-1);u(k)=b(k)-l(k)*c(k-1);end%追赶法求解之追过程,求解Ly=d。y(i)=d(i);fork=2:ny(k)=d(k)-l(k)*y(k-1);end%追赶法求解之赶过程,求解Ux=y讦u(n)==0,D=0,return;endx(n)=y(n)/u(n);fork=n-1:-1:1x(k)=(y(k)-c(k)*x(k+1))/u(k);end>>n=9;>>[v,k]=xsbjacobi(n)

v=0000000000000.02560.04120.05070.05590.05760.05590.05070.04120.0256000.04120.06850.08580.09540.09850.09540.08580.06850.0412000.05070.08580.10870.12150.12560.12150.10870.08580.0507000.05590.09540.12150.13620.14100.13620.12150.09540.0559000.05760.09850.12560.14100.14600.14100.12560.09850.0576000.05590.09540.12150.13620.14100.13620.12150.09540.0559000.05070.08580.10870.12150.12560.12150.10870.08580.0507000.04120.06850.08580.09540.09850.09540.08580.06850.0412000.02560.04120.05070.05590.05760.05590.05070.04120.0256000000000000k=69>>tic>>[u,k]=xsbjacobi(n);>>ti=tocti=17.2500四、 实验结果分析实验用ti・・toc来实现计算所花费时间的计算,通过比较可知Jacobi点迭代比Jacobi块迭代更费时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论