多項式展開後的項數

2021-10-02 21:34:31 字數 2113 閱讀 4335

多項式展開的項數計算。假設

f (x

)=(x

1+n2

+...

+xn)

kf(x) = (x_1+n_2+...+x_n)^k

f(x)=(

x1​+

n2​+

...+

xn​)

k求不同的項數目,例如 x1k

x_1^k

x1k​

,x 2k

x_2^k

x2k​

和x 11

x2k−

1x_1^1x_2^

x11​x2

k−1​

是不同的項。

用排列組合的知識,一共有兩個步驟。

選定變數

x ik

x_i^k

xik​

次冪的項數可以看作是從[x1

,x2,

...,

xn

][x_1, x_2, ...,x_n]

[x1​,x

2​,.

..,x

n​]中選擇一變數,一共n

nn個選擇。xia

xjk−

ax_i^ax_j^

xia​xj

k−a​

是選擇兩項,n∗(

n−1)

2\frac

2n∗(n−

1)​, 依次類推每m個變數組成的單項式可以有cnm

c_n^m

cnm​

種選擇。

分配每個變數的冪

在選定變數之後,就需要指定次冪。假設我們已經選定m

mm個變數,m

mm個變數冪的和為k

kk。用插擋板的辦法得到,在k

kk個小球中插入m−1

m-1m−

1個擋板將其劃分為m

mm個區間,每個區間的值就是對應變數的次冪,也就是k−1

k-1k−

1個位置中選擇m−1

m-1m−

1個位置,共有ck−

1m−1

c_^ck

−1m−

1​種劃分辦法。

合起來,f(x

)=(x

1+n2

+...

+xn)

kf(x) = (x_1+n_2+...+x_n)^k

f(x)=(

x1​+

n2​+

...+

xn​)

k項數公式表示為

∑ i=

1kcn

ick−

1i−1

\sum_^ c_n^ic_^

i=1∑k​

cni​

ck−1

i−1​

python實現

from functools import

reduce

from operator import mul

defcombination

(n, k)

:if k ==

0or k == n:

return

1 dividend =

reduce

(mul,

(i for i in

range

(n-k+

1, n+1)

))divisor =

reduce

(mul,

(i for i in

range(1

, k+1)

))return dividend/divisor

defnums_of_polynomial

(n, k)

:# n是變數數, k是次冪

total =

0for i in

range(1

, k+1)

: total += combination(n, i)

*combination(k-

1, i-1)

return

int(total)

MATLAB多項式及多項式擬合

多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...

數學 多項式 多項式求逆

多項式求逆 前置知識 ntt 給定乙個多項式 f left x right 求乙個多項式 g left x right 使得 f left x right g left x right equiv 1 left bmod 998244353 right 考慮遞迴求解。假定現在已經求出了 g 0 le...

matlab多項式與非多項式擬合

擬合標準 1 原始資料向量與擬合向量之間的距離最小,該距離的度量一般使用誤差平方和表示,即均方誤差 r q y 22 2 當均方誤差最小時,說明構造的擬合向量與原始向量最為接近,這種曲線擬合的方法稱為最小二乘法 3 計算均方誤差最小時的擬合係數,可以通過微積分中求解極值的方法實現 多項式擬合 1 多...