用于检查表达式形式的 Maxima 块
Maxima block to check form of expression
这里是千里马新手。我需要检查表达式的形式是否为 constant + infinite sum of trigonometric terms
没有内置的方法可以做到这一点,但我认为您可以为此目的使用模式匹配函数(即匹配表达式,而不是字符串)。类似于:
matchdeclare (xx, trigtermp(x));
matchdeclare (yy, freeof(x));
defrule (myrule1, xx + yy, HEY(xx, yy));
其中 trigtermp
本身是一个模式匹配函数,它匹配 (multiplicative factor)*(trig function)。我的建议在参考手册中阅读了一些关于 matchdeclare
、defrule
和 defmatch
的内容,也许可以跟进 Maxima 邮件列表 (maxima-discuss@lists.sourceforge.net)因为这个问题可能需要一些额外的讨论。
这里是千里马新手。我需要检查表达式的形式是否为 constant + infinite sum of trigonometric terms
没有内置的方法可以做到这一点,但我认为您可以为此目的使用模式匹配函数(即匹配表达式,而不是字符串)。类似于:
matchdeclare (xx, trigtermp(x));
matchdeclare (yy, freeof(x));
defrule (myrule1, xx + yy, HEY(xx, yy));
其中 trigtermp
本身是一个模式匹配函数,它匹配 (multiplicative factor)*(trig function)。我的建议在参考手册中阅读了一些关于 matchdeclare
、defrule
和 defmatch
的内容,也许可以跟进 Maxima 邮件列表 (maxima-discuss@lists.sourceforge.net)因为这个问题可能需要一些额外的讨论。