1、在MATLAB中输入一个一元函数并保存,例如
f(x)=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x).
新建一个编辑窗口,输入
function y=damax(x);
y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x);
然后单击“保存”,将路径设置为默认目录,将文件名命名为damax.m,然后保存。
2、用两种方法去求上述函数的根。
(1)>> a=fzero('damax',[-100,100])
a =
2.4164
(2)>> y=inline('x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)');
>> a=fzero(y,[-100,100])
a =
2.4164
3、求上述函数的极值。
极小值
>> a=fminbnd('damax',-100,100)
a =
-99.9999
极大值
>> -y=inline('-x^3-(x-0.98)^2/(x+1.25)^3+5*(x+1/x)');
>> a=fminbnd(-y,-100,100)
a =
99.9999
4、如果函数不保存在默认目录下会有什么后果?
如果没有保存在默认目录下,系统会提示:
>> a=fminbnd('damax',-100,100)
未定义函数或变量 'damax'。
出错 fminbnd (line 228)
x= xf; fx = funfcn(x,varargin{:});
5、构造一个多项式,求根,再由根求出原来的多项式。得到的多项式与原来的多项式是否相同,为什么?
得到的多项式与原来的多项式不一定相同。因为这里所用的求根方法是先把多项式转化为伴随矩阵,然后再求特征值,所以在取根时会有近似,所以在由根求出原来的多项式,也同样会有近似,所以得到的多项式与原来的多项式可能会有差别。
6、MATLAB求多项式的根是用什么方法,与传统方法相比有什么优点?
MATLAB求多项式的根用M文件和求0值的方法,用一个fzero函数。
优点:显得数学性更强一点,可以方便地求出复杂的高次方程根。