本文最初寫于 2010-08-08于 sohu 博客,這次博客搬家一起搬到這里來。
版權所有,轉載請注明出處。
coeff 函數有兩種基本形式,分別是:
coeff (expr, x)
coeff (expr, x, n)?
coeff (expr, x) 計算多項式expr 中x 的系數。coeff (expr, x, n) 則計算多項式expr 中x^n 的系數。
coeff(expr, x^n) 等價于 coeff(expr, x, n).
coeff(expr, x, 0) 則返回表達式expr 中不包含x 的部分。
coeff (expr, x) 相當于coeff (expr, x, n)中省略了 n,這時默認n = 1。
?
下面是幾個簡單的例子。
coeff (b^3*a^3 + b^2*a^2 + b*a + 1, a^3);

coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z, 3);
coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z^3);

coeff (a*u + b^2*u^2 + c^3*u^3, b, 0);

coeff (expr, x, n) 中的 x 既可以是簡單變量,也可以是個表達式。比如下面的例子:
coeff (h^4 - 2*%pi*h^2 + 1, h, 2);
coeff (v[1]^4 - 2*%pi*v[1]^2 + 1, v[1], 2);
coeff (sin(1+x)*sin(x) + sin(1+x)^3*sin(x)^3, sin(1+x)^3);
coeff ((d - a)^2*(b + c)^3 + (a + b)^4*(c - d), a + b, 4);

但是需要注意的是,只有當expr 中顯式的包含x^n 項時coeff (expr, x, n) 才會得到期望的結果,coeff (expr, x, n)并不會主動進行factor(expr) 或 expand(expr) 等操作。
因此,
coeff (c*(a + b)^3, a);

的結果就不難理解了。這種情況需要使用者根據需要自己先行使用expand(expr) 展開表達式。然后再進行coeff (expr, x, n) 運算。
expand (c*(a + b)^3);
coeff (%, a);

下面是一個使用factor(expr) 函數的例子:
coeff (b^3*c + 3*a*b^2*c + 3*a^2*b*c + a^3*c, (a + b)^3);
factor (b^3*c + 3*a*b^2*c + 3*a^2*b*c + a^3*c);
coeff (%, (a + b)^3);

coeff (expr, x, n) 函數可以作用在表(List)、矩陣等多種數據結構上,甚至可以作用在等式中。下面是幾個例子:
coeff ([4*a, -3*a, 2*a], a);
coeff (matrix ([a*x, b*x], [-c*x, -d*x]), x);
coeff (a*u - b*v = 7*u + 3*v, u);

?
?
- 前言
- gnuplot 中的數據平滑
- 利用 Maxima 求解常微分方程
- Maxima 的繪圖功能 1
- Maxima 的繪圖功能 2
- Maxima 的繪圖功能 3
- Maxima 矩陣及矢量運算 1
- Maxima 矩陣及矢量運算 3
- Maxima 矩陣及矢量運算 4
- maxima 學習筆記(coeff 函數的應用)
- maxima 代數表達式變換
- maxima 學習筆記(基本微積分)
- maxima 代數方程求解
- Maxima 中的復數運算
- Maxima 的三角函數化簡功能
- Maxima 的基本微積分操作
- 利用 gnuplot 繪制時間序列圖
- gnuplot 入門教程 1
- gnuplot 入門教程 2
- gnuplot 入門教程 3
- gnuplot 入門教程 4
- gnuplot 讀取逗號分隔的數據文件
- scilab 讀取處理 wav 文件
- scilab 讀取處理 wav 文件 (2)
- Scilab 處理聲音數據(補充)
- 利用 SCILAB 設計 FIR 濾波器(窗函數法)
- 利用 SCILAB 設計 FIR 濾波器(Minimax法)
- 利用 SCILAB 設計 iir 濾波器設計(模擬濾波器雙線性變換法)
- Scilab 的繪圖函數(1)
- Scilab 的繪圖函數(2)
- Scilab 的繪圖函數(3)
- Scilab 的繪圖函數(4)