第五讲非线性方程模型实验.ppt

上传人:bao****ty 文档编号:135662321 上传时间:2020-06-17 格式:PPT 页数:37 大小:249.50KB
返回 下载 相关 举报
第五讲非线性方程模型实验.ppt_第1页
第1页 / 共37页
第五讲非线性方程模型实验.ppt_第2页
第2页 / 共37页
第五讲非线性方程模型实验.ppt_第3页
第3页 / 共37页
第五讲非线性方程模型实验.ppt_第4页
第4页 / 共37页
第五讲非线性方程模型实验.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第五讲非线性方程模型实验.ppt》由会员分享,可在线阅读,更多相关《第五讲非线性方程模型实验.ppt(37页珍藏版)》请在金锄头文库上搜索。

1、第五讲非线性方程模型实验购房贷款的利率 问题 如下是一则房产广告 不难算出 你向银行共借了25 2万 30年内共要还51 696万 约为当初借款的两倍 这个案例中贷款年利率是多少 分析 有人可能会这样算年利率 51 696 25 2 30 25 2 3 5 错的 因为你并不是等到30年后一次性还款 设xk 第k个月的欠款数 a 月还款数 r 为月利率 我们得到迭代关系式xk 1 1 r xk a 2 1 那么xk 1 r xk 1 a 1 r 2xk 2 1 r a a 1 r kx0 a 1 r k 1 r 根据a 0 1436 x0 25 2 x360 0得到25 2 1 r 360 0

2、1436 1 r 360 1 r 0 2 2 关于月利率r的高次代数方程 年利率R 12r 非线性方程 组 简介若方程是未知量x的多项式 称为高次代数方程 若方程包含x的超越函数 称为超越方程 一元非线性方程的一般形式为f x 0 2 3 若对于数a有f a 0 则称a为方程 2 3 的解或根 也称为函数f x 的零点 方程的根可能是实数也可能是复数 相应地称为实根和复根 如果对于数a有f a 0 f a 0 则a称为单根 如果有k 1 f a f a f k 1 a 0但f k a 0 称为k重根 对于高次代数方程 其根的个数与其次数相同 包括重数 至于超越方程 其界可能是一个或几个甚至无穷

3、多 也可能无解 常见的求解问题有如下两重要求 一种是要求定出在给定范围内的某个解 而解的粗略位置事先从问题的物理背景或应用 作图等 其他方法得知 另一种是定出方程的全部解 或者给定区域内的所有解 而解的个数未知 除少数特殊的方程可以利用公式直接求解 如4次以下代数方程 一般都没有解析求解方法 只能靠数值方法求得近似解 常见的数值方法有二分法等 n元非线性方程组的一般形式为fi x1 x2 xn 0 i 1 m 2 4 非线性方程组的解极少能用解析法求得 常用的数值方法是Newton法 拟Newton法和最优化方法等 解方程和方程组的MATLAB命令 roots求多项式的根fsolve方程 组

4、数值解fzero求一元函数实根solve符号方程 组 求解 1 多项式的根 roots p 多项式p的所有复根 例x3 2x2 5的根 roots 120 5 ans 1 6209 1 1826i 1 6209 1 1826i1 2419 2 一元函数零点 fzero F X tol F为字符串表示的函数或M函数名 x为标量时 作为迭代初值 X为向量 a b 时 返回F在 a b 中的一个零点 这时要求F在a b两点异号 tol为精度 缺损值1e 4 例 y sin x 0 1x fzero sin x 0 1 x 6 ans 7 0682 fzero sin x 0 1 x 2 6 ans

5、2 8523 注 fzero只能求零点附近变号的根 试用fzero求解 x 1 2 0 看看发生了什么 3 非线性方程组求解 fsolve用法与fzero类似 例 解方程组写M函数eg2 1fun mfunctiony fun x y 1 4 x 1 x 2 exp x 1 10 1 y 2 x 1 4 x 2 x 1 2 8 然后用 x y f fsolve eg2 2fun 0 0 x 0 23260 0565y 1 0e 006 0 09080 1798f 1注 X返回解向量 y返回误差向量 f 0则解收敛 或直接用 x y f fsolve 4 x 1 x 2 exp x 1 10 1

6、 x 1 4 x 2 x 1 2 8 0 0 x 0 23260 0565y 1 0e 006 0 09080 1798f 1注意 fsolve采用最小二乘优化法 稳定性比fzero好 但fsolve可能陷入局部极小 试用fsolve解x2 x 1 0 看会发生什么 不要完全相信计算机 4 解析求解solve 例解ax2 bx c 0 solve a x 2 b x c x ans 1 2 a b b 2 4 a c 1 2 1 2 a b b 2 4 a c 1 2 x y solve 4 x y exp x 10 1 x 4 y y 2 8 0 x y x 2329758077311539

7、6971569236570313y 58138324907069742242891748561961e 1注意所得的解与fsolve的不同 注意 虽然solve可用于求数值解 但速度很慢 且有很大的局限性 不提倡使用 数值解法 图解法和迭代法 1 图解法例解方程sin x 0 1x 2 5 显然 解在 10 10 内 函数y sinx 0 1x的零点就是 2 5 的解 作出y sinx 0 1x在 10 10 范围内的图象 图2 1 可看出根的大致位置 作图可使用如下MATLAB语句 close fplot sin x 0 1 x 10 10 grid 可知 8 5 7 3 0附近各有一解 在

8、figure窗口用matlab的zoom命令演示 2 迭代法 牛顿法 切线法 求f x 0的解 从几何上说xk 1为用f x 在xk处的切线代替f x 求得的解 故也称为切线法 当初值x0与真解足够靠近 Newton迭代法敛 单根快 重根慢 迭代格式 例求如下方程的正根 要求精度 10 6 x2 3x ex 2 解 令f x x2 3x ex 2 f 0 12 f x 0 f x 0 即f x 单调上升 根在 0 2 先用图解法找初值 fplot x 2 3 x exp x 2 0 2 gridon 唯一正根在1附近 取x0 1 迭代格式 M脚本eg2 2 mclear e 1e 6 form

9、atlong x1 1x0 x1 2 2 使while成立while abs x0 x1 e x0 x1 x1 x0 x0 2 3 x0 exp x0 2 2 x0 3 exp x0 end format得x1 1 44623868596643 贷款利率问题求解 考虑方程 2 2 常识上 r应比当时活期存款月利率略高 用活期存款月利率0 0198 12作为迭代初值 用fzero求解 使用Matlab r fzero 25 2 1 x 360 1 x 360 1 x 0 1436 0 0198 12 R 12 rr 0 0046R 0 0553 练习 1 作出f x xsin 1 x 在 0 1

10、 0 1 内的图 可见在x 0附近f x 0有无穷多个解 并设法求出它的解 2 月还款额 作为房产公司的代理人 你要迅速准确回答用户各方面的问题 现在有个客户看中了贵公司一套建筑面积为120m2 单价5200元 m2的房子 他计划首付30 其余70 用20年按揭贷款 年利率5 58 请你提供下列信息 房屋总价格 首付款额 月付还款额 补充 混沌线性迭代要么收敛于它的不动点 要么趋于无穷大 而不收敛的非线性迭代可能会趋于无穷大 也可能趋于一个周期解 但也可能在一个有限区域内杂乱无章地动弹 由确定性运动导致的貌似随机的现象称为混沌现象 下面就Logistic迭代研究这一现象 1 昆虫数量的Logi

11、stic模型 xk表示第k代昆虫数量 1表示最大值 2 7 式反映了下一代对上一代的既依赖又竞争的关系 当上一代很少 繁殖能力不够 从而后代很少 当上一代很多 会吃掉很多食物 后代难以存活 从而后代很少 a为资源系数 0 a 4保证了xk在区间 0 1 上封闭 2 平衡与稳定称a为映射g x 的平衡解或不动点 若g x ax 1 x 解方程x ax 1 x 得 2 7 式两个不动点0和1 1 a 若初始值恰好为不动点 迭代式 2 7 的只永不改变 如果对于不动点x0附近的初始值 2 7 收敛与此不动点 我们称这一不动点是稳定的 当0 x1 不动点0不再稳定 而由 g 1 1 a 2 a 1可知

12、1 a 3时不动点1 1 a稳定 说明资源适当时 昆虫稳定于一定数量 3 周期解 分叉和混沌称a为映射g x 的周期k点 若gk a a 而对任意j k gj a a 这里gj表示g的j次复合 并称a g a gk 1 a 为周期k轨道 我们来求 2 7 的周期2轨道 解x a2x 1 x 1 ax 1 x 0 solve x a a x 1 x 1 a x 1 x 0 ans 0 1 a a 1 2 a 1 2 1 2 a 2 2 a 3 1 2 a 1 2 a 1 2 1 2 a 2 2 a 3 1 2 a 可见当a2 2a 3 0 即a 3 出现两个周期2解 可以证明3a 2 4 是的迭

13、代序列几乎杂乱无章 即所谓混沌 下列例子可形象地显示上述现象 例 分叉图 对a在 0 4 的不同值 画出Logistic迭代的极限形态图 如下M文件对于每一个a值 随机产生一个初值 文件显示前20步迭代的变化 最后用第180 200步迭代值表示极限形态 最后结果见图2 3 M脚本2 3 mclear close a 0 0 01 4 M length a K 200 X zeros K M x 1 rand 1 M form 1 M fork 1 K 1x k 1 m a m x k m 1 x k m end endfork 1 20 plot a x k title k int2str k

14、 pause 2 end plot a x 180 K xlabel a ylabel x holdoff 4 混沌的特征混沌是由确定性系统产生的貌似随机的现象 一般认为混沌有如下几个特征初值的敏感性 两个任意近的点出发的两条轨迹迟早会分得很开 遍历性 任意点出发的轨迹总会进入 0 1 内任意小的开区间 例 初值的敏感性 如下M文件eg2 4 m验证了Logistic迭代序列的初值敏感性 对于靠得很近的两个初值 相差仅1e 4 画出了两个序列50步内的误差图 图2 4 可见10步以后 差异增大 有时甚至接近1 M脚本eg2 4 mclear close a 4 e 1e 4 x zeros 5

15、0 2 x 1 0 4 0 4 e fori 2 50 x i a x i 1 1 x i 1 endy x 1 x 2 plot y 例子 蛛网图 混沌的遍历性昆虫数量的Logistic模型 eg2 5 m xk表示第k代昆虫的数量 1表示最大可能数量 平面迭代式 蛛网图正好显示迭代计算x0 y0 x1 y1 的一系列变化过程 如下M函数eg2 5 m是一个通用的logistic蛛网图函数 作出系数为a 初值为x0 从第m步到第n步的迭代过程 functionf eg2 5 a x0 m n x 0 0 01 1 y a x 1 x plot x x r x y r holdon clear

16、x y x 1 x0 y 1 a x 1 1 x 1 x 2 y 1 ifmm plot x i x i x i 1 y i 1 y i y i endendholdoff 在命令窗口执行 subplot 2 2 1 eg2 5 2 7 0 1 1 100 收敛迭代 subplot 2 2 2 eg2 5 3 4 0 1 50 500 周期2 subplot 2 2 3 eg2 5 3 5 0 1 50 500 周期4 subplot 2 2 4 eg2 5 4 0 1 50 500 混沌 可见混沌迭代对于初值为0 1 轨迹遍历了 0 1 区间 图2 5 作业 Henon吸引子 混沌和分形的著名例子 迭代模型为 取初值x0 0 y0 0 进行3000次迭代 对于k 1000 在 xk yx 初亮一点 注意不要连线 可得所谓Henon引力线图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号