matlab中方程求解的基本命令

网上看到一篇很好的讲方程求解的PPT,于是搬过来收藏了!!!

 

先把重要的事情说一下。fzero是返回最接近符号改变的点的值!!

 

1.roots(p)  %求多项式的根,其中p是多项式向量。

 

例求x3-x2+x-1=0的根

 

解:>>roots([1,-1,1,-1])

注: [1,-1,1,-1]matlab中表示多项式 x3-x2+x-1


2.solve(fun)     %求方程fun=0的符号解,如果不能求得精确的符号解,可以计算可变精度的数值解

 

例:用solve求方程x9+x8+1=0的根

 

 

解:>>solve(‘x^9+x^8+1’)

 

给出了方程的数值解(32位有效数字的符号量)


3.solve(fun,var)     %对指定变量var求代数方fun=0的符号解。

 

例:解方程 ax2+bx2+c=0

 

解:>>syms a b c x;

      >>f=a*x^2+b*x+c;

     >>solve(f)

如果不指明变量,系统默认为x,也可指定自变量,比如指定b为自变量

>>symsa b c x;

>> f=a*x^2+b*x+c;

 

>>solve(f,b)


4.fsolve(fun,x0)    %求非线性方程fun=0在估计值x0附近的近似解。

 

例:用fsolve求方程x=e-x0附近的根

 

 

 

 

解:>>fsolve(‘x-exp(-x)’,0)


 5.fzero(fun,x0)   %求函数funx0附近的零点

 

例:求方程x-10x+2=0x0=0.5附近的根

 

 

解:>>fzero(‘x-10^x+2’,0.5)

你可能感兴趣的:(matlab)