1 / 4
文档名称:

用MATLAB解方程的三个实例.doc

格式:doc   大小:16KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用MATLAB解方程的三个实例.doc

上传人:luciferios04 2021/4/29 文件大小:16 KB

下载得到文件列表

用MATLAB解方程的三个实例.doc

相关文档

文档介绍

文档介绍:用MATLAB解方程的三个实例
1、对于多项式p(x)=x3-6x2-72x-27,求多项式p(x)=0的根,可用多项式求根函数roots(p),其中p为多项式系数向量,即
〉〉p =[1,—6,—72,—27]
p =
    1。00 - -72。00 -27。00
p是多项式的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 =
    .69829942170241042826920133106081
得到符号解,具有缺省精度。如果需要指定精度的解,则:
>> x=vpa(x,3)
x =
    。698
3、使用fzero或fsolve函数,可以求解指定位置(如x0)的一个根,格式为:x=fzero(fun,x0)或x=fsolve(fun,x0)。例如,+atan(x)—p=0在x0=2附近一个根,解法如下:
〉> fu=@(x)*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 =
    **********
对于第一个例子,也可以用第三种方法求解:
〉〉 F=@(x)x^3-6*x^2—72*x—27
F =
   @(x)x^3—6*x^2—72*x—27
>〉 x=fzero(F,10)
x =
    12。1229
对于第二个例子,也可以用第三种方法:
>〉 FUN=@(x)(x+2)^x—2
FUN =
    @(x)(x+2)^x—2
>> x=fzero(FUN,1)
x =
   
 
最近有多人问如何用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 = 
    
    
〉〉x=A\b