实验5非线性方程求根及其MATLAB实现PPT课件_第1页
实验5非线性方程求根及其MATLAB实现PPT课件_第2页
实验5非线性方程求根及其MATLAB实现PPT课件_第3页
实验5非线性方程求根及其MATLAB实现PPT课件_第4页
实验5非线性方程求根及其MATLAB实现PPT课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类数学实验之 方程求近似实根问题 考虑方程f x 0 求根分为两步 先确定某个根的近似值 再将初始近似值加工成满足精度要求的结果 两分法迭代 理论基础 零点定理 设f x C a b f a f b 0 区间 a b 就是方程 根的存在区间 再用下面的方法改善根的精度 方程求根数值算法的基本思想 取 a b 的中点x0 a b 2 若f x0 0 则x0即是根 否则 f a f x0 0 令a1 a b1 x0 取 a b 的左半部 f x0 f b 0 令a1 x0 b1 b 取 a b 的右半部 a b f a f a b 2 f b f x x y 将上述做法重复n次 得到n个小区间 且bn an b a 2n a b 两分法迭代 当n足够大时即可达到满意的精度 例1求方程x3 1 1x2 0 9x 1 4 0的一个实根 使误差不超过10 3 两分法迭代 解 首先观测图形 作f x 的图像 ezplot x 3 1 1 x 2 0 9 x 1 4 x 1 0 01 1 y x 3 1 1 x 2 0 9 x 1 4 函数表达式figure plot x y LineWidth 2 画出图形holdon y1 zeros size x y1 0plot x y1 r LineWidth 4 bisect m关于此程序的解释见 方程求根的代码解释 一文 按两分法的思想 进行迭代求根 为了使得程序具有通用性 将方程的表达式写成一个函数 functiony myequation x y x 3 1 1 x 2 0 9 x 1 4 这样修改y的表达式 即可求出其他方程的实根 3 运行二分法的程序 两分法迭代的加速 a b f a f a b 2 f b f x x y c 以f a f b 的连线在x轴的交点作为新的出发点 但此方法不一定能真正加速 原理请详见教材p191 程序 fastbisect m 不动点迭代 称满足方程f x x的点x为函数f的不动点 求函数f的不动点 可以从一个初始点x0出发 以格式xn 1 f xn 进行迭代 x1 f x0 x2 f x1 xk 1 f xk 得到x0 x1 x2 xn 如果该数列是收敛的 则 将方程f x 0 化为等价方程x x 2 取某个定数x0 做数列 xn 其中 x1 x0 x2 x1 xk 1 xk 3 设 x 连续 且 a就是方程f x 0的根 a就是函数 的一个不动点 即a a 等价于f a 0 y f x x0 f x0 x1 f x0 f x1 x2 f x1 y x x 收敛的迭代 发散的迭代 x0 不动点迭代 解 可将方程写成下三种形式 x 14 x2 functionf iterfun x f 14 x 2 f 14 x 1 f x x 2 x 14 2 x 1 1 将三种迭代形式写成函数存起来 2 演示程序使用的程序 iter m 不动点迭代 收敛性蛛网图 一般地 若函数 x 在含不动点 的某邻域内一阶导数连续 且 则存在一个邻域 x 对任何的x0 其迭代序列必收敛 高级例子iterexample2 m请同学们自己消化 3 牛顿迭代法 记 a b 为方程f x 0的根的存在区间 f a 与f b 异号 且对于每个x a b f x 0 f x 保持符号不变 取x0 a b 对f x 用微分中值定理 近似地 有f x p x f x0 f x0 x x0 令p x 0 得到f x 0的近似根 记为x1 为改善根的精确程度 反复实施这一过程 得到牛顿迭代公式 xk 1就是从线性方程f xk f xk x xk 0 1 中解得的根x 以点 xk f xk 为切点 曲线y f x 的切线y f xk f xk x xk 2 方程 2 与y 0相联立 得到与x轴的交点 该交点即xk 1 x x0 x0 f x0 x1 x1 f x1 x2 例3求方程 在x0 2附近的近似实根 准确到小数点后4位数字 解 迭代公式为 计算步骤如下 1 选x0 2 按照迭代公式计算x1 2 若 x1 x0 0 00001 终止迭代 否则 x0 x1 转 1 3 输出迭代次数和近似根 编程步骤如下 1 写函数 function fun dfun fun0 x fun x 3 3 x 1 求原函数的值dfun 3 x 2 3 求一阶导数的值 2 写牛顿迭代法的程序 x0 2 fun dfun fun0 x0 x1 x0 fun dfun i 1 whileabs x1 x0 0 00001x0 x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论