这是方程a <- x * t - 2 * x
。我想为t
解决这个方程。
因此,基本上,设置a = 0
并求解t
。我是R
软件包中用于求解方程式的新手。我需要解决复杂根源的软件包。我正在使用的原始方程式具有实部和虚部。我只在寻找代数解,而不是数值。
我尝试过:
a <- x * t - 2 * x
solve(a,t)
我遇到错误:
Error in solve.default(a, t) : 'a' (1000 x 1) must be square
答案 0 :(得分:0)
您可能正在寻找优化:
a=function(x,t) x*t-2*x
optimize(a,lower=-100,upper=100,t=10)
optimize(a,lower=-100,upper=100,x=2)
如果您需要更多帮助,我需要一个可复制的示例。
答案 1 :(得分:0)
您可以使用Ryacas
作为x
的表达式来获取解决方案:
library(Ryacas)
x <- Sym("x")
t <- Sym("t")
Solve(x*t-2*x == 0, t)
# Yacas vector:
# [1] t == 2 * x/x
如您所见,解决方案是t=2
(假设x
不为零)。
让我们尝试一个简单的例子:
Solve(x*t-2*x == 1, t)
# Yacas vector:
# [1] t == (2 * x + 1)/x
如果要获取一个提供解决方案作为x
函数的函数,则可以执行以下操作:
solution <- Solve(x*t-2*x == 1, t)
f <- function(x){}
body(f) <- yacas(paste0("t Where ", solution))$text
f
# function (x)
# (2 * x + 1)/x