Maxima:如何替换方程式中的变量
Maxima: how to replace variables in equations
我正在尝试写下我的一些工作笔记。 Maxima 简化我工作的方式是,一旦我写了一堆方程式并且我想更改变量的定义,我就这样做并重新评估整个文件。
这是我要完成的示例:
问题一:
我有一个方程组,我想从 Maxima 得到的只是变量替换。
eq1: x=a+b+c
eq2: y=d+e+f
eq3: x+y=0
如何让 Maxima 输出
eq3: a+b+c+d+e+f = 0
所以以后如果我想让x变成a+b-c,我就改一下,重新求值
问题二:
与之前类似但有点复杂
eq1: x=a+b+c
eq2: y=d+e+f
eq3: x=y
eq4: a+s+e=0
如何让 Maxima 输出
eq3 a+b+c=d+e+f
如何让 Maxima 求解 a 的 eq1 和求解 e 的 eq2 并输出
eq4: x-b-c+s+y-d-f = 0
预先感谢您的帮助,
圭多
我认为 subst
和 solve
可以处理您在这里想要的操作。
(%i1) eq1: x=a+b+c;
(%o1) x = c + b + a
(%i2) eq2: y=d+e+f;
(%o2) y = f + e + d
(%i3) eq3: x+y=0;
(%o3) y + x = 0
(%i4) subst ([eq1, eq2], eq3);
(%o4) f + e + d + c + b + a = 0
好的,现在这是你的第二个例子。请注意 solve
returns 方程列表。
(%i5) eq3: x=y;
(%o5) x = y
(%i6) eq4: a+s+e=0;
(%o6) s + e + a = 0
(%i7) subst ([eq1, eq2], eq3);
(%o7) c + b + a = f + e + d
(%i8) solve (eq1, a);
(%o8) [a = x - c - b]
(%i9) solve (eq2, e);
(%o9) [e = y - f - d]
(%i10) append (%o8, %o9);
(%o10) [a = x - c - b, e = y - f - d]
(%i11) subst (%o10, eq4);
(%o11) y + x + s - f - d - c - b = 0
千里马的solve
功能不算太强大;它无法求解的方程式有很多种。但它可以解线性方程
我正在尝试写下我的一些工作笔记。 Maxima 简化我工作的方式是,一旦我写了一堆方程式并且我想更改变量的定义,我就这样做并重新评估整个文件。
这是我要完成的示例:
问题一: 我有一个方程组,我想从 Maxima 得到的只是变量替换。
eq1: x=a+b+c
eq2: y=d+e+f
eq3: x+y=0
如何让 Maxima 输出
eq3: a+b+c+d+e+f = 0
所以以后如果我想让x变成a+b-c,我就改一下,重新求值
问题二: 与之前类似但有点复杂
eq1: x=a+b+c
eq2: y=d+e+f
eq3: x=y
eq4: a+s+e=0
如何让 Maxima 输出
eq3 a+b+c=d+e+f
如何让 Maxima 求解 a 的 eq1 和求解 e 的 eq2 并输出
eq4: x-b-c+s+y-d-f = 0
预先感谢您的帮助, 圭多
我认为 subst
和 solve
可以处理您在这里想要的操作。
(%i1) eq1: x=a+b+c;
(%o1) x = c + b + a
(%i2) eq2: y=d+e+f;
(%o2) y = f + e + d
(%i3) eq3: x+y=0;
(%o3) y + x = 0
(%i4) subst ([eq1, eq2], eq3);
(%o4) f + e + d + c + b + a = 0
好的,现在这是你的第二个例子。请注意 solve
returns 方程列表。
(%i5) eq3: x=y;
(%o5) x = y
(%i6) eq4: a+s+e=0;
(%o6) s + e + a = 0
(%i7) subst ([eq1, eq2], eq3);
(%o7) c + b + a = f + e + d
(%i8) solve (eq1, a);
(%o8) [a = x - c - b]
(%i9) solve (eq2, e);
(%o9) [e = y - f - d]
(%i10) append (%o8, %o9);
(%o10) [a = x - c - b, e = y - f - d]
(%i11) subst (%o10, eq4);
(%o11) y + x + s - f - d - c - b = 0
千里马的solve
功能不算太强大;它无法求解的方程式有很多种。但它可以解线性方程