gpt4 book ai didi

sage - 求解方程并使用在其他计算中获得的值 - SAGE

转载 作者:行者123 更新时间:2023-12-04 11:14:37 25 4
gpt4 key购买 nike

SAGE 中的函数 solve() 返回我求解方程的变量的符号值。例如:

sage: s=solve(eqn,y)
sage: s
[y == -1/2*(sqrt(-596*x^8 - 168*x^7 - 67*x^6 + 240*x^5 + 144*x^4 - 60*x - 4) + 8*x^4 + 11*x^3 + 12*x^2)/(15*x + 1), y == 1/2*(sqrt(-596*x^8 - 168*x^7 - 67*x^6 + 240*x^5 + 144*x^4 - 60*x - 4) - 8*x^4 - 11*x^3 - 12*x^2)/(15*x + 1)]

我的问题是我需要在其他计算中使用为 y 获得的值,但我不能将这些值分配给任何其他变量。有人可以帮我解决这个问题吗?

最佳答案

(1) 您应该访问 ask.sagemath.org ,面向 Sage 用户、专家和开发人员的类似 Stack Overflow 的论坛! </plug>
(2) 如果您想在某事中使用 solve() 调用的值,那么使用 solution_dict 标志可能是最简单的:

sage: x,y = var("x, y")
sage: eqn = x**4+5*x*y+3*x-y==17
sage: solve(eqn,y)
[y == -(x^4 + 3*x - 17)/(5*x - 1)]
sage: solve(eqn,y,solution_dict=True)
[{y: -(x^4 + 3*x - 17)/(5*x - 1)}]

此选项将解作为字典列表而不是方程列表提供。我们可以像访问任何其他字典一样访问结果:
sage: sols = solve(eqn,y,solution_dict=True)
sage: sols[0][y]
-(x^4 + 3*x - 17)/(5*x - 1)

然后如果我们愿意,我们可以将它分配给其他东西:
sage: z = sols[0][y]
sage: z
-(x^4 + 3*x - 17)/(5*x - 1)

并替换:
sage: eqn2 = y*(5*x-1)
sage: eqn2.subs(y=z)
-x^4 - 3*x + 17

等等。虽然恕我直言,以上更方便,但您也可以通过 .rhs() 在没有 solution_dict 的情况下访问相同的结果:
sage: solve(eqn,y)[0].rhs()
-(x^4 + 3*x - 17)/(5*x - 1)

关于sage - 求解方程并使用在其他计算中获得的值 - SAGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com