【发布时间】:2016-10-29 12:40:11
【问题描述】:
我有这个最小的代码:
(progn
(calc)
(calc-hyperbolic)
(calc-eval "[8.66e10 = r * v, -7.51e6 = 0.5*v^2 - 6.67e-11*6e24/r]" 'push)
(calc-solve-for "[r,v]")
(print (calc-eval 1 'top))
(calc-quit))
我得到了通用解决方案
"[r = 86600000000. / (4621.24711316 - 2517.12631405 s2), v = 4621.24711316 - 2517.12631405 s2]"
在我阅读的手册中:
“双曲线标志 (H a S) [fsolve] 告诉求解器报告 完全通用的解决方案系列。它将发明变量 n1, n2, ..., 代表独立的任意整数,而 s1, s2, …, 其中 表示独立的任意符号(+1 或 -1)。" ... "注意 像 n1 和 s1 这样的变量没有给出任何特殊的解释 在 Calc 中,除了方程求解器本身。像往常一样,您可以使用 s l (calc-let) 命令获取各种实际的解 这些变量的值。”
如何以编程方式进行以获得两个解决方案,也就是用 +1 和 -1 替换 s2(我不知道为什么是 s2 而不是 s1 ???)?
谢谢。
【问题讨论】: