Maxima是否具有解决线性不等式系统的功能,也可以在Moodle Stack-exam上使用?

时间:2018-06-13 07:42:55

标签: moodle maxima inequality

标题中有什么。我尝试了以下内容:

/*Constants*/
metalMaxTa : 37;/*rand_with_step(20,40,2);*/
elecMaxTa : 52;/*rand_with_step(40,60,2);*/
rateAa : 24;
rateBa : 44;

/*Conditions set by the problem*/
ineq1 : 1/2 * x1 + x2 <= metalMaxTa;
ineq2 : x1 + 1/2*x2 <= elecMaxTa;
ineq3 : x1 >= 0;
ineq4 : x2 >= 0;

/*Solution?*/
sol : solve_rat_ineq([ineq1,ineq2,ineq3,ineq4],[x1,x2]);

但所有返回的是: System as shown within STACK

换句话说,输入系统没有真正完成任务,只需打印表达式。 load-command不可用,所以如果它不可用,我实际上无法加载该函数,这似乎是问题所在。

编辑:to_poly_solve()也会产生相同的输出。 solve()似乎可用,但返回一个空列表,因为它显然是指方程组,而不是不等式。

1 个答案:

答案 0 :(得分:1)

fourier_elim可以处理。

load('fourier_elim)$

metalMaxTa : 37 $
elecMaxTa : 52  $
rateAa : 24     $
rateBa : 44     $

ineq1 : 1/2 * x1 + x2 <= metalMaxTa$
ineq2 : x1 + 1/2*x2 <= elecMaxTa $
ineq3 : x1 >= 0 $
ineq4 : x2 >= 0 $
sol : fourier_elim([ineq1,ineq2,ineq3,ineq4], [x1, x2]) $
map(disp, sol) $

返回

                           [x1 = 0, x2 = 0]

                           [x1 = 52, x2 = 0]

                       [x2 = 0, 0 < x1, x1 < 52]

                           [x1 = 0, x2 = 37]

                       [x1 = 0, 0 < x2, x2 < 37]

                                134       44
                          [x1 = ---, x2 = --]
                                 3        3

                          x2 - 104               44
                  [x1 = - --------, 0 < x2, x2 < --]
                             2                   3

                                   44
                  [x1 = 74 - 2 x2, -- < x2, x2 < 37]
                                   3

                               x2
        [0 < x1, x1 < min(52 - --, 74 - 2 x2), 0 < x2, x2 < 37]
                               2

它仅在输出中使用严格的不等式,并且将权益显示为 特别案例。如果在方程式中使用严格的不等式,则输出 看起来更自然。

                            0 < x1

                               x2
                 x1 < min(52 - --, 74 - 2 x2)
                               2

                            0 < x2

                            x2 < 37