Erweiterung des Koeffizienten auf variable Exponenten
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
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