【问题标题】:Emacs calc multiple solutionsEmacs 计算多个解决方案
【发布时间】: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 ???)?

谢谢。

【问题讨论】:

    标签: emacs calc


    【解决方案1】:
    (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]")
      (calc-eval -1 'push) ; value for variable s2
      (calc-let 'var-s2)   ; right name of variable s2
      (print (calc-eval 1 'top))
      (calc-quit))
    

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      相关资源
      最近更新 更多