如何在Maxima中组合表达式?

问题描述 投票:0回答:1

以下是MACSYMA表达式

eq1: a*x - b*y = 0;
eq2: c*x +d*z = 0;
eq3: y+z = 0;

subst([eq1,eq2],[eq3]);

取消普通 x 后,我期望结果为

a/b = c/d

但是我没有得到预期的结果。和 MACSYMfl 也无法从左右两侧取消常用术语。

如何解决这个问题?

symbolic-math maxima
1个回答
0
投票

IIUC,你想要的是求解 y 的 eq1,z 的 eq2,并将这些值代入 eq3。如果我用手做,我会得到

(%i14) solve(a*x-b*y=0,y);

                                        a x
(%o14)                             [y = ---]
                                         b
(%i15) solve(c*x+d*z=0,z);

                                         c x
(%o15)                            [z = - ---]
                                          d
(%i16) %o14+%o15;

                                       a x   c x
(%o16)                        [z + y = --- - ---]
                                        b     d

由于

z+y = 0
a*x/b-c*x/d
为零,这会产生你的 想要的
a/b=c/d

执行此操作的一种方法是使用

eliminate
:

(%i24) eliminate([eq1,eq2,eq3],[y,z]);
(%o24)                         [- (b c - a d) x]

将其设置为零会使

b*c-a*d
为零,这相当于 你所期望的
a/b=c/d

© www.soinside.com 2019 - 2024. All rights reserved.