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);
求極值與極值點之前須估計極值點的區間,保證在該區間沒有使得函數值趨於無窮的點.