求解非线性方程根的Matlab函数.ppt

上传人:sccc 文档编号:5825486 上传时间:2023-08-24 格式:PPT 页数:9 大小:149.51KB
返回 下载 相关 举报
求解非线性方程根的Matlab函数.ppt_第1页
第1页 / 共9页
求解非线性方程根的Matlab函数.ppt_第2页
第2页 / 共9页
求解非线性方程根的Matlab函数.ppt_第3页
第3页 / 共9页
求解非线性方程根的Matlab函数.ppt_第4页
第4页 / 共9页
求解非线性方程根的Matlab函数.ppt_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《求解非线性方程根的Matlab函数.ppt》由会员分享,可在线阅读,更多相关《求解非线性方程根的Matlab函数.ppt(9页珍藏版)》请在三一办公上搜索。

1、求解非线性方程根的Matlab函数,Matlab软件提供了多种求解非线性方程(组)的根的方法,下面分别来介绍:Solve函数 Fzero函数 Fsolve函数,Solve函数可以得到方程根的解析或数值解,其命令格式为 Solve(eqn1,eqn2,eqnN)Solve(eqn1,eqn2,eqnN,var1,var2,varN)eqn1,eqn2,eqnN是方程的表达式;var1,var2,varN是相应的变量.,1.Solve函数,1.1求出方程根的解析表达式,例1:分别求一元二次方程ax2+bx+c=0和三角方程psin(x)=r的根.解:输入 x=solve(a*x2+b*x+c)得到

2、 X=1/2/a*(-b+(b2-4*a*c)(1/2)X=1/2/a*(-b-(b2-4*a*c)(1/2)再输入 x=solve(p*sin(x)=r)得到 x=asin(r/p)即 x=arcsin(r/p).,1.2求出方程根的数值解,上述过程得到的方程的解析解,在得不到解析解的情况下,有时solve()函数可以得到方程的数值解.例2:求超越方程e-x=sin(x/2)的根.解:输入 x_star=solve(exp(-x)=sin(3.1416*x/2),x)得到 x_star=0.44357285734909213055096933568404,例3:求解非线性方程组 x2+xy+

3、y=3 X2-4x+3=0解:输入x,y=solve(x2+x*y+y=3,x2-4*x+3=0)得到X=1 3Y=1-3/2,1.3求出多项式方程的全部根,Solve()函数的另一种功能是求多项式的全部根.例4:求多项式 x3-6x2+11x-6=0 的根.解:输入 solve(x3-6*x2+11*x-6)得到 ans=1 2 3,另外,在Matlab中,roots()函数也可以求出多项式全部根,其命令格式为roots(a)其中,a=(a0,a1,an)T是一个向量表达多项式 p(x)=a0 xn+a1xn-1+an-1x+an 例5:用roots()函数求例4的全部根。解:输入 root

4、s(1-6 11-6)得到 ans=3.0000 2.0000 1.0000,1.4有些方程无法用solve()函数求出根,由于solve()函数是以解析解为主,因此并不是所有的方程都能得到解(解析解或数值解)。例如:S solve(x2*y2-2*x-1=0,x2-y2-1=0)得到 S=x:8x1 sym y:8x1 sym这样就需要调用相应的数值解函数,如:fzero,fsolve,2.Fzero函数,2.1 fzero()函数 fzero()函数是求一维变量的零点,其计算格式为:x=fzero(fun,x0)x=fzero(fun,x0,options)x,fval=fzero()其中,x为方程的零点,fval为计算终止时的函数值,fun为方程的函数,x0为初始点,options为选择项,它包括Display和TolX。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号