在R中优化时出错
我创建了两个函数f(I)和f(j),我想同时求出I和j的值,这样f(I)-f(j)的差就最小化了。 然而,在运行下面的代码时,我得到了一个错误 我有两个函数,参数I和j如下在R中优化时出错,r,optimization,solver,minimize,R,Optimization,Solver,Minimize,我创建了两个函数f(I)和f(j),我想同时求出I和j的值,这样f(I)-f(j)的差就最小化了。 然而,在运行下面的代码时,我得到了一个错误 我有两个函数,参数I和j如下 bu1<- function(j){ sum(linkinc_lev1$gdp*(1/(1+ (linkinc_lev1$use_gro*(1+j/100)))) } bu1<- function(j){ sum(linkinc_lev2$gdp*(1/(1+ (linkinc_lev2$use_gro*(1+
bu1<- function(j){
sum(linkinc_lev1$gdp*(1/(1+ (linkinc_lev1$use_gro*(1+j/100))))
}
bu1<- function(j){
sum(linkinc_lev2$gdp*(1/(1+ (linkinc_lev2$use_gro*(1+i/100))))
}
bu1是的,几乎所有的优化器都处理参数向量。您应该将函数修改为
f1<- function(param) abs(bu1(param[2])-td1(param[1]))
仍然是相同的解决方案,但现在是可微的,您可以将其提供给大多数优化器。您有两个函数bu1。。。但是没有td1。顺便问一下什么是linkinc\u lev1
?一罐果酱,一架黄铜飞机?哈哈..抱歉,第二个功能是td1。linkinc_lev1只是一个数据帧名称,舒德提到:)下面的方法有用吗?你能dput
你的数据吗?我还没查过,很快会给你回复。谢谢:)
f1<- function(param) abs(bu1(param[2])-td1(param[1]))
f1 <- function(param) (bu1(param[2])-td1(param[1]))^2