1. roots函数
针对多项式求零点(详见MATLAB多项式及多项式拟合)
2. fzero函数
返回一元函数在某个区间内的的零点.
x0 = fzero(@(x)x.^2-3*x-4,[1,5]);
只能求区间里面的一个零点,并且要求在给定区间端点函数值异号,所以使用之前应该先作图,得出单个零点分布的区间,然后使用该函数求零点.若有多个零点,则需多次使用该函数.
如需求上例中的全部零点,先作图
fplot(@(x)x.^2-3*x-4,[-10,10]);
得知两个零点的分布区间,然后两次使用fzero函数求对应区间的零点.
x1 = fzero(@(x)x.^2-3*x-4,[-2,0]);
x2 = fzero(@(x)x.^2-3*x-4,[2,6]);
3. solve函数
求一元函数(方程)的零点.
x0 = solve('x^2-3*x-4=0','x');
注意方程需包含’=0’部分,另外,不建议直接将方程写在函数solve的参数部分,可以用符号运算的方法.
4. fminbnd函数
求一元函数在某个区间内的最小值和对应的最小值点.
[x0,fmin]=fminbnd(@(x)x+1/(x+1),-0.5,2);
求极值与极值点之前须估计极值点的区间,保证在该区间没有使得函数值趋于无穷的点.