matlab 多项式表达,MATLAB自学笔记(十七):多项式及其函数
終于結束了關于MATLAB的基礎知識學習部分,開始了對數據的分析
1.多項式的表達與創建
MATLAB中用一維行向量來表示多項式,將多項式的系數按照降冪次序存放在向量中。
請注意上面一句話,這將是MATLAB中對多項式操作的關鍵
MATLAB中對多項式中缺少的冪次的系數應補充為0,不能空過去
例:輸入多項式3x^4 + 23x^3 – 6x +8
Python
>> p = [3 23 0 -6 8]
p =
3 23 0 -6 8
1
2
3
4
5
>>p=[3230-68]
p=
3230-68
2.求根
多項式的根(roots)
例:求例1中多項式的根
Python
>> p = [3 23 0 -6 8]
p =
3 23 0 -6 8
>> r = roots(p)
r =
-7.6263 + 0.0000i
-0.8646 + 0.0000i
0.4121 + 0.4844i
0.4121 - 0.4844i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>p=[3230-68]
p=
3230-68
>>r=roots(p)
r=
-7.6263+0.0000i
-0.8646+0.0000i
0.4121+0.4844i
0.4121-0.4844i
由根創建多項式(poly)
Python
>> r = [-7.6263 + 0.0000i; -0.8646 + 0.0000i; 0.4121 + 0.4844i; 0.4121 - 0.4844i];
>> p = poly(r)
p =
1.0000 7.6667 -0.0000 -2.0002 2.6670
1
2
3
4
5
6
>>r=[-7.6263+0.0000i;-0.8646+0.0000i;0.4121+0.4844i;0.4121-0.4844i];
>>p=poly(r)
p=
1.00007.6667-0.0000-2.00022.6670
在這里我們可以看出例子中反求的多項式與原多項式并不一致,其原因在于MATLAB無隙處理復數,當用根重組多項式時,如果一些根有虛部,由于截斷誤差,則ploy的結果有一些小的虛部。消除虛假的虛部,只要用函數real抽取實部即可
3.多項式的四則運算
加法:c = a+b
乘法:c = conv(a,b)
除法:c = deconv(a,b)
4.導數、積分與估值
導數:b = polyder(a)
積分:b = polyint(a)
估值:h = polyval(g,x)
Python
>> x = -1 : .01 : 1;
>> g = [1 3 5 7 9];
>> h = polyval(g,x);
>> plot(x,h)
1
2
3
4
>>x=-1:.01:1;
>>g=[13579];
>>h=polyval(g,x);
>>plot(x,h)
通過將估值函數與繪圖函數結合使用,我們可以方便的看出多項式的值及其值的變化趨勢
5.有理多項式
當運算時出現了兩個多項式之比的情況時,大多數情況下需要我們將其拆開,即有理化
有理化函數:residue
注:residue函數可進行逆運算
Python
>> num = [5 3 -2 7];
>> den = [-4 0 8 3];
>> [r,p k] = residue(num,den) %num為分子,den為分母
r =
-1.4167
-0.6653
1.3320
p =
1.5737
-1.1644
-0.4093
k =
-1.2500
>> [n ,d] = residue(r,p,k)
n =
-1.2500 -0.7500 0.5000 -1.7500
d =
1.0000 -0.0000 -2.0000 -0.7500
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
>>num=[53-27];
>>den=[-4083];
>>[r,pk]=residue(num,den)%num為分子,den為分母
r=
-1.4167
-0.6653
1.3320
p=
1.5737
-1.1644
-0.4093
k=
-1.2500
>>[n,d]=residue(r,p,k)
n=
-1.2500-0.75000.5000-1.7500
d=
1.0000-0.0000-2.0000-0.7500
其中,有理化之后多項式的值為r / (x + p) + k。r、p都可為向量,k為常數
逆有理化之后n表示分母的系數,d表示分子的系數,且分子最高項系數為1
贊賞作者
喜歡 (2)or分享 (0)
總結
以上是生活随笔為你收集整理的matlab 多项式表达,MATLAB自学笔记(十七):多项式及其函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos svn服务器端口配置文件,
- 下一篇: php 500 yii,yii2.0出现