我想知道是否有任何函数可以用其他值来求解方程中的变量。
例如,我有:
Group Number Angle Max Value
Fourth Prime Gradient Minimum
此函数的输出应为:
(a-1/3)/(a+b-2/3)==0.3
或类似的话。
谢谢
答案 0 :(得分:0)
您可以通过Ryacas
软件包使用 Yacas :
library(Ryacas)
a <- Sym("a")
b <- Sym("b")
Solve((a-1/3)/(a+b-2/3)==0.3, a)
# Yacas vector:
# [1] a == -((-0.3 * b - 0.1333333333)/0.7)
要获取解决方案的表达式,请执行以下操作:
solution <- Solve((a-1/3)/(a+b-2/3)==0.3, a)
yacas(paste0("a Where ", solution))
# expression(-((-0.3 * b - 0.1333333333)/0.7))
您可以定义一个返回b
函数中的解决方案的函数,如下所示:
f <- function(b) {}
body(f) <- yacas(paste0("a Where ", solution))$text
f
# function (x)
# -((-0.3 * b - 0.1333333333)/0.7)
还请注意,您需要进行有理演算以获取准确的值:
q1 <- Sym(1)/Sym(3)
q2 <- Sym(2)/Sym(3)
solution <- Solve((a-q1)/(a+b-q2)==0.3, a)
solution
# [1] a == -(3 * (-0.3 * b - 1.2/9)/2.1)
Simplify(solution)
# [1] a + (-0.9 * b/2.1 - 3.6/18.9) == 0