已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数值实验题一班级:研开发14-1班 姓名:马高强 学号:20142120904.用有限差分方法(五点差分格式)求解正方形域上的Poisson方程边值问题 用MATLAB语言编写求解线性方程组的算法程序,采用下列方法计算,比较计算结果和算法性能,对计算结果给出结论。(1)用SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。(2)用块SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。(3)用(预条件)共轭斜向量法求解线性方程组。解:首先,剖分求解区域。用平行于坐标轴的直线然后用数值微分公式对微分算子进行离散。既有其中表示的近似值。得到在每个点上的有限差分方程为:又称为五点差分格式.其中。在边界上有可得差分格式为:将差分方程组写成矩阵形式为,其中。如果把每一条线上的网格点看作一个组,如对矩阵也相应地分块其中则差分方程等价于。这样就可以用块迭代法进行求解。(1)用SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。SOR迭代法:function u,k,t=SOR(n,w)%用SOR迭代法求解Poisson方程%输出结果:u,k,t 输入:n,wh=1/(n+1);f(2:n+1,2:n+1)=3*h2;%定义右端项u=zeros(n+2,n+2); %对边界进行差分 for i=1:n+2 u(i,1)=(i-1)*h*(1-(i-1)*h); u(i,n+2)=(i-1)*h*(1-(i-1)*h); ende=0.000000001; tic%程序开始的时间 %SOR迭代法过程for k=1:10000 er=0; for i=2:n+1 for j=2:n+1 ub=u(i,j); u(i,j)=w*(u(i-1,j)+u(i+1,j)+u(i,j+1)+u(i,j-1)+f(i,j)/4)+(1-w)*u(i,j); er=er+abs(ub-u(i,j); end end if er/n2e break; endendt1=toc%程序结束的时间t=max(t1);试算法确定最佳松弛因子:function goodw,goodk=Bestw(n)%试算法确定最佳松弛因子 u,k=SOR(n,0.01);goodw=0.01; goodk=k; for w=0.01:0.001:2 u,k=SOR(n,w); if k goodw,goodk=Bestw(9)goodw = 1.5330goodk =33 u,k,t=SOR(9,goodw)k = 33t = 2.3291e-004u的结果如下表:将u画成三维图 surf(u)(2)用块SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。块SOR迭代法:function u,k,t=BSOR(n,w) %用块SOR求解Poisson问题,其中用到追赶法%输出结果:u,k,t 输入:n,wh=1/(n+1);f(2:n+1,2:n+1)=3*h2;u=zeros(n+2,n+2);a=-1*ones(1,n);b=4*ones(1,n);c=-1*ones(1,n); for i=1:n+2%对边界条件进行差分 u(i,1)=(i-1)*h*(1-(i-1)*h); u(i,n+2)=(i-1)*h*(1-(i-1)*h); end tic;%块SOR迭代法过程e=0.000000001; for k=1:1000 er=0; for j=2:n+1 ub=u(:,j); d=f(2:n+1,j)+u(2:n+1,j-1)+u(2:n+1,j+1); x=zg(a,b,c,d);%调用追赶法求解 for i=1:n u(i+1,j)=w*x(i)+(1-w)*u(i+1,j); end er=er+norm(ub-u(:,j),1); end if er/n2e break; endendt1=toc;t=max(t1);追赶法:function x=zg(a,b,c,d)n=length(b);%LU分解u(1)=b(1);for k=2:n if u(k-1)=0 D=0; return; end l(k)=a(k)/u(k-1); u(k)=b(k)-l(k)*c(k-1);end%求解Ly=dy(1)=d(1);for k=2:n y(k)=d(k)-l(k)*y(k-1);end%求解Ux=yif u(n)=0 D=0; return;endx(n)=y(n)/u(n);for k=n-1:-1:1 x(k)=(y(k)-c(k)*x(k+1)/u(k);end试算法确定最佳松弛因子:function goodw,goodk=BBestw(n)%确定块SOR的最佳松弛因子 u,k=BSOR(n,0.01);goodw=0.01; goodk=k; for w=0.01:0.01:2 u,k=BSOR(n,w); if k goodw,goodk=BBestw(9)goodw = 1.4200goodk = 25 u,k,t=BSOR(9,goodw)k = 25t =0.0156u的结果如下表:将u画成三维图 surf(u)(3)用(预条件)共轭斜向量法求解线性方程组。共轭斜量法:function u,k,t=CG(n) %共轭斜量法求解Poisson问题A=zeros(n2,n2);for i=1:n2%系数 A(i,i)=4; if i+nn2+1 A(i,i+n)=-1; A(i+n,i)=A(i,i+n); end if mod(i,n)=0 A(i,i+1)=-1; A(i+1,i)=A(i,i+1); endend h=1/(n+1);u=zeros(n+2,n+2); for i=1:n+2%边界条件的差分 u(i,1)=(i-1)*h*(1-(i-1)*h); u(i,n+2)=(i-1)*h*(1-(i-1)*h);end for i=1:n2b(i,1)=3*(h2);%初始右端项x(i,1)=0;%初始值endtic%共轭斜量法Ax=br=b-A*x;p=r;for k=1:1000 r1=r; a=(r1*r1)/(A*p)*p); x=x+a*p; r=r-a*A*p; s=(r*r)/(r1*r1); p=r+s*p; if norm(r) u,k,t=CG(9)k = 13t =0.0019u的结果如下表:将u画成三维图 surf(u)将三个程序结果进行比较:对于同一问题,SOR迭代方法迭代次数为33次,迭代时间为0.00219s;块SOR迭代方法迭代次数为25次,迭代时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 麻纺企业员工考勤管理规定
- 包装材料研发工程师岗位招聘考试试卷及答案
- 第14讲 牛顿运动定律的应用1
- 4.4 光的折射 课件(共24张) 2025-2026学年人教版初中物理八年级上册
- 护理技术创新在团队服务中的提升
- 子宫动脉超声评估:临床意义、操作方法与参数解读(完整版临床指南)
- 安徽省黄山市重点中学2026届高三第九次调研考试化学试题试卷含解析
- 福建省宁德一中等重点中学2026年高三下学期第六次质量调研考试化学试题含解析
- 14.1《法治与改革相互促进》教案 2025-2026学年统编版道德与法治八年级下册
- 细胞互作在再生中的作用
- 2025年高考数学全国一卷试题真题及答案详解(精校打印)
- T/CCMA 0168-2023土方机械电控手柄技术要求及试验方法
- 成人癌性疼痛护理团体标准
- 2025年统计学期末考试题库:时间序列分析核心考点解析
- 实验室生物安全应急预案
- DG-TJ08-2177-2023建筑工程消防施工质量验收标准
- 《低聚糖功能性质》课件
- 华南理工大学《工程热力学》2023-2024学年第一学期期末试卷
- T-NBHTA 004-2024 热处理企业环境保护技术规范
- DB32T 4786-2024 城镇供水服务质量标准
- 9.1美国基础知识讲解七年级地理下学期人教版
评论
0/150
提交评论