




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中师范大学 课程结业论文 题题 目目 非线性方程组牛顿法及非线性方程组牛顿法及 MATLABMATLAB 程序程序 院 系 数学与统计学学院 专 业 数学与应用数学 年 级 2014 级 课堂名称 数值分析 1 实验 学生姓名 杨帅 学 号 2014212643 2016 年 6 月 18 非线性方程组牛顿法及其 MATLAB 程序 摘要 学了 数值分析 这门课 了解到非线性方程的数值解法有 对分区 间法 简单迭代法 Aitken Steffensen 加速法 Newton 迭代法 正割法等 自然就会想到非线性方程组的数值解法有哪些呢 和非线性方程的数值解法有 哪些不不同呢 在研究非线性方程组的数值解法之前 首先要给非线性方程组 下一个合理定义 n 个变量 n 个方程 n 1 的方程组表示为 其中 i 1 2 n 若中至少有一个是非线性0 21 nixxxfif 函数 则称上述的表示为非线性方程组 在 R 中记 其中记 且 T nxxxff 21 1niiixxfxff Dx 若存在尣 D 使 尣 0 则称尣为非线性方程组的解 上述 方程组可能有一个解或多个解 也可能有无穷多解或无解 对非线 性方程组解的存在性的研究远不如线性方程组那样成熟 现有的解 法也不象线性方程组那样有效 除极特殊的方程外 一般不能用直 接方法求得精确解 目前主要采用迭代法求近似解 根据不同思想 构造收敛于解尣的迭代序列 尣 k 0 1 即可得到求解非线 性方程组的各种迭代法 但研究数学问题的时候 一般是由简单到 复杂 由特殊到一般 因此要在研究非线性方程组牛顿解法的时候 首先要探究非线性方程的牛顿解法 1 11 1 求解线性方程组的牛顿法及其求解线性方程组的牛顿法及其 MATABMATAB 程序程序 1 1 1 程序设计思路 输入的量 初始值 近似根的误差限 tol 近似根的函0 xkxkx 数值得误差限 ftol 迭代次数的最大值 gxmax 函数 fnq x kxf 及其导数 dfnq x f x xf 输出的量 迭代序列 迭代 k 次得到的迭代值 迭代kxkx 次数超过 gxmax 时 运行后输出信息 请注意 迭代次数超过给定的 最大值 gxmax 相邻两次迭代的偏差 piancha 和它的偏差1 kkx x 的相对误差 xdpiancha 的值 1 kkx xkx 1 1 2 具体操作 现提供名为 newtonqx m 的 M 文件 function k xk yk piancha xdpiancha newtonqx x0 tol ftol gxmax x 1 x0 for i 1 gxmax x i 1 x i fnq x i dfnq x i eps piancha abs x i 1 x i xdpiancha piancha abs x i 1 eps i i 1 xk x i yk fnq x i i 1 xk yk piancha xdpiancha if abs yk ftol end i 1 xk yk piancha xdpiancha 1 1 3 例题分析 用牛顿法求解方程 2x 3 3x 2 1 0 在 0 4 和 0 9 的近似根 要0 x 求精度 10 3 然后判断此方法分别在方程的根 0 5 和 1 x 处的收敛速度 1 先求方程的近似根 在 MATLAB 工作窗口输入程序 k xk yk piancha xdpiancha newtonqx 0 4 0 001 0 001 100 运行后输出初始值 0 4 的迭代结果如表所示 0 x k 1 kkx x kx 0 5 1 6 7 0 0 7 6 7 0 1 1 6 7 0 2 2 5 8 2 0 5 0 0 4 0 0 0 1 6 0 0 1 6 3 0 0 3 2 6 3 0 5 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 7 迭代次数 k 3 根的近似值 0 500 它的函数值 1 759e kxky 013 偏差 piancha 1 712e 007 和相对误差 xdpiancha 3 423e 007 如果将 0 4 改作 0 9 则运行后输出初始值 0 4 的迭代结果0 x 为 k 7 piancha 7 290e 004 xdpiancha 7 295e 004 0 999 kx 1 590e 006 ky 2 再讨论收敛速度 比较初始值分别是 0 4 和 0 9 的两组结果 在 0 4 处0 x0 x 迭代 3 次就得到单根 0 5 的近似值 0 500 而在 x0 0 9 xkx 处迭代 7 次才得到二重根 1 的近似值 0 999 可见 牛顿切线 xkx 迭代法在单根处的迭代速度比二重根处的迭代速度快很多 这正如前 面讨论的结果一样 即若 是 f x 0 的单根 则牛顿切线法是平 x 方收敛的 若 是 f x 0 的二重根 则牛顿切线法是线性收敛的 x 2 12 1 求解二元非线性方程组的牛顿法及其 求解二元非线性方程组的牛顿法及其 MATLABMATLAB 程序程序 2 1 1 程序设计思路 输入的量 初始值 X 要求的近似根 的误差00 yxkkyx tol 的函数值 的误差限 ftol 迭代次数的最kkyx 2 1 iyxfkki 大值 ngmax 和函数 及其一阶偏导数 2 1 iyxfkki 输出的量 迭代次数得到的迭代向量值 X 向kci 00 yx 量的函数值 Y Y 的 2 范数 hanfan 迭代方程组 21kkkkyxfyxf 的系数行列式 D 的值 相邻两次迭代向量的 2 范数 danfan norm 和它的 2 范数的相对误差 xddf danfan norm 的值kkXX 11 kX 当迭代次数超过最大值 ngmax 时运行后输出 请注意 迭代次数 超过给定的最大值 namax 请重新输入初始值 当 D 0 时 运行0 x 后输出信息 请注意 迭代方程组的系数行列式的值等于零 2 1 2 具体操作 使用两个初始值 现提供名为 newtonzu2 m 的 M 文件00 yx function ci D danfan xddf hanfan Xk Yk newtonzu2 X tol ftol ngmax Y Z X for i 1 ngmax dY JZ X D det dY A1 Y 1 dY 1 2 Y 2 dY 2 2 A det A1 B1 dY 1 1 Y 1 dY 2 1 Y 2 B det B1 Xk X A B D hanfan norm Y danfan norm Xk X xddf danfan norm Xk eps X Xk Y Z X ci i if D 0 ci i Xk X A B D Yk Y ci D danfan xddf hanfan X Y else disp 请注意 迭代方程组的系数行列式的值等于零 end if hanfan ftol end end 2 1 3 例题分析 用上述迭代法求解方程组 x 2 y 2 16 与 x 2 y 2 2 1 设 x 2 y 2 16 1xf x 2 y 2 2 2xf 则y y yxf x x yxf y y yxf x x yxf 2 2 2 2 2211 2 作函数和的图像 输入程序 1xf 2xf syms x y F1 x 2 y 2 2 F2 x 2 y 2 16 ezplot F1 4 5 4 5 hold on ezplot F2 4 5 4 5 hold off 运行后屏幕显示如右图 取两个初始值2 200 yx 3 建立并保存名为 Z m 的 M 文件 function F Z X x X 1 y X 2 F zeros 1 2 F 1 x 2 y 2 16 F 2 x 2 y 2 2 4 建立并保存名为 JZ m 的 M 文件 function dF JZ X x X 1 y X 2 dF zeros 2 2 dF 1 1 2 x dF 1 2 2 y dF 2 1 2 x dF 2 2 2 y 5 保存名为 newtonzu2 m 的 M 文件 6 在 MATLAB 工作窗口输入程序 X 2 2 k D danfan xddf hanfan Xk Yk newtonzu2 X 1e 4 1e 4 100 7 运行后输出结果 k 5 D 63 49803146638493 danfan 3 932201289951168e 011 xddf 9 830503224877920e 012 hanfan 3 336593498083849e 010 Xk 2 99999999996068 2 64575131106449 Yk 1 0e 015 0 0 88817841970013 2 22 2 求解求解 n n 元非线性方程组的牛顿法及其元非线性方程组的牛顿法及其 MATLABMATLAB 程序程序 2 2 1 程序设计思路 输入的量 初始值 要求的近似根的误差限 tol 的函0X k x k x 数值 的误差限 ftol 迭代次数的最大值if k xn 2 1i gxmax 和函数 及其一阶偏导数 if k xn 2 1i 输出的量 迭代 k 次数得到的迭代向量值 向量的函数值 k x 及其 2 范数 hanfan 迭代方程组的雅可比矩阵if k xn 2 1i 的行列式 D 的值 相邻两次迭代向量的 2 范数 danfan norm 和它的 2 范数的相对误差 xddf danfan norm 的值 kk xx 11 k x 当迭代次数超过最大值 gxmax 时运行后输出信息 请注意 迭代 次数超过给定的最大值 gxmax 请重新输入初始值 当 D 0 时 运 行后输出信息 请注意 迭代方程组的系数行列式的值等于零 2 2 2 具体操作 使用两个初始值 现提供名为 newtonzu2 m 的 M 文件00 yx function ci D danfan xddf hanfan Xk Yk newtonzun X tol ftol gxmax Y Z X for i 1 gxmax dY JZ X D det dY Xk X dY Y hanfan norm Y danfan norm Xk X xddf danfan norm Xk eps X Xk Y Z X ci i if D 0 ci i Xk X dY Y Yk Y ci D danfan xddf hanfan X Y else disp 请注意 迭代方程组的系数行列式的值等于零 end if hanfan ftol end 2 2 3 例题分析 用上述 n 元非线性方程组的迭代法求解方程组 x 2 y 2 16 与 x 2 y 2 2 在 MATLAB 工作窗口输入程序 X 2 2 k D danfan xddf hanfan Xk Yk newtonzun X 1e 6 1e 6 100 运行后输出结果 k 5 D 63 49803146638493 danfan 3 932201289951168e 011 xddf 9 830503224877920e 012 hanfan 3 336593498
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中书法概述课件
- 离婚双方贷款房产分割及共同还款协议
- 生猪、菜牛、菜羊、家禽养殖基地养殖资金购销合同
- 离婚后特殊病患子女抚养权及医疗费用承担协议
- 生物质能源项目贷款合同附共同担保人及环保责任
- 电信IDC机房服务-移动数据业务标包合作协议
- 公务员面试培训咨询服务合同
- 化学工业新产品推广细则
- 物业管理矛盾调解手册
- 园艺工程:参与或观赏园林景观工程
- 古茗合同协议书
- 湖北省技能高考(学前教育)专业知识考试必刷题及答案(含往年真题)
- 《跨国供应链管理案例解析》课件
- 临床案例谈护理文书规范化法律意义与纠纷防范
- CNAS-CI01:2012 检查机构能力认可准则
- 麻风病防治知识讲座
- 2023年威海桃威铁路有限公司招聘笔试参考题库附带答案详解
- 急性心梗诊疗(2025指南)解读课件
- 2025至2030年中国综合能源服务产业投资规划及前景预测报告
- 虾滑产品知识培训课件
- 2025-2030全球宠物电器行业发展趋势分析及投资前景预测研究报告
评论
0/150
提交评论