matlab求根的几种方法

matlab求根的几种方法

ID:16183670

大小:25.50 KB

页数:3页

时间:2018-08-08

matlab求根的几种方法_第1页
matlab求根的几种方法_第2页
matlab求根的几种方法_第3页
资源描述:

《matlab求根的几种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.roots求解多项式的根r=roots(c)注意:c为一维向量,者返回指定多项式的所有根(包括复根),poly和roots是互为反运算,还有就是roots只能求解多项式的解还有下面几个函数poly2sym、sym2poly、eig>>symsx>>y=x^5+3*x^3+3;>>c=sym2poly(y);%求解多项式系数>>r=roots(c);>>poly(r)2.residue求留数[r,p,k]=residue(b,a)>>b=[53-27]>>a=[-4083]>>[r,p,k]=residue(b,a)3.solve符号解方程(组)——使用最多的g=solve(eq1,eq2,

2、...,eqn,var1,var2,...,varn)注意:eqn和varn可以是符号表达式,也可以是字符串表达式,但是使用符号表达式时不能有“=”号,假如说varn没有给出,使用findsym函数找出默认的求解变量。返回的g是一个结构体,以varn为字段。由于符号求解的局限性,好多情况下可能得到空矩阵,此时只能用数值解法解方程A=solve('a*x^2+b*x+c')解方程组B=solve('a*u^2+v^2','u-v=1','a^2-5*a+6')4.fzero数值求零点[x,fval,exitflag,output]=fzero(fun,x0,options,p1,p2...)fu

3、n是目标函数,可以是句柄(@)、inline函数或M文件名  x0是初值,可以是标量也可以是长度为2的向量,前者给定一个位置,后者是给定一个范围options是优化参数,通过optimset设置,optimget获取,一般使用默认的就可以了,具体参照帮助p1,p2...为需要传递的其它参数假如说(x/1446)^2+p/504.1+(t/330.9)*(log(1-x/1446)+(1-1/5.3)*x/1446)=0的根,其中p,t是已知参数,但是每次都改变那么目标函数如下三种书写格式,效果完全等效。注意参数列表中,未知数一定放第一位,其他参数放后面(1)objfun=@(x,p,t)(x/

4、1446).^2+p/504.1+(t/330.9).*(log(1-x/1446)+(1-1/5.3).*x/1446);(2)objfun=inline('(x/1446).^2+p/504.1+(t/330.9).*(log(1-x/1446)+(1-1/5.3).*x/1446)','x','p','t')此时的调用格式如下fzero(objfun,x0,options,p,t)%如果options使用的默认的话,那直接使用[],p和t就是我们需要传递的参数fzero(@(x)objfun(x,p,t),x0,options)%这种格式与上面的等效区别就是前者,将参数p和t作为fzer

5、o的参数进行传递,而后者是将p和t作为objfun的参数进行传递,没有本质区别(3)functionf=objfun(x,p,t)%以M文件格式书写目标函数  f=(x/1446).^2+p/504.1+(t/330.9).*(log(1-x/1446)+(1-1/5.3).*x/1446);此时有三种调用格式fzero(@objfun,x0,options,p,t)fzero('objfun',x0,options,p,t)fzero(@(x)objfun(x,p,t),x0,options)注意:fzero只能求解单变量的方程,没法求解复数、多变量以及方程组等。在搜索过程中出现inf,na

6、n,复数将会终止计算,也就是说不能求解复数解,并且每次子返回一个解5.fsolve数值解方程(组)——使用最多的数值解法[x,fval,exitflag,output,jacobian]=fsolve(fun,x0,options,p1,p2...)fsolve的参数意义大部分与fzero相同,只是优化参数更多了,使用更灵活另外一定注意x0的长度必须与变量的个数相等。它与fzero的区别是,首先当然算法不同,另外fsolve的功能强大多很多,它可以直接方便的求解多变量方程组,线性和非线性,超静定和静不定方程,还可求解复数方程fun同样可以是句柄、inline函数或M文件,但是一般M文件比较多,

7、这是由于fsolve是解方程组的,目标函数一般比较烦,直接写比较困难比如解方程组x1+x2=8x1-2*x2-2*p=0(当然可以求解非线性的)目标函数同样有三种书写格式(1)objfun=@(x,p)[x(1)+x(2)-8;x(1)-3*x(2)+2*p];(2)objfun=inline('[x(1)+x(2)-8;x(1)-3*x(2)+2*p]','x','p')此时的调用格式有fsol

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。