Mathematica中的收集顺序

时间:2012-10-02 09:01:42

标签: wolfram-mathematica

我有一些表达式,我想从中收集各种线性术语(CxxP,CxyP,CyyP)。目前我正在使用:

aaa = Collect[ expr, {CxxP, CxyP, CyyP}]

但结果不按我指定的顺序返回(即我希望CxxP首先出现等):

-(1 + a) CxyP (a GC) - CxxP (k^2 l^2 + GC)

想要这种排序的原因是我可以提取我需要的特定术语。如果有更简单的方法,我很想知道,例如。

In[] = ExtractTerm[aaa, CxxP]
Out[] = -(k^2 l^2 + GC)

使用CoefficientList也不保留顺序,也不会为不存在的条件选取系数,即我希望明确告知没有任何CyyP术语。

谢谢,Ewan

1 个答案:

答案 0 :(得分:3)

如果我理解你的话,你可以制作一个有序的系数列表:

Coefficient[aaa,#]&/@{CxxP, CxyP, CyyP}