如何将方程式表达式分配给变量然后发送给 solve()?
How to assign equation-expression to variable then sent to solve()?
周末我同时使用 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
因此,'s comment really answers this. WolframAlpha is not a programming language. It is a glorified online smart calculator. You can only do very limited computations in it. Check out the Wolfram Language 成熟的编程语言。
周末我同时使用 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
因此,