r - 如何求解R中的二次方程?
问题描述
我需要解决这个问题,但我绝对不知道。我知道这是非常基本的东西,但我不明白:ax2 + bx + c = 0
a <- 1
b <- -8
c <- 12
d <- b*b-4*a*c
谢谢你。
解决方案
以下是二次公式的实现,
这将给出 ax^2 + bx + c = 0 的根。如果根是复数,它将返回复数值。如果两个根相同,它将返回一个值:
quad <- function(a, b, c)
{
a <- as.complex(a)
answer <- c((-b + sqrt(b^2 - 4 * a * c)) / (2 * a),
(-b - sqrt(b^2 - 4 * a * c)) / (2 * a))
if(all(Im(answer) == 0)) answer <- Re(answer)
if(answer[1] == answer[2]) return(answer[1])
answer
}
因此,在您的情况下,我们将:
quad(a = 1, b = -8, c = 12)
#> [1] 6 2
因此,当 x 为 2 或 6 时,我们知道 x^2 -8 *x + 12 = 0。这很容易手动验证。
推荐阅读
- flutter - 每次我重新启动应用程序时内容都会消失
- c# - 来自自定义字符串函数的图形
- python - Convert Data Frame to JSON/Dictionary with python
- python - 如何使用烧瓶将列表中包含的字典结果显示到新网页?
- docker - docker 镜像运行失败,用于 Prometheus 的 ipmi_exporter
- python-3.x - TypeError: predict() 接受 1 到 2 个位置参数,但给出了 4 个,google cloud shell
- python - Opencv命名图像捕获
- java - recyclerview.scrollToPosition(adapterarray.size()-1) 导致项目以相反的顺序出现
- arrays - 我需要在谷歌表格中的第一个单词之后添加一个单词
- c# - 为什么在执行 async/await 以添加实体时,Entity Framework 似乎总是处置