如何解决由"和"分离的方程组。在最大值?

时间:2017-08-02 10:57:07

标签: maxima

我的学生给我一个答案:

_, contours, _ = cv2.findContours(blue_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) x, y, w, h = cv2.boundingRect(contours[0]) cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)

现在我想找出x和y在maxima中的含义,并给出反馈。例如," x是正确的,但y不正确"。我知道,如果学生将答案列为清单,我可以这样做:

x=4 and y=3

有没有办法将此solve([x=4, y=3], [x,y])表达式转换为列表,或者让maxima直接找出andx是直接的?

3 个答案:

答案 0 :(得分:0)

如果输入表达式是字符串,则可以使用parse_string

a: "x=3 and y = 4"$
inpart(parse_string(a),1);
(%o1)  x = 3

exp: map(lambda([i],inpart(parse_string(a),i)), [1,2]);
(%o2)  [x = 3, y = 4]

solve(exp, [x,y]);
(%o3)  [[x = 3, y = 4]]

答案 1 :(得分:0)

我假设您可以通过parse_string或其他方式从输入中获取Maxima表达式。

e成为表达式。然后subst("and"="[", e)返回一个表达式,其中包含运算符"["(即列表),而不是"and"

答案 2 :(得分:0)

另一种方法是使用split

str:"x=4 and y=3";
spl:split(str,"and");
>>> ["x=4 "," y=3"]
eq:map(parse_string,spl);
>>> [x=4,y=3]