【问题标题】:How to test if an equation is in its simplest (most compact) form如何测试方程式是否为最简单(最紧凑)的形式
【发布时间】: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


【解决方案1】:

为了将来参考,我发现您可以使用以下内容: args(expression), simp: false

这将返回一个包含所有参数的数组,无需简化,然后我们可以使用它来检查这个数组对于两个表达式是否相同,除了顺序。

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多