练习8

1.  请在MATLAB中输入一个一元函数并保存,例如

syms x

f(x)=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)

 

>> Untitled4

 f(x) =

(x - 49/50)^2/(x +5/4)^3 - 5*x - 5/x + x^3

 

2.  用两种方法去求上述函数的根。 

>>b=fzero('f(x)',[-10,10])

y =

 -949.6800

y =

949.5571

y =

 -7.7313e+03

y =

 661.4157

y =

 252.9699

y =

  17.8948

y =

  11.6261

y =

   2.7589

y =

   -8.1363

y =

   -1.7697

y =

   -0.1790

y =

    0.0021

y =

  -1.4532e-05

y =

 -1.1664e-09

y =

  1.7764e-15

y =

  -8.8818e-15

b =

  2.4164

3.  求上述函数的极值。

>>a=fminbnd('f(x)',-10,10)

y =

   -7.3794

y =

   -0.7253

y =

 -120.3429

y =

 -319.4131

y =

 -509.3409

y =

 -656.7431

y =

 -760.3663

y =

 -829.4422

y =

 -874.1149

y =

 -902.4949

y =

 -920.3323

y =

 -931.4710

y =

 -938.3990

y =

 -942.6975

y =

 -945.3606

y =

 -947.0089

y =

 -948.0286

y =

948.6591

y =

 -949.0490

y =

 -949.2900

y =

 -949.4389

y =

 -949.5310

y =

 -949.5879

y =

 -949.6231

y =

 -949.6448

y =

 -949.6582

y =

 -949.6681

a =

  -10.0000

4.  如果函数不保存在默认目录下会有什么后果?

   系统会自动提示:  

>> a=fminbnd(exec8,-100,100)

 ??? Error using=-> feval Undefined function 'exec8'.

Errorin-->E:\matlab\toolboxmatlablfunfunfmndm 

Online115  =--> x= xf; fx=feval(funfcn,x,varargin { );

 

5.  构造一个多项式,求根,再由根求出原来的多项式。得到的多项式与原来的多项式是否相同,为什么?

得到的多项式与原来的多项式不一定相同,因为,这里所用到的求根方法是先把多项式转化为伴随矩阵,然后再求特征值,所以在取根时会有近似,所以得到的多项式与原来的多项式可能会有差别。

6.  MATLAB求多项式的根是用什么方法,与传统方法相比有什么优点?

用了matlab中内置的roots(A)函数求数值解,用solve函数求符号解,其中A就是所要求的根的多项式函数,相比传统方法来说,更加的方便了。

                                                                                                                                                               

你可能感兴趣的:(练习8)