求解后简化方程

时间:2019-02-04 21:51:24

标签: maxima

在Maxima中,我输入:

   q_d: 1000-5*p_d;
   q_s: -250+2*p_s;
   p_d: (1+t)*p_s;
   eq:q_d = q_s;
   solve(eq,p_s);
   EC: 10*q_d + 0.01 * (q_d**2);

获取结果

p_s=1250/(5*t+7)

0.01*(1000-5*p_s*(t+1))^2+10*(1000-5*p_s*(t+1))

如何仅用“ t”来进一步简化EC?

1 个答案:

答案 0 :(得分:2)

一种解决方法是表达您列出为方程式的所有关系,然后对要消除的变量求解方程式,然后得到用t表示的表达式,您可以将其替换为EC仅根据t获得结果。

(%i2) e1: q_d = 1000-5*p_d;
(%o2)                  q_d = 1000 - 5 p_d
(%i3) e2: q_s = -250+2*p_s;
(%o3)                   q_s = 2 p_s - 250
(%i4) e3: p_d = (1+t)*p_s;
(%o4)                   p_d = p_s (t + 1)
(%i5) e4: q_d = q_s;
(%o5)                       q_d = q_s
(%i6) solns: solve ([e1, e2, e3, e4], [q_d, q_s, p_d, p_s]);
                1250 t - 750          1250 t - 750
(%o6) [[q_d = - ------------, q_s = - ------------,
                  5 t + 7               5 t + 7
                                   1250 t + 1250         1250
                             p_d = -------------, p_s = -------]]
                                      5 t + 7           5 t + 7

现在在%o6中,我有一个要消除的变量的方程式列表。

(%i7) EC: 10*q_d + 0.01 * (q_d**2);
                               2
(%o7)                  0.01 q_d  + 10 q_d

我将只用t代替EC。

(%i8) subst (solns[1], EC);
                               2
            0.01 (1250 t - 750)    10 (1250 t - 750)
(%o8)       -------------------- - -----------------
                          2             5 t + 7
                 (5 t + 7)

我将使用ratsimp简化结果。

(%i9) ratsimp (%);

rat: replaced 0.01 by 1/100 = 0.01
                           2
                    46875 t  + 68750 t - 58125
(%o9)             - --------------------------
                            2
                        25 t  + 70 t + 49