用 MATLAB 解方程的三个实例1、对于多项式 p(x)=x3-6x2-72x—27,求多项式 p(x)=0 的根,可用多项式求根函数 roots(p),其中 p为多项式系数向量,即>〉p =[1,-6,—72,-27]p = 1。00 —6。00 -72。00 -27.00p 是多项式的 MATLAB 描述方法,我们可用 poly2str(p,'x')函数,来显示多项式的形式:〉〉px=poly2str(p,’x')px =x^3 - 6 x^2 — 72 x - 27多项式的根解法如下:>> format rat %以有理数显示〉> r=roots(p)r = 2170/179 —648/113 —769/1980 2、在 MATLAB 中,求解用符号表达式表示的代数方程可由函数 solve 实现,其调用格式为:solve(s,v):求解符号表达式 s 的代数方程,求解变量为 v.例如,求方程(x+2)x=2 的解,解法如下:〉〉 x=solve('(x+2)^x=2’,’x’)x = 。69829942170241042826920253106081得到符号解,具有缺省精度.假如需要指定精度的解,则:>> x=vpa(x,3)x = .6983、使用 fzero 或 fsolve 函数,可以求解指定位置(如 x0)的一个根,格式为:x=fzero(fun,x0)或x=fsolve(fun,x0)。例如,求方程 0。8x+atan(x)—=0 在 x0=2 附近一个根,解法如下:>〉 fu=@(x)0。8*x+atan(x)-pi;〉> x=fzero(fu,2)x = 2。4482 或〉> x=fsolve('0。8*x+atan(x)—pi’,2)x = 2。4482 当然了,对于该方程也可以用第二种方法求解:>〉 x=solve('0.8*x+atan(x)—pi’,'x’)x = 2.4482183943587910343011460497668对于第一个例子,也可以用第三种方法求解:>〉 F=@(x)x^3-6*x^2—72*x-27F = @(x)x^3-6*x^2—72*x-27>〉 x=fzero(F,10)x = 12。1229对于第二个例子,也可以用第三种方法:>> FUN=@(x)(x+2)^x—2FUN = @(x)(x+2)^x-2>> x=fzero(FUN,1)x = 0。6983 最近有多人问如何用 matlab 解方程组的问题,其实在 matlab 中解方程组还是很方便的,例如,对于代数方程组 Ax=b(A 为系数矩阵,非奇异)的求解,MATLAB 中有两种方法:(1)x=inv(A)*b - 采纳求逆运算解方程组;(2)x=A\b — 采纳左除运算解方程组.例:x1+2x2=8 2x1+3x2=13>>A=[1,2;2,3];b=[8;13];>>x=inv(A)*b x = 2。00 3。00 >〉x=A\bx = 2。00 3.00;即二元一次方程组的解 x1 和 x2 分别是 2 和 3。对于同学问到的用 matlab 解多次的方程组,有符号解法,方法是:先解出符号解,然后用 vpa(F,n)求出 n位有效数字的数...