Matlab中方程求解的基本命令_第1页
Matlab中方程求解的基本命令_第2页
Matlab中方程求解的基本命令_第3页
Matlab中方程求解的基本命令_第4页
Matlab中方程求解的基本命令_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1.roots(p)%求多项式的根,其中p是多项式向量。例求的根。解:>>roots([1,-1,1,-1])注:[1,-1,1,-1]在matlab中表示多项式2.solve(fun)%求方程fun=0的符号解,如果不能求得精确的符号解,可以计算可变精度的数值解例:用solve求方程的根。解:>>solve(‘x^9+x^8+1’)给出了方程的数值解(32位有效数字的符号量)3.solve(fun,var)%对指定变量var求代数方程fun=0的符号解。例:解方程解:>>symsabcx;>>f=a*x^2+b*x+c;>>solve(f)如果不指明变量,系统默认为x,也可指定自变量,比如指定b为自变量>>symsabcx;>>f=a*x^2+b*x+c;>>solve(f,b)4.fsolve(fun,x0)%求非线性方程fun=0在估计值x0附近的近似解。例:用fsolve求方程在0附近的根。解:>>fsolve(‘x-exp(-x)’,0)5.fzero(fun,x0)%求函数fun在x0附近的零点例:求方程在x0=0.5附近的根解:>>fzero(‘x-10^x+2’,0.5)1.牛顿迭代法原理

设已知方程的近似根

,则在附近

可用一阶泰勒多项式近似代替。因此,方程可近似表示为。用

近似表示

根差异不大。设,由于满足,解得

重复这以过程,得到迭代格式这就是著名得牛顿迭代公式,它相应的不动点方程为牛顿迭代法2.牛顿迭代法的几何解析在处做曲线的切线,切线方程为令可得切线与轴的交点坐标,这就是牛顿迭代法的迭代公式。因此,牛顿法又称“切线法”。练习1

用牛顿迭代法求方程在附近的近似根,误差不超过10-3。牛顿迭代法的迭代函数为:相应的matlab代码为:(运行)clear;symsx;>>fun=x^3+x^2+x-1;>>dfun=diff(fun);y=0.5;fori=1:3x=y;y1=subs(fun,x);y2=subs(dfun,x);

y=x-y1/y2;end可算得迭代数列的前三项0.5455,0.5437,0.5437。经三次迭代就大大超了精度。练习3

用牛顿迭代法求方程的正根。牛顿迭代法的迭代函数为如果取初值为,相应的MATLAB代码为clearx=0;fori=1:6x=x-(x*exp(x)-1)/((x+1)*exp(x))end

可得迭代数列前6项为1.0000,0.6839,0.57750.5672,0.5671,0.5671,说明迭代实收敛的。如果取初值为10,相应的MATLAB代码为clear;x=10.0;fori=1:20x=x-(x*exp(x)-1)/((x+1)*exp(x))y(i)=x;End(运行)clearx=0;fori=1:6x=x-(x*exp(x)-1)/((x+1)*exp(x))end

可得迭代数列前6项为1.0000,0.6839,0.57750.5672,0.5671,0.5671,说明迭代实收敛的。如果取初值为10,相应的MATLAB代码为clear;x=10.0;fori=1:20x=x-(x*exp(x)-1)/((x+1)*exp(x))y(i)=x;End可算得迭代数列的前20项为9.0909,8.19007.2989,6.4194,5.5544,4.7076,3.8844,3.0933,2.34871.6759,1.1195

温馨提示

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

评论

0/150

提交评论