【发布时间】:2022-12-01 18:06:10
【问题描述】:
我正在构建一个学习工具,学生需要在其中求解/输入数学方程式。我正在使用 maxima 将学生的答案与老师输入的解决方案进行比较,以确定学生是否已正确解决。我想允许等效的答案,但前提是它们是最简单的形式。所以如果答案是a+(b+1)/2,那么a+(1+b)/2、(b+1)/2+a和(1+b)/2+a也是正确的,但是a+( 2b+2)/4 不是。
有没有办法最大限度地做到这一点?
我尝试使用 ratsimp 来简化表达式,然后检查它是否保持不变,如果是,则意味着它已经处于最简单的形式。不幸的是,如果我在 a+b 上使用它,它会将变量的顺序更改为 b+a。有什么方法可以检查两个表达式是否相同,除了操作顺序?
【问题讨论】:
-
感谢您对 Maxima 的关注(我是一名开发人员)。这不是一个简单的问题。我认为这需要更多的讨论。我的建议是在 Maxima 邮件列表中提出它,请参阅:sourceforge.net/projects/maxima/lists/maxima-discuss 顺便说一句,至少有一个活跃的项目使用 Maxima 来生成和评估课堂问题,称为 STACK。我认为网络搜索会找到它。可能还有其他类似的项目,我认为现在人们对这个概念很感兴趣。
标签: maxima