是否有代码/函数可以求解X或Y的方程式?

时间:2019-11-27 02:39:40

标签: r quadratic

我有一个简单的二次方程,但是我需要找到一种方法让R求解X或Y,具体取决于我输入的任意一个值。例如,我的方程是

y = 232352x^2+2468776x+381622

我需要找到一个在x = 8000时可求解y的代码,而在y = 4000时可求解x的代码。R中是否存在这样的代码/函数,还是我必须手动进行?

1 个答案:

答案 0 :(得分:1)

第一部分(当x = 8000时求解y)非常简单。

您只需输入:

232352 * 8000^2 + 2468776 * 8000 + 381622

R给出:

[1] 1.489028e+13

第二个问题涉及根源。您需要的是polyroot()函数。它将等式的系数作为向量,然后返回根。因此,对于您的情况:

 polyroot(c(381622-4000,2468776,232352))

给予:

 [1]  -0.155227+0i -10.469928-0i

然后由您决定要使用哪种解决方案。

通常请记住,如果要针对特定​​的y值求解y = Ax ^ 2 + Bx + C,则必须将方程重新排列为Ax ^ 2 + Bx +(C-y)= 0。 转换为R代码是:

coeff <- c(C-y,B,A)
polyroot(coeff)

用相关数字替换A,B,C,y的地方。