象征性地替换最大值中的表达式

时间:2011-05-25 08:39:56

标签: maxima

我无法找到如何执行此操作:

x=a+b
y=c+d
z=x*y

我希望输出为

z=ac+ad+bc+bd

z=xy

3 个答案:

答案 0 :(得分:7)

喜欢这个吗?

(%i1) x: a+b;
(%o1)                                b + a
(%i2) y: c+d;
(%o2)                                d + c
(%i3) z: x*y;
(%o3)                           (b + a) (d + c)
(%i4) z: expand (z);
(%o4)                        b d + a d + b c + a c
(%i5) 

最大值的分配是通过:,而不是=(用于检查相等性)

答案 1 :(得分:2)

实际上,要获得他要求的输出而不分配很多变量, 你可以这样做:

(%i1) z = x*y, x = a+b, y = c+d, expand;
(%o1) z = b d + a d + b c + a c

答案 2 :(得分:1)

这是一个老问题,但我认为规范的解决方案是subst()函数