一個 n 次的多項式可以表示成
$$p(x) = a_n x^n + a_{n-1} x^{n-1} + \cdots + a_1 x + a_0$$因此在 MATLAB 中,可以用一個長度為 n+1 的列向量來表示多項式 $p(x)$ 如下:
$$p = [a_n, a_{n-1}, \cdots, a_1, a_0]$$舉例來說,我們可用 p = [1, 2, 3, 1] 來表示一個三次多項式 $p(x) = x^3 + 2 x^2 + 3 x + 1$。
多項式的加減,可直接由向量的加減而推出。若有兩多項式分別是 $p_1(x) = x^3+x+1$ 及 $p_2(x)= x^2-x+2$,則其和與差可計算如下:
必須注意的是:矩陣 p1 與 p2 的長度要一致,否則 MATLAB 就會產生運算錯誤的訊息。
多項式的乘與除,可使用 conv 及 deconv 指令來達成,例如,欲求多項式 $p_1(x)$ 與 $p_2(x)$ 的乘積,可輸入如下:
上例中的 p1 與 p2 多項式的乘積結果是 p3,若改以多項式的表示法,即為 $p_3(x) = x^5-x^4+3x^2-x+2$。
若欲求 $p_1(x)$ 除以 $p_2(x)$ 所得的商式與餘式,可輸入:
此即代表 $p_1(x)$ 除以 $p_2(x)$ 後,得到的商式為 $q(x)=x+1$,餘式為 $r(x)=-1$。
以下列出如何使用 MATLAB 來進行多項式的加減乘除:
s
函數 說明 p1 + p2 多項式 $p_1(x)$ 與 $p_2(x)$ 的和 p1 - p2 多項式 $p_1(x)$ 與 $p_2(x)$ 的差 conv(p1, p2) 多項式 $p_1(x)$ 與 $p_2(x)$ 的乘積 [q, r] = deconv(p1, p2) 多項式 $p_1(x)$ 除以 $p_2(x)$ 後,得到商式為 $q(x)$,餘式為 $r(x)$
MATLAB程式設計:進階篇