免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
迭代法求解两点边值问题(三)1背景介绍大规模科学计算和工程技术中许多问题的解决,最终归结为大型稀疏线性方程组的求解,其求解时间在整个问题求解时间中占有很大的比重,有的甚至达到80%。由于现今科学研究和大型项目中各种复杂的可以对计算精度和计算速度的要求越来越高。因此,作为大规模科学计算基础的线性代数方程组的高效数值求解引起了人们的普遍关注。这种方程组的求解一般采用迭代法,所以,迭代法的收敛性和收敛速度就成为人们关注的焦点,为许多专家和学者所研究。本文对大型稀疏线性方程组迭代求解与三种迭代法(Jacobi,Gauss-Seidel和超松弛迭代法)的收敛速度与精确解的误差比较做出研究。2 课程设计任务内容利用我们所学的数值分析的迭代法知识对线性方程组的问题进行求解,同时把迭代法的求解过程用MATLAB程序语言实现其算法功能。对实验结果进行记录,对比与分析最后得出结论。3研究方法与原理3.1 迭代法简介1.Jacobi迭代法:对于非奇异线性方程组Ax=b,令A=D-L-U,其中则原方程组可改写为: (2.2)其中给定初始向量:由(2.2)可以构造迭代公式:其分量形式为:2. Guass-Seidel迭代法:类似于Jacobi迭代法,给定初值:令则得到Guass-Seidel公式:其分量形式为:3.超松弛迭代法(SOR 迭代法):SOR迭代法是对Guass-Seidel迭代法的加权平均改造,即为Guass-Seidel迭代解,即它的分量形式为:其中称为松弛因子,当1时称为超松弛;当 tol * (1-q)/qx1 = B*x0 + g; % 迭代公式r = norm(x1-x0, inf); % 使用无穷范数x0 = x1;k = k+1;if k = N % 如果达到最大迭代次数disp(达到最大迭代次数,迭代失败);break;endendx = x0;e = norm(y-x, inf);% - % filename : gs.m% abstract : GS迭代法解线性方程组Ax = b% 调用方式:% x, k, e = gs(A,b,y)% 返回值:% x :迭代解% k :迭代次数% e :与精确解的误差% - % - %function x, k, e = gs(A,b,y) % y为精确解N = 100000000; % 允许的最大迭代次数tol = 1e-4;q = 1 - 1/(100*100); % 近似求出q = |B|D = diag(diag(A);L = triu(A)-A;U = tril(A)-A;B = (D-L)U;g = (D-L)b;%迭代首项n = length(b);x0=eye(n,1);x1=eye(n,1);for i=1:nx0(i)=1;x1(i)=0;endr = 1;k = 0;while r tol * (1-q)/qx1 = B*x0 + g; % 迭代公式r = norm(x1-x0, inf); % 使用无穷范数x0 = x1;k = k+1;if k = N % 如果达到最大迭代次数disp(达到最大迭代次数,迭代失败);break;endendx = x0;e = norm(y-x, inf);% - % filename : sor.m% abstract : SOR迭代法解线性方程组Ax = b% 调用方式:% x, k, e = sor(A,b,y)% 返回值:% x :迭代解% k :迭代次数% e :与精确解的误差% - % - %function x, k, e = sor(A,b,y) % y为精确解N = 100000000; % 允许的最大迭代次数tol = 1e-4;q = 1 - 1/(100*100); % 近似求出q = |B|D = diag(diag(A);L = triu(A)-A;U = tril(A)-A;% 求最佳松弛因子wB = D(L+U);w = P(B);w = 2/(1+sqrt(1-w2);if w2disp(迭代不收敛);return;endfprintf(最佳松弛因子w: %.4fn, w);% 生成矩阵B, 向量gB = (D-w*L)(1-w)*D+w*U);g = (D-w*L)b*w;%迭代首项n = length(b);x0=eye(n,1);x1=eye(n,1);for i=1:nx0(i)=1;x1(i)=0;endr = 1;k = 0;while r tol * (1-q)/qx1 = B*x0 + g; % 迭代公式r = norm(x1-x0, inf); % 使用无穷范数x0 = x1;k = k+1;if k = N % 如果达到最大迭代次数disp(达到最大迭代次数,迭代失败);break;endendx = x0;e = norm(y-x, inf);% 求矩阵A的谱半径% 在SOR迭代法中求最佳松弛因子时作为子程序function a = P(A)n n = size(A);x = eig(A);a = 0;for i = 1:nb = abs(x(i);if b aa = x(i);endenda = abs(a);% - % filename : exactsolution.m% abstract : m函数文件,生成系数矩阵和常向量% - % - %function A, b = genmatrix(eps, a, n)h = 1/n;% 系数矩阵A = zeros(n-1,n-1);A(1,1) = -1*(2*eps + h);A(1,2) = eps + h;A(n-1, n-1) = A(1,1);A(n-1, n-2) = eps;for i = 2:n-2A(i,i) = A(1,1);A(i, i-1) = eps;A(i, i+1) = A(1,2);end% 常向量b = a * h * h * ones(n-1,1);% 注意边值条件b(1,1) = b(1,1) - eps*0;b(n-1,1) = b(n-1,1) - (eps+h);% - % filename : exactsolution.m% abstract : m函数文件,用于获得精确解% - %
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年兴国县卫生健康总院公开招聘编制外卫生专业技术人员的备考题库及1套完整答案详解
- 2026年平阳县城市发展集团下属子公司平阳县城发城市运营管理有限公司公开招聘备考题库及一套完整答案详解
- 2026年北京协和医院心内科合同制科研助理招聘备考题库附答案详解
- 2026年中国疾病预防控制中心艾防中心公开招聘参比实验室科研助理备考题库及1套完整答案详解
- 实验室安全知识培训平台课件
- 跨境数据流动标准合同(北美版2025)
- 实验室安全培训体会课件
- 跨境电商物流配送服务外包合同2025年
- 仓储5S管理制度(附检查表)
- 张掖市教育系统2026年公开招聘公费师范生备考题库及完整答案详解1套
- dl∕t 5491-2014 电力工程交流不间断电源系统设计技术规程
- 2025年中国铁路昆明局集团有限公司招聘笔试参考题库含答案解析
- 住院患者走失应急预案
- 机房搬迁服务搬迁实施方案
- MSA测量系统线性分析报告
- AOI检查缺陷识别对照表
- 新民市第二污水处理厂及中水回用工程项目环境影响报告
- 环境影响评价报告公示:隧道段涉及饮用水源保护区专题报告环评报告
- 读后续写救援类-火海救人+讲义 高考英语专题复习
- 上海民办XX中学九年级第一学期双周测
- 电影色彩学打印版
评论
0/150
提交评论