r - 当 x 未知且 y 已知时,如何求解方程 y=ax^2+bx+c
问题描述
我有这个等式:
y = -0.00248793*x^2+20.77173764*x-371.01805798
当我给出“y”数字时,我想获得等式的结果,
编辑解释 2/06/20: 我想添加一个向量作为我的“y”,并接收一个向量的输出。
这个问题是一个生物学问题,我在其中进行了细胞因子珠阵列 (CBA),并建立了一条正弦参考曲线。
在确定方程的次数后,如下:
fitil6_1=lm(Standards$`IL6 median`~poly(concentration,1,raw=TRUE))
fitil6_2=lm(Standards$`IL6 median`~poly(concentration,2,raw=TRUE))
fitil6_3=lm(Standards$`IL6 median`~poly(concentration,3,raw=TRUE))
fitil6_4=lm(Standards$`IL6 median`~poly(concentration,4,raw=TRUE))
lines(concentration,predict(fitil6_1,data.frame(x=concentration)),col="red")
lines(concentration,predict(fitil6_2,data.frame(x=concentration)),col="green")
lines(concentration,predict(fitil6_3,data.frame(x=concentration)),col="blue")
lines(concentration,predict(fitil6_4,data.frame(x=concentration)),col="purple)
legend(20,40000,legend=c("de grau 1","de grau 2","de grau 3","de grau 4"),lty=1,col=c("red","green","blue","purple"))
我选择了 2 级公式,因为它更适合我的这种细胞因子(以及本研究中的大多数细胞因子)的点
所以当我做
coef(fitil6_2)
(Intercept) poly(concentration, 2, raw = TRUE)1 poly(concentration, 2, raw = TRUE)2
-8.262381e+02 2.371377e+01 -2.847135e-03
我收到该输出,然后我能够构建公式(在这种情况下):
y=-2.847135e-03 *x^2+2.371377e+01*x-8.262381e+02
但是由于我的独立价值是我知道很难隔离 x! (编辑结束)
我已经尝试过很多事情,比如制作函数(x,y),但是当你指定这个时,你需要给出一些 y,所以我真的有点迷失了!
谢谢
解决方案
正如@Dave2e 所说,您可以通过代数解决这个特定示例。但是您可能需要一个程序化的解决方案,或者您可能正在使用二次方作为一个简单的示例。在这种情况下...
将您的问题重写为“y 的什么值满足 -0.00248793*x^2+20.77173764*x-371.01805798 - y = 0?”。
有很多方法可以找到函数的零点。这就是你把你的问题变成了什么。假设您的“y 的已知值”是 10...
f <- function(x, y) {
-0.00248793*x^2+20.77173764*x-371.01805798 - y
}
answer <- stats::uniroot(f, interval=c(0, 50), y=10)
# Check we've got the right answer
f(answer$root, 10)
给予
[1] -1.186322e-10
使用此方法,您确实需要找到/猜测答案可能所在的范围。这就是interval=c(0.50)
调用部分的目的uniroot
。您可以阅读在线帮助以获取有关返回值的更多信息uniroot
以及您可能需要注意的事项。
推荐阅读
- firebase - 我无法控制/无法访问的 Firebase 自定义身份验证提供程序?
- powershell - 在文件名之前打印计数
- angular - 如何在 TypeScript / Angular 中设置元数据?
- azure - 如何使用 Azure 数据工厂 IF 活动?
- azure-service-fabric - Azure Service Fabric REST API - 如何将应用程序包复制到映像存储?
- python - 当外部变量用于内部范围时,将嵌套的 for 循环转换为扁平列表理解
- angular - 我们可以在 Angular 中使用点运算符对用户定义类型的属性进行属性绑定吗?
- ios - 在 tableView 中动态更改单元格约束
- java - 悬空元字符 Java
- ruby-on-rails - 使用 ruby on rails 过滤模型上的所有搜索