此問題已關聯至this one。假設再下面的代碼:關於無窮大的函數的系列擴展 - 如何將系列的係數作爲Matlab數組返回?
syms x
f = 1/(x^2+4*x+9)
現在taylor
允許功能f
至無限擴展:
ts = taylor(f,x,inf,'Order',100)
但下面的代碼
c = coeffs(ts)
產生錯誤,因爲該系列做不包含x
(它包含x
的負面權力)的正面權力。
在這種情況下,應該使用什麼代碼?
此問題已關聯至this one。假設再下面的代碼:關於無窮大的函數的系列擴展 - 如何將系列的係數作爲Matlab數組返回?
syms x
f = 1/(x^2+4*x+9)
現在taylor
允許功能f
至無限擴展:
ts = taylor(f,x,inf,'Order',100)
但下面的代碼
c = coeffs(ts)
產生錯誤,因爲該系列做不包含x
(它包含x
的負面權力)的正面權力。
在這種情況下,應該使用什麼代碼?
由於周圍無窮泰勒展開很可能與替代y = 1/x
執行和周圍0
擴大,我會明確地作出這樣的替換,使電源正極上使用coeffs
:
syms x y
f = 1/(x^2+4x+9);
ts = taylor(f,x,inf,'Order',100);
[c,ty] = coeffs(subs(ts,x,1/y),y);
tx = subs(ty,y,1/x);
taylor
的輸出不是多元多項式,所以coeffs
在這種情況下不起作用。有一兩件事你可以嘗試使用collect
(你可能會使用simplify
相同或相似的結果):
syms x
f = 1/(x^2 + 4*x + 9);
ts = series(f,x,Inf,'Order',5) % 4-th order Puiseux series of f about 0
c = collect(ts)
返回
ts =
1/x^2 - 4/x^3 + 7/x^4 + 8/x^5 - 95/x^6
c =
(x^4 - 4*x^3 + 7*x^2 + 8*x - 95)/x^6
然後你可以使用numden
提取從分子和分母要麼c
或ts
:
[n,d] = numden(ts)
它返回下列多項式S:
n =
x^4 - 4*x^3 + 7*x^2 + 8*x - 95
d =
x^6
coeffs
然後可以在分子中。你也可以找到other functions listed here。