小编Art*_*hur的帖子

简化maxima软件中的公式

我正在使用maxima软件来帮助我简化公式.通常情况下,我可以轻松地管理subst,ratsubst,factor,ratsimp,......但是仍然有很少的公式我觉得难以简化我想要的方式.

  1. 假设a> b和c> d,我想用这样的方式简化以#开头的分数:

    -(a - b)/(d - c)    ->   ( a - b )/( c - d)
    
    Run Code Online (Sandbox Code Playgroud)

    但我不知道怎么做.似乎maxima简化算法将尝试以自己的方式对变量进行排序.

    我创建了自己的最大值函数来尝试简化这些无用的减号.

    no_minus(fraction):=
      block([simp:true,
         numerat:expand(-ratnumer(fraction)),
         denominat:expand(-ratdenom(fraction))],
        block([simp:false],
          numerat/denominat));
    -a/(b-x);
    no_minus(-a/(b-x));
    no_minus(-a*b*c/(b-x*b*f-f));
    
    Run Code Online (Sandbox Code Playgroud)

    我原以为no_minus(-a /(bx))会返回/(xb),但事实并非如此.

  2. 我想介绍一个新的中缀运算符来表示两个表达式大致相等.例如,如果x大约等于y.我想注意一下

    x =~ y

    infix("=~").

如何配置简化器以便在输入时

2*x+3 =~ u+v;
(%-3)/2;

输出是

x =~ (u+v-3)/2

maxima

5
推荐指数
1
解决办法
640
查看次数

标签 统计

maxima ×1