是否存在 code/function 可以求解 X 或 Y 的方程式?
Is there a code/function that solves an equation for either X or Y?
我有一个简单的二次方程,但我需要找到一种方法让 R 根据我输入的值来求解 X 或 Y。比如我的等式是
y = 232352x^2+2468776x+381622
我需要找到当 x = 8000 时求解 y 和当 y = 4000 时求解 x 的代码。R 中是否存在这样的 code/function 还是我必须手动执行?
第一部分(当 x=8000 时求解 y)非常简单。
您只需输入:
232352 * 8000^2 + 2468776 * 8000 + 381622
并且 R 给出:
[1] 1.489028e+13
第二个问题涉及根。 polyroot() 函数就是您所追求的。它将方程的系数作为向量,returns 根。所以对于你的情况:
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 替换为相关数字。
我有一个简单的二次方程,但我需要找到一种方法让 R 根据我输入的值来求解 X 或 Y。比如我的等式是
y = 232352x^2+2468776x+381622
我需要找到当 x = 8000 时求解 y 和当 y = 4000 时求解 x 的代码。R 中是否存在这样的 code/function 还是我必须手动执行?
第一部分(当 x=8000 时求解 y)非常简单。
您只需输入:
232352 * 8000^2 + 2468776 * 8000 + 381622
并且 R 给出:
[1] 1.489028e+13
第二个问题涉及根。 polyroot() 函数就是您所追求的。它将方程的系数作为向量,returns 根。所以对于你的情况:
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 替换为相关数字。