Extension du coefficient aux exposants variables
Disons que j'ai une expression qui est un polynôme dans une variable, par exemple dans la variable $x$, dans lequel apparaissent les termes pour lesquels l'exposant de $x$comprend également des variables. Par exemple:
pol = a + b x^n + c x^(n + 1)
Existe-t-il un moyen propre de trouver le coefficient devant un terme donné?
Je n'ai pas pu faire fonctionner directement la fonction intégrée Coefficient, à savoir
{Coefficient[pol, x, 0], Coefficient[pol, x, n], Coefficient[pol, x, n + 1]}
donne la sortie
{a, b + c x, c}
pendant que je veux qu'il cède
{a, b, c}
Pour résoudre ce problème, j'ai utilisé
Coefficient2[pol_, var_, exp_] := Coefficient[Coefficient[pol, var, exp], var, 0]
C'était assez bon pour donner les bons résultats dans mon cas, mais cela me semble un peu désagréable. Y a-t-il un meilleur moyen?
Réponses
Voici une possibilité pour tout polynôme polavec variable xpour la puissancem
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