首页 > 解决方案 > 在最大值中创建一个 defmatch

问题描述

文档的启发,特别是展示如何编写函数来检查表达式是否为定积分的部分,我正在尝试编写一些代码来识别表达式是否为无限和。

matchdeclare(x, atom);
matchdeclare(n, atom);
simp: false;
defmatch (checkinfsum, 'sum (f, n, 1, inf));
'sum(cos(n*x)/n^2,n,1,inf);

返回false,我不知道为什么。知道为什么吗?

标签: maxima

解决方案


你错了matchdeclare(f, all)

matchdeclare(n, atom)$
matchdeclare(f, all)$
defmatch(checkinfsum, 'sum (f, n, 1, inf)), simp = false$
e: 'sum(cos(n*x)/n^2,n,1,inf)$
checkinfsum(e);

返回

                                         cos(n x)
(%o5)                        [n = n, f = --------]
                                             2
                                            n

推荐阅读