首页 > 解决方案 > 用于检查表达式形式的 Maxima 块

问题描述

千里马新手在这里。我需要检查一个表达式的形式constant + infinite sum of trigonometric terms是否有一个好的方法来做到这一点 - 有或没有一个块?

标签: maxima

解决方案


没有内置的方法可以做到这一点,但我认为您可以为此目的使用模式匹配函数(即,用于匹配表达式,而不是字符串)。就像是:

matchdeclare (xx, trigtermp(x));
matchdeclare (yy, freeof(x));
defrule (myrule1, xx + yy, HEY(xx, yy));

wheretrigtermp本身就是一个匹配(乘法因子)*(三角函数)的模式匹配函数。我的建议是在参考手册中阅读了一些关于matchdeclaredefrule和的内容defmatch,并且可能会跟进 Maxima 邮件列表 (maxima-discuss@lists.sourceforge.net),因为这个问题可能需要一些额外的讨论。


推荐阅读