- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 7 隐函数、方程求根、不动点和迭代 实验目的: 1.求隐、显函数方程的根的方法. 2.理解方程求根的不动点和迭代并编程. 3.用蛛网图观察不动点迭代. 4.探索混沌现象 实验内容:引例四连杆机构的运动 P108 应用问题 最简单的平面连杆机构由四个构件组成,称为平面四杆机构。 问题:输入的转角 ,其中角速度 ,需要确定输出杆 的转角 运动方程: 消去 ,得隐函数 数值方法求方程的解(不动点和函数迭代) 在自然科学和工程技术中,求解一元函数方程(代数方程或超越方程) f(x)=0 是最常见的问题之一。f(x)=0改写成等价形式 ,选取初值 以迭代格式? ? 有迭代序列? 数值方法求方程的解 如果迭代序列 的极限存在 ,则称迭代过程收敛, 即 为不动点。 不动点:吸引点、排斥点。 数值方法求方程的解 迭代序列有可能收敛,也有可能发散。为保证其收敛性,满足: ①初值的选取要合适,一般与准确解靠近, ②准确解附近,有 用迭代法求非线性方程的根 例1.求方程 在x=1.5附近的根. 解:将方程改写成下列形式: ???????????? 由此得迭代公式 ??????????? ????? 迭代初值.matlab程序如下: ?clear;x1=1.5;x0=0;N=50;wch=1e-6;format long for i=1:N if abs(x1-x0)eps x0=x1; x1=(x0+1)^(1/3); else if abs(x1-x0)=eps i x0 break end end end 运行如下:(试运行) i = 23 x0 = 1.32471795724475 上述迭代过程是收敛的. 如果将方程改写成如下等价形式 ???????????? 则有迭代公式 ???????????? 迭代初值仍取 ,则 ???????????x2?=2.375,x3=12.39,... 迭代过程发散. 牛顿迭代法公式为 注:对于单根,牛顿(Newton)迭代法(切线法)收敛速度极快,对于重根,收敛较慢。 例:求方程 的正根(要求精度 ) fplot(x^2-3*x+exp(x)-2,[0,2]);grid; 建立M文件 clear;e=1e-6;x1=0;x0=x1+2*e;k=0; while(abs(x0-x1)e), x0=x1;k=k+1;x1=x0-(x0^2-3*x0+exp(x0)-2)/(2*x0-3+exp(x0)) end;format;disp(迭代次数为);k 例:用m语言编出一般的程序niudun.m如下: f=input(输入函数:f(x)=); n=input(请输入迭代次数:n=); x0=input(请输入迭代初始值:x0=); f1=diff(f); for i=1:n ????x=x0; ????fx0=eval(f);%eval(s),其中s为字符串,将表达式s值计算出来 ????f1x0=eval(f1); ????x0=x0-fx0/f1x0 end 存为niudun.m,运行结果如下: niudun 输入函数:f(x)= x^2-3*x+exp(x)-2 请输入迭代次数:n=6 请输入迭代初始值:x0=1 实验与观察 用蛛网图观察不动点迭代 * * 1 2 C B A D 3 4 要求得 是困难的。 给定 ,通过求解 的根可以确定其隐函数关系。 5 6 6 7 A=[4 2 3;1 3 2;1 3 3;3 2 2], B=[35 20 60 45;10 15 50 40;20 12 45 20] C=A*B
文档评论(0)