ソルバー関数を含むExcelスプレッドシートを変換しようとしていますが、GRG非線形を使用して最小二乗和を返す2つの変数を最適化しています。私は4つの既知の距離(A)で4つの既知の時間(B)を持っています。私は最適化関数を作成して、VmaxとTauの値のどのような相互作用が最小二乗誤差の和を生成するのかを調べる必要があります。私はnls関数とnloptrパッケージを見てきましたが、それらを一緒に作るようには思えません。 VmaxとTauの現在の値は、Excelソルバー関数を介して決定されたものであり、Rで複製するだけです。任意のすべてのヘルプは非常に高く評価されます。ありがとうございました。GRG非線形最小二乗(最適化)
A <- c(0,10, 20, 40)
B <- c(0,1.51, 2.51, 4.32)
Measured <- as.data.frame(cbind(A, B))
Corrected <- Measured
Corrected$B <- Corrected$B + .2
colnames(Corrected) <- c("Distance (yds)", "Time (s)")
Corrected$`X (m)` <- Corrected$`Distance (yds)`*.9144
Vmax = 10.460615006988
Tau = 1.03682513806393
Predicted_X <- c(Vmax * (Corrected$`Time (s)`[1] - Tau + Tau*exp(-Corrected$`Time (s)`[1]/Tau)),
Vmax * (Corrected$`Time (s)`[2] - Tau + Tau*exp(-Corrected$`Time (s)`[2]/Tau)),
Vmax * (Corrected$`Time (s)`[3] - Tau + Tau*exp(-Corrected$`Time (s)`[3]/Tau)),
Vmax * (Corrected$`Time (s)`[4] - Tau + Tau*exp(-Corrected$`Time (s)`[4]/Tau)))
Corrected$`Predicted X (m)` <- Predicted_X
Corrected$`Squared Error` <- (Corrected$`X (m)`-Corrected$`Predicted X (m)`)^2
#Sum_Squared_Error <- sum(Corrected$`Squared Error`)
は私の目的のために働く、ありがとうございます。 – 758321