matlab实现多项式的运算,Matlab 多项式运算
一、多項式的表示方法
1.系數向量直接輸入法
例1:
>> p = [1 -5 6 -33];
>> poly2sym(p)
ans =
x^3 - 5*x^2 + 6*x – 33
2.特征多項式輸入法
例2:
>> a = [1 2 3;2 3 4;3 4 5];
>> p1 = poly(a)
p1 =
1.0000?-9.0000?-6.0000?-0.0000
>> poly2sym(p1)
ans =
x^3 - 9*x^2 - 6*x -
7343508239050119/2535301200456458802993406410752
3.由根創建多項式
>> p = [1 -5 6 -33];
>> root = roots(p)
root =
5.0939?-0.0470 + 2.5448i
-0.0470 - 2.5448i
>> p1 = poly(root)
p1 =
1.0000?-5.0000?6.0000?-33.0000
二、多項式運算
1.多項式求值
一般用polyval函數
例3:
>> p = [1 11 55 125];
>> b = [1 1;1 2];
>> polyval(p,b)
ans =
192?192
192?287
2.求多項式的根
例4:
>> p = [2 -5 6 -1 9];
>> roots(p)
ans =
1.6024 + 1.2709i
1.6024 - 1.2709i
-0.3524 + 0.9755i
-0.3524 - 0.9755i
3.多項的乘除法運算
多項式的乘法由函數conv來實現,此函數同于向量的卷積;多項式的除法由函數deconv來實現,向量的解卷函數相同。
例5:
>> d = [3 -90 -18];
>> poly2sym(d)
ans =
3*x^2 - 90*x - 18
>> pd = conv(p,d)
pd =
6?-195?432?-453?9?-792?-162
>> [p1,c] = deconv(pd,d)
p1 =
2?-5?6?-1?9
c =
0?0?0?0?0?0?0
4.多項式微分
多項式的微分函數polyder可以實現多項式微分
例6:
>> p = [2 -5 6 -1 9];
>> poly2sym(p)
ans =
2*x^4 - 5*x^3 + 6*x^2 - x + 9
>> Dp = polyder(p)
Dp =
8?-15?12?-1
>> poly2sym(Dp)
ans =
8*x^3 - 15*x^2 + 12*x - 1
總結
以上是生活随笔為你收集整理的matlab实现多项式的运算,Matlab 多项式运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XY6762/XY6765/XY8788
- 下一篇: 为什么IPv6显示无网络访问权限