数值计算方法课程设计
数值计算方法第2版课程设计

数值计算方法第2版课程设计一、设计背景数值计算方法是数学专业本科生的重要课程之一,也是计算机、物理、工程等专业学生的必修课之一。
本课程设计旨在通过实践,加深学生对于数值计算方法的理解、掌握该方向的求解方法与技巧,提高学生对数学知识的运用能力。
二、设计目的本课程设计的目的在于:1.加深对数值计算方法的理解;2.掌握数值计算方法相关算法的求解方法;3.提高计算机编程能力和应用数学能力。
三、设计内容1. 多项式插值多项式插值是一种常用的数值计算方法,用于求解由一系列离散数据点构成的函数图象。
本课程设计要求学生掌握牛顿插值法和Lagrange插值法的求解过程,并使用Matlab等编程语言实现。
2. 最小二乘拟合最小二乘拟合是一种广泛应用于数据拟合和参数估计的方法。
本课程设计要求学生了解最小二乘拟合的基本原理,并使用Matlab等编程语言实现。
另外,要求学生将所实现的代码应用于实际数据进行拟合,并给出结果的分析和解释。
3. 数值积分数值积分是一种重要的数值计算方法,应用广泛。
本课程设计要求学生了解常见的数值积分方法,如梯形公式、Simpson公式和Gauss公式等,并使用Matlab等编程语言实现。
4. 常微分方程求解常微分方程是一个广泛应用的数学领域,有许多数值方法可以求解。
本课程设计要求学生了解欧拉方法、梯形法、四阶龙格-库塔法等常见的数值求解方法,并使用Matlab等编程语言实现。
四、评估方法本课程设计将采取以下评估方法:1.课堂讨论和答辩,对学生对各个算法求解的理解和实现情况进行评价。
2.最终成果报告,包括所实现的代码及其在实际数据中的应用结果和分析。
五、参考文献[1] 高立. 数值计算方法及其MATLAB实现[M]. 北京: 北京航空航天大学出版社, 2015.[2] 姜启源. 数值计算方法教程[M]. 北京: 清华大学出版社, 2017.[3] 模拟计算方法与仿真实验[M]. 北京: 高等教育出版社, 2014.。
数值计算方法教案

数值计算方法教案一、教学目标1.理解数值计算方法的基本原理和应用范围。
2.掌握数值计算方法中常用的数值近似、数值求解和数值积分计算方法。
3.能够灵活应用所学的数值计算方法解决实际问题。
二、教学内容1.数值计算方法的概述和基本原理。
1.1数值计算方法的定义。
1.2数值计算方法在实际问题中的应用。
1.3数值计算方法的误差分析。
2.数值近似方法。
2.1多项式插值法。
2.2最小二乘逼近法。
2.3数值微分和数值积分公式。
3.数值求解方法。
3.1方程求根的迭代法。
3.2线性方程组的直接解法和迭代法。
4.数值积分计算方法。
4.1梯形法则和辛普森法则。
4.2高斯求积公式。
4.3自适应积分法。
5.实际问题的数值计算方法应用案例。
三、教学方法1.讲授法:通过讲解数值计算方法的基本原理和应用范围,引导学生建立正确、完整的知识体系。
2.实例分析法:通过实际问题的例子,引导学生灵活运用所学的数值计算方法解决问题。
3.实验法:通过具体的数值计算实验,让学生通过编程实现数值计算方法,对算法和误差有更深入的理解。
四、教学步骤1.引入:通过生活中的例子,引导学生认识到数值计算方法在实际问题中的重要性。
2.理论讲解:依次讲解数值计算方法的基本原理和应用范围,结合具体的例子加深学生理解。
3.数值近似方法的讲解:分别介绍多项式插值法、最小二乘逼近法和数值微分和积分公式,讲解其原理和算法步骤。
4.数值求解方法的讲解:分别介绍方程求根的迭代法和线性方程组的求解方法,讲解其原理和算法步骤。
5.数值积分计算方法的讲解:分别介绍梯形法则、辛普森法则和高斯求积公式,讲解其原理和算法步骤。
6.案例分析:通过具体的实际问题案例,引导学生应用所学的数值计算方法解决问题,并进行算法正确性和误差分析。
7.总结与提高:对整节课内容进行总结,并引导学生对数值计算方法进行思考和提高。
五、教学评价1.课堂练习:在课堂上进行数值计算方法的相关练习,检查学生对知识的掌握情况。
数值计算方法教案

数值计算方法教案第一章:数值计算概述1.1 数值计算的定义与特点引言:介绍数值计算的定义和基本概念数值计算的特点:离散化、近似解、误差分析1.2 数值计算方法分类直接方法:高斯消元法、LU分解法等迭代方法:雅可比迭代、高斯-赛德尔迭代等1.3 数值计算的应用领域科学计算:物理、化学、生物学等领域工程计算:结构分析、流体力学、电路模拟等第二章:误差与稳定性分析2.1 误差的概念与来源绝对误差、相对误差和有效数字误差来源:舍入误差、截断误差等2.2 数值方法的稳定性分析线性稳定性分析:特征值分析、李雅普诺夫方法非线性稳定性分析:李模型、指数稳定性分析2.3 提高数值计算精度的方法改进算法:雅可比法、共轭梯度法等增加计算精度:闰塞法、理查森外推法等第三章:线性方程组的数值解法3.1 高斯消元法算法原理与步骤高斯消元法的优缺点3.2 LU分解法LU分解的步骤与实现LU分解法的应用与优势3.3 迭代法雅可比迭代法与高斯-赛德尔迭代法迭代法的选择与收敛性分析第四章:非线性方程和方程组的数值解法4.1 非线性方程的迭代解法牛顿法、弦截法等收敛性条件与改进方法4.2 非线性方程组的数值解法高斯-赛德尔法、共轭梯度法等方程组解的存在性与唯一性4.3 非线性最小二乘问题的数值解法最小二乘法的原理与方法非线性最小二乘问题的算法实现第五章:插值与逼近方法5.1 插值方法拉格朗日插值、牛顿插值等插值公式的构造与性质5.2 逼近方法最佳逼近问题的定义与方法最小二乘逼近、正交逼近等5.3 数值微积分数值求导与数值积分的方法数值微积分的应用与误差分析第六章:常微分方程的数值解法6.1 初值问题的数值解法欧拉法、改进的欧拉法龙格-库塔法(包括单步和多步法)6.2 边界值问题的数值解法有限差分法、有限元法谱方法与辛普森法6.3 常微分方程组与延迟微分方程的数值解法解耦与耦合方程组的处理方法延迟微分方程的特殊考虑第七章:偏微分方程的数值解法7.1 偏微分方程的弱形式介绍偏微分方程的弱形式应用实例:拉普拉斯方程、波动方程等7.2 有限差分法显式和隐式差分格式稳定性分析与收敛性7.3 有限元法离散化过程与元素形状函数数值求解与误差估计第八章:优化问题的数值方法8.1 优化问题概述引言与基本概念常见优化问题类型8.2 梯度法与共轭梯度法梯度法的基本原理共轭梯度法的实现与特点8.3 序列二次规划法与内点法序列二次规划法的步骤内点法的原理与应用第九章:数值模拟与随机数值方法9.1 蒙特卡洛方法随机数与重要性采样应用实例:黑箱模型、金融衍生品定价等9.2 有限元模拟离散化与求解过程应用实例:结构分析、热传导问题等9.3 分子动力学模拟基本原理与算法应用实例:材料科学、生物物理学等第十章:数值计算软件与应用10.1 常用数值计算软件介绍MATLAB、Python、Mathematica等软件功能与使用方法10.2 数值计算在实际应用中的案例分析工程设计中的数值分析科学研究中的数值模拟10.3 数值计算的展望与挑战高性能计算的发展趋势复杂问题与多尺度模拟的挑战重点解析本教案涵盖了数值计算方法的基本概念、误差分析、线性方程组和非线性方程组的数值解法、插值与逼近方法、常微分方程和偏微分方程的数值解法、优化问题的数值方法、数值模拟与随机数值方法以及数值计算软件与应用等多个方面。
(完整版)数值计算方法教案

《计算方法》教案课程名称:计算方法适用专业:医学信息技术适用年级:二年级任课教师:***编写时间:2011年 8月新疆医科大学工程学院张利萍教案目录《计算方法》教学大纲 (4)一、课程的性质与任务 (4)二、课程的教学内容、基本要求及学时分配 (4)三、课程改革与特色 (5)四、推荐教材及参考书 (5)《计算方法》教学日历..................................... 错误!未定义书签。
第一章绪论 .. (6)第1讲绪论有效数字 (6)第2讲误差………………………………………………………………………………第二章线性方程组的直接法 (14)第3讲直接法、高斯消去法 (14)第4讲高斯列主元消去法 (22)第5讲平方根法、追赶法 (29)第三章插值法与最小二乘法 (31)第6讲机械求积、插值型求积公式 (32)第7讲牛顿柯特斯公式、复化求积公式 (37)第8讲高斯公式、数值微分 (42)第9讲第10讲第12讲第四章数值积分与数值微分 (48)第11讲欧拉公式、改进的欧拉公式 (48)第12讲龙格库塔方法、亚当姆斯方法 (52)第13讲收敛性与稳定性、方程组与高阶方程 (56)第14讲第15讲第五章微分常微分方程的差分方法 (59)第16讲迭代收敛性与迭代加速 (60)第17讲牛顿法、弦截法 (64)第18讲第19讲第20讲第六章线性方程组的迭代法 (67)第21讲迭代公式的建立 (68)第22讲第23讲第24讲向量范数、迭代收敛性 (71)第25讲《计算方法》教学大纲课程名称:计算方法/Computer Numerical Analysis B学时/学分:54/4先修课程:高等数学、线性代数、高级语言程序设计(如:Matlab语言)适用专业:计算机科学与技术、信息管理与信息系统开课学院(部)、系(教研室):医学工程技术学院、医学信息技术专业一、课程的性质与任务计算方法是一门专业必修课。
数值计算方法课程设计要求

数值计算方法课程设计姓名学号班级实验要求1.应用自己熟悉的算法语言编写程序,使之尽可能具有通用性。
2.上机前充分准备,复习有关算法,写出计算步骤,反复检查,调试程序。
(注:在练习本上写,不上交)3.完成计算后写出实验报告,内容包括:所用的算法语言,CPU 时间,算法步骤叙述,变量说明,程序清单,输出计算结果,结构分析和小结等。
(注:具体题目具体分析,并不是所有的题目的实验报告都包含上述内容!)4.至少需要选择5道必做题目。
其余的也可以选择,如果多选,可酌情加分!5.独立完成,如有雷同,一律判为零分!6.上机期间不允许做其他任何与课程设计无关的事情,否则被发现一次扣10分,被发现三次判为零分!上机实习题目1. 编写秦九韶算法程序,并用该程序计算多项式623)(35+-+=x x x x f 在1.3 1.2, ,1.1=x 的值。
2. 用选列主元高斯消去法解线性方程组⎪⎪⎩⎪⎪⎨⎧=+-=-+-=-+-=--02 02 0 21 34343232121x x x x x x x x x x 3. 分别用平方根法和改进平方根法解线性方程组⎪⎩⎪⎨⎧=++=++-=+-631242321321321x x x x x x x x x4.考虑n 阶三对角方程组⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫=⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧3443 2 1 1 2 11 2 1 1 2 x ,,300=n(1) 用选列主元高斯消去法求解,(2) 编写追赶法程序并求解,(3) 比较两种方法的计算时间和精度。
5.用二分法和Newton 迭代法求下列方程的正根:,05.01)1l n (22=---+-x x x x x6.求解下列非线性方程组在原点附近的根:⎪⎩⎪⎨⎧=---=--=++0162160 20236436922322222z y x x z y x z y x7.分别写出解线性方程组⎪⎩⎪⎨⎧=++-=-+=+-1874165321321321x x x x x x x x x 收敛的Jacobi 迭代格式,Gauss-Seidel 迭代格式,SOR 迭代格式。
计算机数值方法教案

第O 章 绪论一、教学设计1.教学内容:数值计算方法这门课程的形成背景及主要研究内容、研究方法、主要特点;算法的有关概念及要求;误差的来源、意义、及其有关概念。
数值计算中应注意的一些问题。
2.重点难点:算法设计及其表达法;误差的基本概念。
数值计算中应注意的一些问题。
3.教学目标:了解数值计算方法的基本概念;掌握误差的基本概念:误差、相对误差、误差限、相对误差限、有效数字;理解有效数字与误差的关系。
学会选用相对较好的数值计算方法。
4.教学方法:介绍与讨论二、教学过程§1。
1引论1.课程简介:数学科学的一个分支,它研究数值计算方法的设计、分析和有关的理论基础与软件实现问题。
另外,有一个较常用的名词“数值分析”,其包含的内容属于计算数学的一个部分。
2.历史沿革:①数学最初导源于计算,计算曾经是古代数学的最重要的组成部分。
②各个时期的大数学家,在发展基础数学的同时也都对计算方法作出了重要贡献。
例如:牛顿、拉格朗日、高斯、秦九韶等。
③直到20世纪40年代,由于技术手段和计算工具条件的不足,发展比较缓慢,作用也比较有限。
3.计算方法的形成:①20世纪下半叶,计算机极大地扩展了数学的应用范围与能力。
如:天气预报②计算能力的提高与所用计算方法的效能密切相关。
③以原来分散在数学各分支的计算方法为基础的一门新的数学科学“计算数学”开始形成并迅速发展。
4.作用与意义:科学实验、科学理论、科学计算已成为人类进行科学活动的三大方法。
这是伽利略、牛顿以来在科学方法论方面取得的重大进展。
5.计算方法的任务:①将计算机不能直接计算的运算,化成在计算机上可执行的运算。
例:!!212n x x x e n x++++≈ , h x y h x y x y )()()(-+≈' ②针对数值问题研究可在计算机上执行且行之有效的新系列计算公式。
例:解线性方程组,已有Cram 法则,但不可行。
(几十万年)③误差分析,即研究数值问题的性态和数值方法的稳定性。
数值计算方法和算法课程设计

数值计算方法和算法课程设计一、简介数值计算方法和算法课程是计算机科学与技术专业中重要的课程之一,其内容主要包含了数值计算方法和基本算法的理论、思想、原理和应用,培养了我们在计算机运算中提高算法效率和准确度的能力。
本文档是数值计算方法和算法课程设计的撰写指南,旨在帮助大家完成课程设计的撰写,以完成课程的要求。
二、数值计算方法数值计算方法是对数值问题进行数学解法的研究。
数值计算方法涉及的问题包括:求解方程、插值和逼近、数值积分和数值微分、常微分方程、偏微分方程等。
在数值计算方法中,我们需要了解一些常见的算法,例如:二分法、牛顿迭代法、高斯-塞德尔迭代法、龙格-库塔法等。
课程设计要求学生能够对各种数值方法进行学习、比较、分析和综合使用,完成一定的数值计算问题。
三、算法设计算法设计是在具体的问题基础上,根据规则和原则选择合适的计算流程和方法,得到满足计算要求的算法过程。
计算机算法是在计算机程序设计过程中所采用的一些指导模式,其目的在于使计算机能够依据事先给定的任务说明和数据,精细地指导其运算。
算法设计需要学生具备深厚的数学功底和良好的编程能力,同时,还需要学生掌握常见的算法设计原则和技巧。
四、课程设计要求本门课程设计要求学生独立完成一个数值计算问题的解法的完整过程。
具体要求:1.选择适合的数值计算问题并设计算法实现;2.实现程序并进行测试;3.通过测试数据的分析和效果评价,进行算法设计的改进;4.撰写设计报告并提交。
五、设计报告内容设计报告应该包括以下内容:1.问题的阐述与分析,明确所需要解决的数值计算问题,并说明具体的解法;2.算法实现流程,详细说明算法中所使用的思想、原理和过程;3.程序编写内容,对程序进行详细的讲解和分析,并附上程序代码;4.程序测试过程,对测试数据和效果进行分析和说明,并展示输出结果;5.算法改进,对算法的不足之处和改进方向进行分析;6.总结,对设计过程中的感受和体会进行总结并对未来方向进行展望和思考。
数值计算方法第三版教学设计

数值计算方法第三版教学设计前言数值计算方法是基础课程中的一门重要课程,对于理工科学生来说具有十分重要的意义。
本篇文档将对数值计算方法第三版的教学设计进行详细阐述,旨在帮助教师更好地开展教学工作。
教学目标本课程的教学目标包括以下几点:1.了解数值计算的基本原理及其应用领域;2.掌握数值计算方法的基本概念和原理;3.能够运用数值计算方法解决实际问题;4.培养学生分析问题、解决问题的能力。
教学内容本课程的主要内容包括以下几个方面:1.数值计算的基本概念和方法;2.插值与逼近;3.数值微积分;4.常微分方程的数值解法;5.偏微分方程的数值解法;6.随机数与随机过程。
注:本课程的教学重点将放在数值微积分和常微分方程的数值解法上。
教学方法本课程将采取以下教学方法:1.课堂讲授:教师通过讲授来呈现课程内容;2.上机实验:学生通过实验来巩固所学知识;3.课堂互动:通过课堂讨论、练习等互动方式,激发学生的学习兴趣;4.课程设计:设计小型项目,让学生运用所学知识来解决实际问题。
教学评价本课程的教学评价将采用以下方式:1.写作业:学生需要完成每个章节的作业;2.上机实验报告:学生需要针对每个实验编写实验报告;3.期末考试:期末考试将占总成绩的70%;4.课程设计:课程设计将占总成绩的30%。
教学进度本课程教学进度如下:章节教学内容教学进度1 数值计算基本概念和方法2周2 插值与逼近2周3 数值微积分3周4 常微分方程的数值解法4周5 偏微分方程的数值解法2周6 随机数与随机过程2周实验上机实验6周章节教学内容教学进度课程设计设计小型项目4周总结本篇文档详细介绍了数值计算方法第三版的教学设计,其中包括教学目标、教学内容、教学方法、教学评价以及教学进度等方面。
相信有了本文档的指导,教师们将能够更好地开展授课工作,使学生们能够真正掌握数值计算方法这门重要课程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆邮电大学数学与应用数学 专业《数值计算方法》课程设计姓名: 李金徽 王莹 刘姝楠班级: 1131001 1131002 1131002 学号: 2010213542 2010213570 2010213571设计时间:2012-6-4指导教师:朱伟一、课程设计目的在科学计算与工程设计中,我们常会遇到求解线性方程组的问题,对于系数矩阵为低阶稠密矩阵的线性方程组,可以用直接法进行消元,而对于系数矩阵为大型稀疏矩阵的情况,直接法就显得比较繁琐,而迭代法比较适用。
比较常用的迭代法有Jacobi 迭代与Gauss - seidel 迭代。
本文基于两种方法设计算法,并比较他们的优劣。
二、课程设计内容给出Jacobi 迭代法和Gauss-Seidel 迭代法求解线性方程组的算法思想和MATLAB 程序实现,并对比分析这两种算法的优劣。
三、问题的分析(含涉及的理论知识、算法等)Jacobi 迭代法方程组迭代法的基本思想和求根的迭代法思想类似,即对于线性方程组Ax = b( 其中nn n R b R R A ∈⨯∈,),即方程组)1(22112222212111212111⎪⎪⎩⎪⎪⎨⎧=+⋯++⋯⋯=+⋯++=+⋯++nn nn n n n n n n b x a x a x a b x a x a x a b x a x a x a将系数矩阵A 写为)2(000000211221212211UL D a a a a a a a a a A n n n n nn --≡⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----⎪⎪⎪⎪⎪⎭⎫⎝⎛----⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=若选取D M =,则U L A M N +=-=,方程组)1(转化为等价方程组b x U L Dx ++=)(迭代公式:于是,得可逆,所以因为Jacobi b D x U L D x D n i a ii .)(),,,1(011--++==≠)3()()()1()0(⎪⎩⎪⎨⎧+=+f x B x x k J k 初始向量迭代公式的分量形式:。
)(其中,迭代矩阵Jacobi b D f U L D B J 11-,-=+=)可写为次近似,则式(为第引进记号:3),,,()()(2)(1)(k x x x x Tk n k k k =∑≠=+-=nij j k j ij i k iii x a b xa 1)()1(或)4(),2,1,0;,2,1(,),,,(1)()1()0()0(2)0(1)0(⎪⎪⎩⎪⎪⎨⎧==-==∑≠=+ k n i a x a b x x x x x ii ni j j k j ij i k iTn ,为其精度||||)()1(k k x x -+。
Gauss-Seidel 迭代法的等价方程组为方程组下三角矩阵),于是若取)1(.(U A M N D L M =-=-=bUx x L D +=-)(赛德尔迭代公式:于是,得到高斯-)(初始向量)5()()1()0(⎪⎩⎪⎨⎧+=+f x B x x k G k阵。
赛德尔迭代法的迭代矩为解方程组的高斯称。
其中,-)(,)(11G G B b L D f U L D B ---=-=)可写成公式(记5,)()(2)(1),,,()(x x x xk n k k Tk =bUx L D xk k +=-+)()1()(b xa x a xa ik jni j iik ji j ii k iii+--=∑∑+=+-=+)(1)1(11)1(⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧==--==∑∑+=+-=+),2,1,0;,2,1(),,,(1)()1(11)1()0()0(2)0(1)0( k n i x x a b x x x x x ii n i j k j k j i j ii i k i Tn,或算法步骤: Jacobi 步骤第一步:输入A ,b,x0,e 的初始值第二步:求出b 的长度,和A 的大小;判断输入变量的个数,使x 与x0之间产生差值,设定x x x x k k ==+,0)1(,给定k 的初始值; 第三步:求出上下三角矩阵进而求出对角矩阵的逆;第四步:求出谱半径,当谱半径小于一时,用while 循环,当满足e x x k k >-∞+||||)1(时,k=k+1;),2,1,0;,,2,1(,1)()1( ==-=∑≠=+k n i a x a b xiinij j k j ij i k i。
若谱半径不小于一,则迭代法发散。
Gauss-Seidel 步骤:第一步:输入A ,b,x0,e 的初始值第二步:求出b 的长度,和A 的大小;判断输入变量的个数,使x 与x0之间产生差值,设定x x x x k k ==+,0)1(,给定k 的初始值;第三步:求出下三角矩阵并求出它的逆;第四步:求出谱半径,当谱半径小于一时,用while 循环,当满足e x x k k >-∞+||||)1(时,k=k+1;),2,1,0;,,2,1(,111)()1()1( ==--=∑∑-=+=++k n i a xxa b x iii j ni j k jk jij i k i 。
若谱半径不小于一,则迭代法发散。
四、计算过程(含涉及编写的程序、计算结果截屏等)Jacobi 程序:先建立一个m 文件程序为:function [x,k]=Jacobi(A,b,x0,e) n=length(b);if nargin<4,e=1e-4;endif nargin<3,x0=zeros(n,1);end x=x0;x0=x+2*e;k=0; m=size(A); for i=1:mAl(i:m,i)=A(i:m,i); Au(i,i:m)=A(i,i:m); a(i,i)=1; endiAl=a/Al;iAu=a/(Al+Au-A); B=-iAu*(2*A-Au-Al); C=eig(B);p=max(abs(C)) if p<1while norm(x0 -x,inf)>e k=k+1;x0=x;x=-iAu*(2*A-Au-Al)*x0+iAu*b; disp(x') endelseif p>=1,warning('reached the Max-number of iterations'); end在matlab 中的举例运行的计算结果为:>> A=[10 -1 -2;-1 10 -2;-1 -1 0.5];>> b=[7.2 8.3 4.2]';>> [x,k]=Jacobi(A,b,[0 0 0]',1e-4)p =0.9458x =24.499624.5996106.5983k =198Gauss-Seidel程序:先建立一个m文件程序为:function [x,k]=GaussSeidel(A,b,x0,e)n=length(b);if nargin<4,e=1e-4;endif nargin<3,x0=zeros(n,1);endx=x0;x0=x+3*e;k=0;m=size(A);for i=1:mAl(i:m,i)=A(i:m,i);a(i,i)=1;endiAl=a/Al;B=-iAl*(A-Al);C=eig(B);p=max(abs(C))if p<1while norm(x0 -x,inf)>ek=k+1;x0=x;x=-iAl*(A-Al)*x0+iAl*b;disp(x')endelseif p>=1,warning('reached the Max-number of iterations'); end在matlab中的举例运行的计算结果为:>> A=[10 -1 -2;-1 10 -2;-1 -1 0.5];>> b=[7.2 8.3 4.2]';>> [x,k]=GaussSeidel(A,b,[0 0 0]',1e-4)p =0.8947x =24.499824.5998106.5992k =106由于147<198,所以Gauss-Seidel迭代法的收敛速度总是比Jacobi迭代法的收敛速度快。
但是当初始值变成如下时有:>> A=[1 2 -2;1 1 1;2 2 1];>> b=[1 2 2]';>> [x,k]=Jacobi(A,b,[0 0 0]',1e-4)p =9.1754e-0061 2 21 -1 -4-5 5 2-5 5 2x =-552k =4>> A=[1 2 -2;1 1 1;2 2 1];>> b=[1 2 2]';>> [x,k]=GaussSeidel(A,b,[1 1 1]',1e-4)p =2Warning: reached the Max-number of iterations> In GaussSeidel at 22x =111k =此时雅可比(Jacobi)可以迭代而高斯-塞德尔(Gauss-Seidel)则发散。
五、问题求解结果的分析与结论雅可比(Jacobi)迭代法和高斯-塞德尔(Gauss-Seidel)迭代法是迭代法中的两种。
两种迭代法的本质区别在于:Gauss-Seidel迭代不断地运用新值替代旧值,而Jacobi迭代却不是。
在实际计算时,Gauss-Seidel迭代法的迭代格式比Jacobi迭代格式紧凑,并且只需要一套存放迭代向量单元。
凡是迭代法都有收敛性与识差估计的问题,对于一个给定的方程组,某些迭代法收敛的快,而有些迭代法可能不收敛,或收敛的慢,以至于无实用价值。
对于A满足一定条件时Gauss-Seidel迭代法的收敛速度是比Jacobi迭代法的收敛速度快的结论得到了验证。
六、课程设计的总结与体会(含每位同学承担的主要工作等)程序设计体会王莹(2010213570):在这次程序设计中我主要担任编写运行程序。
这次程序设计,给我带来了很多收获。
数值已经学了一个学期了,许多知识都在似懂非懂的现象,但这种现象通过实际的上机操作,已经减少了许多。
对这些知识也有了更深的理解和很好的掌握。
也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。
这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。
只能避过这些方法,换方法实现。
在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。