【问题标题】:Is there a way to solve an equation in R?有没有办法解决R中的方程?
【发布时间】:2020-02-01 23:04:10
【问题描述】:

我正在尝试用 R 写一个方程,然后求解它。我对 R 很陌生,所以这可能是一个基本问题,但我无法理解谷歌提供的几个包上的 CRAN 注释。

我的方程式:

F- b ln(|1+ (F/b)|) - 0.05t = 0

我正在尝试求解 F,并且 R 中有其他方程/变量已经定义了 b 和 t。

我想我要问的是,我如何将这个公式翻译成 R 中的东西,然后为 F 求解?

【问题讨论】:

标签: r formula equation non-linear


【解决方案1】:

假设 b 和 t 是具有已知值的标量(这里我们假设两者都为 1),我们可以最小化左侧的平方,假设答案位于指定的区间内并且如果它达到零(它在下面)我们已经解决了。请注意,F 在 R 中表示 FALSE,因此为了清楚起见,我们使用 FF。

fun <- function(FF, b, t) (FF - b * log(abs(1+ (FF/b))) - 0.05*t)^2
optimize(fun, c(-10, 10), b = 1, t = 1)

给予:

$minimum
[1] 0.3503927

$objective
[1] 7.525844e-12

【讨论】:

  • 这真的很有帮助,谢谢。但是,$minimum 和 $objective 有什么区别?你能解释一下为什么我们要平方吗?如果我想在方程中使用这个函数的解,比如说解乘以某个值,我将如何使解成为一个值以便我可以做到这一点?或者有其他方法吗?
  • 这更有意义。我仍然不确定如何将这个值从 $objective 保存/使用到 Global Environment 值,因此我可以在进一步的方程式中使用它。
  • z &lt;- optimize(...); z$minimum
猜你喜欢
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多