MATLAB常用命令(二)之 多项式运算

引言
在时间序列分析和多项式插值计算中,许多问题都涉及多项式计算,MATLAB提供了丰富的多项式运算功能,如果把这些实际问题转成Matlab 编程语言,将会给计算带来很大的简化。MATLAB进行多项式运算的原理是将多项式转换成向量形式,然后在向量的基础上进行计算。


首先,我们来看 n n n次多项式 f ( x ) = x n + a 1 x n − 1 + ⋯ + a n − 1 x + a n f(x)=x^n+a_1x^{n-1}+\cdots+a_{n-1}x+a_n f(x)=xn+a1xn1++an1x+an在Matlab中表示成 f ( x ) = [ 1 , a 1 , ⋯   , a n − 1 , a n ] [ x n , x n − , ⋯   , x , 1 ] T f(x)=[1,a_1,\cdots,a_{n-1},a_n][x^n,x^{n-},\cdots,x,1]^T f(x)=[1,a1,,an1,an][xn,xn,,x,1]T,后面的那组基底经常省略不写。所以,对于 f ( x ) = x 3 − 3 x + 1 f(x)=x^3-3x+1 f(x)=x33x+1在Matlab中表示成 [ 1 , − 3 , 0 , 1 ] [1,-3,0,1] [1,3,0,1].

  • 多项式求值
    命令:ployval([], x 0 x_0 x0)表示多现式 [ ] [] [] x 0 x_0 x0处的函数值,例如:要求函数 f ( x ) = x 3 − 3 x + 1 f(x)=x^3-3x+1 f(x)=x33x+1 x = 0 x=0 x=0处的函数值,只要在Matlab的命令行窗口中输入:y=ployval([1,0,-3,1],0)就可得到所求的值了。

  • 多项式求根
    命令:roots,例:roots([1,0,-3,1]).

  • 两个多项式相乘
    命令:conv,例:z=conv([1,2,5],[1,3]);

你可能感兴趣的:(MATLAB)