我希望最小化R中的函数(rmse),就像求解器在excel中一样。使用受约束的变量(i)并将其调节为
**i >= 0 && i<=2**
ac = c(85,95,79,88,90,99,111,99,100,110)
ff = c(100,110,105,95,115,105,110,120,105,110)
ff1 = ff[2:5] ;ac1 = ac[2:5]
i=1.1 #Assume-Constraint variable
revff = ff1*i
dev1 = abs(ac1-revff)
rmse_function = function(ac1,ff1,i) sqrt(sum(abs(ac1-ff1*i)^2))
我想通过更改变量i来最小化函数rmse。
答案 0 :(得分:0)
编写您的函数,使其最小化的第一个参数,使用optimise
:
> rmse_function = function(i,ac1,ff1)sqrt(sum(abs(ac1-ff1*i)^2))
> optimise(rmse_function,c(0,2),ac1=ac1, ff1=ff1)
$minimum
[1] 0.8254548
$objective
[1] 13.87804
因此,最小值为i=0.825
,函数的值为13.87
。