1

我有 MuPAD 和 Maple,我想用这些软件之一做以下事情:

  • 我有一个方程,其中包含几个具有不同幅度和不同参数的余弦,如下图第一行(蓝色)所示。
  • 我只想提取那些至少包含参数“+a t-b t”的余弦(所以“+a t-b t+alpha”也可以)-见第二个(蓝色行)。
  • 我想显示这个特定余弦的振幅总和 - 见第三行(红色)。

第二张图片显示了一个真实的例子。 例子 示例 2

4

1 回答 1

2

假设您的长表达式名为expr。然后这样做

TypeTools:-AddType(
     MyCos,
     cos(satisfies(x-> x::`+` and {a*t, -b*t} subset {op(x)} or x = b*t-a*t))
): 

subex:= select(T-> T::MyCos or T::`*` and membertype(MyCos, {op(T)}), expr);

现在subex是您想要的子表达式。如果您想将系数相加,则只需执行eval(subex, cos= 1).

请注意,这不会找到像(a-b)*t+alpha. 如果你需要找到这些,请告诉我。

于 2013-12-06T01:37:52.047 回答