化工计算方法-7-代数方程组数值解.ppt

上传人:xt****7 文档编号:5365102 上传时间:2020-01-27 格式:PPT 页数:25 大小:490.81KB
返回 下载 相关 举报
化工计算方法-7-代数方程组数值解.ppt_第1页
第1页 / 共25页
化工计算方法-7-代数方程组数值解.ppt_第2页
第2页 / 共25页
化工计算方法-7-代数方程组数值解.ppt_第3页
第3页 / 共25页
点击查看更多>>
资源描述
7代数方程组数值解法 7 1直接法解线性方程组7 1 1高斯 Gauss 消去法 代数方程组 线性非线性 线性代数方程组求解方法 直接法 通过有限步运算 减少或消去未知量个数 求得方程精确解的方法迭代法 反复运用迭代格式 逐步逼近方程精确解的方法 方法及步骤 第1行各项除以a11后得 将以上方程分别乘 ai1 后加到第i行 i 2 3 n 得 高斯 Gauss 消去法 变元x2 xn的N 1阶方程组 将以上方程分别乘 ai2 后加到第i行 i 3 n 得 重复以上过程 n步后 得到以下形式方程组 上三角形方程组 将方程组加工成三角形的过程称为消元过程 第2行各项除以a22后得 N 2阶方程组 高斯 Gauss 消去法的回代过程 高斯 Gauss 消去法 逆序回代可求得所有未知数 直接得到xn的值 计算可得xn 1的值 继续计算可得xn 2 xn 3 x1的值 消元过程 通过减少变元个数将方程加工为上三角形方程组回代过程 逆序回代求得未知数的解 7 1 2列主元高斯 Gauss 消去法 设第l个方程系数alk最大 处理方法 每次消元前 检查所要加工的方程组中变元xk的各个系数akk ak 1 ank 挑选出绝对值最大者作为第k步主元素 将第l个方程与第k个方程互换位置 也就是将第l行与第k行的全部元素互换 使alk成为新的主元素akk 然后再进行消元 消元过程要用元素akk中作除数 如果akk的绝对值很小或者等于0 计算过程中精度会严重损失甚至溢出中断计算 预防办法是事先对方程进行处理 7 1 3追赶法解三对角线方程组 系数矩阵是三对角矩阵 只有主对角线和相邻的两条对角线上有非零元素 其余元素为零 追赶法是高斯消去法用于解三对角矩阵的简化形式 这种方法比较简单 计算量小 节省存贮量 三对角型方程组的系数矩阵 追赶法的步骤 1 消元 将对角线元素化为1 并将下对角元素消去2 进行回代计算 追赶法消元过程 消元后形式为 回代过程 特点 计算量很小 所需存贮量小 三对角线以外的零元素不占存贮空间 程序编写容易 例7 1分别用Gauss消去和列主元Gauss消去求解方程组 解MATLAB中 求解线性方程组最方便的是直接使用左除符号 只须写为 X A b 即可求解 本例为说明高斯消去和列主元高斯消去的求解过程 仍按算法步骤编程计算 参考程序见教材p 83 高斯消去和列主元高斯消去的计算结果x 9 1 6 7 2迭代法解线性方程组7 2 1雅可比迭代法 代入一组近似值 例 用雅可比迭代解方程组 首先从上式分离出x1 x2 x3 写成一般形式 本例取迭代初值 经过12次迭代 得 用以上格式计算 可产生一系列近似解序列 当两次迭代结果偏差小于给定精度时 计算终止 雅可比迭代格式 迭代法解代数方程组的基本思想 将联立方程组的求解 归结为重复计算一组彼此独立的表达式 使问题简化 迭代格式的一般形式 是否所有迭代格式都可以求得方程组的解 以此迭代格式 仍取初值 迭代格式讨论 迭代得 迭代结果 xi的值越来越大 最终导致溢出发散 7 2 2高斯 塞德尔迭代法 如果计算结果收敛 所求xi k 1 通常比xi k 准确 若在迭代时将最新算出的xi k 1 马上用于其后的计算中 有 雅可比迭代 高斯 塞德尔迭代 高斯 塞德尔迭代格式 迭代的收敛判据 绝对收敛判据 相对收敛判据 迭代格式收敛条件 1 收敛精度 收敛精度 线性方程组 雅可比迭代格式 高斯 塞德尔迭代格式 如果满足 迭代格式收敛 例 对以下方程的两种迭代格式 各行同列系数相加之和中最大者小于1 则以上迭代格式对任意给定的初值均收敛 迭代格式发散 雅可比迭代格式收敛条件 2 方程组形式为 如果系数矩阵满足对角占优 则雅可比迭代与高斯 塞德尔迭代对任意给定初值均收敛 系数矩阵主对角线元素的绝对值大于同行其它元素绝对值之和 称为具有主对角线优势 迭代法要求方程组具有主对角线优势 7 2 2解代数方程组的超松弛 SOR 法 代入高斯 塞德尔迭代格式 基于高斯 塞德尔迭代格式的超松弛迭代公式 松弛因子Relaxationfactor 调整两次迭代计算结果之差 迭代所得未知量的变化幅度 目的 改善迭代计算的收敛性和稳定性 加快收敛速度 两次迭代计算的结果之差 插入系数 超松弛与欠松弛 例 以下为偏微分方程的差分方程组 用松弛迭代法求解 初值取为 xi 0 10 0 i 1 2 10 收敛精度为0 0001 的取值从0 5开始 每次增量0 05 直到 1 50 比较不同 取值下的迭代次数K 1 称为超松弛OverRelaxation 收敛过程加快 0 1 为欠松弛或亚松弛UnderRelaxation 非线性方程时经常使用 可使求解收敛过程稳定 解 用基于高斯 塞德尔迭代格式的超松弛迭代公式计算 例题求解结果 不同 取值时的迭代次数K 本题的最佳松弛因子取值为1 05最佳松弛因子的选取较为复杂 通常需要在计算过程中搜索 7 3非线性方程组数值解 非线性方程组的数值解通常采用迭代法求解线性方程组的雅可比迭代及塞德尔迭代 均可用于求解非线性方程组 求解单一非线性方程的牛顿法和弦截法等 也可推广到求解非线性方程组 对有n个独立的非线性方程组 雅可比迭代法 向量形式 雅可比迭代格式 X 的构造形式可有多种 但不一定都能收敛 塞德尔迭代格式 非线性方程组雅可比迭代格式的收敛条件 绝对收敛准则 相对收敛准则 塞德尔迭代的收敛条件与雅可比迭代相同 但收敛速度则因所求解的问题而不同 威格斯坦 Wegstein 法 一种用于非线性方程迭代求解的加速方法几何意义 利用割线逐次逼近曲线 威格斯坦 Wegstein 法计算步骤 威格斯坦迭代格式不但可以加速迭代过程 而且可以改善迭代过程的收敛性 放宽对初值的要求 威格斯坦法求解非线性方程组常在流程模拟中应用 1 确定初值 用雅可比迭代格式算出第一次迭代值 2 用前两次的迭代值构成威格斯坦迭代格式 例题7 4分别用雅可比迭代和塞德尔迭代解非线性方程组 解由原方程组构造迭代方程组 取迭代初值 精度取10 5 MATLAB中有求解非线性方程组的函数fsolve可直接调用求解 此处为了理解算法 仍按算法步骤编程计算 计算结果i 5x 0 50000 0000 0 5236比较 精确解 例题7 5用威格斯坦法解方程组 解首先改写方程组为迭代格式 威格斯坦法计算步骤 a 选定初值X 0 用雅可比迭代法求X 1 b 用X 0 和X 1 计算Si和ti c 用威格斯坦迭代格式计算X d 收敛判断 如满足收敛判据 结束迭代计算 否则返回到步骤 b 继续进行迭代计算 参考程序见教材p 94 用威格斯坦法迭代12次如用雅可比迭代需要23次 本例计算结果为x 1 00007 99994 0000 精确解 在非线性方程组求解的收敛性方面 塞德尔迭代法并非一定好于雅可比迭代 而是取决于方程组的形式 迭代格式和初值等 与线性方程组相比 非线性方程组的迭代求解对初值的要求更高 本章要求掌握线性方程组求解的两类方法了解高斯消去法 列主元高斯消去法和追赶法的求解步骤及过程了解迭代求解过程 迭代格式的收敛条件以及迭代求解的加速方法能用计算机编程求解实际问题
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!