不小心鸽了一节,这一节我们正式开始聊聊matlab里的多项式。
多项式表示方法:
MATLAB中,一个多项式用一个1行n+1列的矩阵表示:
[an,an-1,...,a2,a1,a0]
矩阵的每一个元素表示多项式每一项的系数,从高次向低次排列。
比如上面这个矩阵表示的多项式就是:
注意一点:如果某项的系数为0,也要写在矩阵中,不可以省略!
多项式四则运算:
我们先假设两个多项式的系数矩阵分别为A和B
加减:就是矩阵加减:A
乘法:运用多项式相乘函数 conv(A,B)
返回结果仍然是一个矩阵,假设为C,则程序:C=conv(A,B)
C就是新多项式的系数矩阵
除法:运用多项式相除函数 deconv(A,B)
返回结果仍然是一个矩阵,假设为[C,D],则程序:[C,D]=deconv(A,B)
C为商式的系数矩阵,D为余式的系数矩阵
举个例子:
另外,deconv和conv互为逆运算:
A=con[C,B]+D
多项式求导:
这个和符号计算有些不同,emmm推荐还是用符号计算,比较直观
求导函数polyder(),三种用法:
假设p为导函数的系数矩阵
1、p=polyder(A),求多项式A的导函数
2、p=polyder(A,B)求多项式A*B的导函数
3、[p,q]=polyder(A,B),求A/B的导函数,分子系数存入p,分母系数存入q。
多项式求值:
这个比较有用,尤其是后面结合曲线拟合和数据插值内容
求值函数polyval(f,x),f为多项式系数矩阵,x为常数,就是要求的那个自变量
比如f=[1 -2 1],x=2,
则polyval(f,2)就是求
此外,多项式求值还有个polyvalm(f,x)函数,其中x可以是向量或者矩阵,即对向量或矩阵中每个元素求多项式的值
直接看代码:
a=[1 2;3 4]
f=[1 -2 1]
c=polyvalm(f,a)
运算结果:
这节主要说了说多项式的一些基本运算,下一节内容可能先说一说多项式求根吧,毕竟这个也比较常用。
欢迎喜欢的朋友点赞关注收藏啊:)