Erweiterung des Koeffizienten auf variable Exponenten

Oct 28 2020

Angenommen, ich habe einen Ausdruck, der ein Polynom in einer Variablen ist, beispielsweise in der Variablen $x$, in welchen Begriffen erscheinen für welche der Exponent von $x$enthält auch Variablen. Zum Beispiel:

pol = a + b x^n + c x^(n + 1)

Gibt es eine saubere Möglichkeit, den Koeffizienten vor einem bestimmten Begriff zu finden?

Ich konnte den eingebauten Funktionskoeffizienten nicht direkt zum Arbeiten bringen, nämlich

{Coefficient[pol, x, 0], Coefficient[pol, x, n], Coefficient[pol, x, n + 1]}

ergibt die Ausgabe

{a, b + c x, c}

während ich will, dass es nachgibt

{a, b, c}

Um dies zu beheben, habe ich verwendet

Coefficient2[pol_, var_, exp_] := Coefficient[Coefficient[pol, var, exp], var, 0]

Dies war gut genug, um in meinem Fall die richtigen Ergebnisse zu erzielen, aber es fühlt sich ein bisschen böse an. Gibt es einen besseren Weg?

Antworten

1 Sumit Nov 03 2020 at 23:03

Hier ist eine Möglichkeit für jedes Polynom polmit variabler xLeistungm

powcoeff[pol_, x_, m_] := Simplify[Total[
        Select[Level[Expand[pol], 1], Exponent[#, x] == m &]]/x^m]

pol1 = a1 + b1 x^n + c1 x^(n + 1);
pol2 = a2 + b2 x^n (f x + 1) + c2 x^(n + 1);
pol3 = pol1 pol2;

powcoeff[pol1, x, n]
powcoeff[pol2, x, n + 1]
powcoeff[pol3, x, n]
powcoeff[pol3, x, n + 1]
powcoeff[pol3, x, 6 n + 1]

b1

c2 + b2 f

a2 b1 + a1 b2

a2 c1 + a1 (c2 + b2 f)

0