如果我从以下符号表达开始:
simplify
然后运行factor
(或>> simplify(a^2 + 2*a*b + b^2)
(a + b)^2
),我得到了预期的结果:
>> simplify(a^2 + 2*a*b + b^2 + 1)
a^2 + 2*a*b + b^2 + 1
现在,当我运行相同的示例,但添加另一个术语时,不会发生因式分析:
(a + b)^2 + 1
如何让这些函数返回此表达式的更实用版本('Steps'
)?我已尝试使用这些函数的所有明显选项(如'IgnoreAnalyticConstraints'
,ax^2 - 2*ax*bx + bx^2 + ay^2 - 2*ay*by + by^2
等),但无济于事。
上下文:我有一个表达式(ax - bx)^2 + (ay - by)^2
,我需要将其转换回r^2
,以便可以将其正确地视为{{1}}。我知道我可以使用一些钝的替换规则,但对于这么简单的事情,我觉得我错过了一个明显的“非黑客”解决方案。
答案 0 :(得分:1)
您可以分别在这两个条款上运行simplify
。
simplify(ax^2 - 2*ax*bx + bx^2) + simplify(ay^2 - 2*ay*by + by^2)
似乎你已经知道应该如何简化它。
另外,您最终希望将其写为r^2
。对于所有二阶表达式,这通常是不可能的,所以不要试图找到一般解决方案。