如何将equation-expression分配给变量然后发送到solve()?

时间:2017-11-26 02:50:37

标签: sage wolframalpha

我在周末使用SageMath和Wolfram Alpha来娱乐自己。

我找到了解决联立方程的SageMath演示:

var('x y p q')
eq1 = p+q==9
eq2 = q*y+p*x==-6
eq3 = q*y^2+p*x^2==24
solve([eq1,eq2,eq3,p==1],p,q,x,y)

它给了我这个结果:

[
  [ p == 1
  , q == 8
  , x == -4/3*sqrt(10) - 2/3
  , y == 1/6*sqrt(10) - 2/3
  ]
  ,[p == 1
  , q == 8
  , x == 4/3*sqrt(10) - 2/3
  , y == -1/6*sqrt(10) - 2/3
  ]
]

我在Alpha上尝试了这种语法:

solve p+q==9 , q*y+p*x==-6 , q*y^2+p*x^2==24 , p==1

效果很好。

问题:

如何操作Alpha所以我将每个方程分配给一个变量,然后提供该变量作为参数求解?

我想简化我对solve()的调用,所以看起来像这样:

solve eq1, eq2, eq3, p==1

而不是:

solve p+q==9 , q*y+p*x==-6 , q*y^2+p*x^2==24 , p==1

1 个答案:

答案 0 :(得分:1)

所以,Crazy Ivan的评论真的回答了这个问题。 WolframAlpha 不是一种编程语言。这是一个美化的在线智能计算器。你只能在其中进行非常有限的计算。查看Wolfram Language以了解完整的编程语言。