2016-09-28 20 views
0

RでrootSolveパッケージを使用して、6つの未知変数を持つ6つの非線形方程式のシステムを解いています。ここに私のモデルはrootSolveパッケージの空引数エラーがR

model <- function(x, parms) c(F1 = x[1] - parms[1] - 1/((-parms[7]) * (1 - x[4])), 
         F2 = x[2] - parms[2] - 1/((-parms[7]) * (1 - x[5])), 
         F3 = x[3] - parms[3] - 1/((-parms[7]) * (1 - x[6])), 
         F4 = x[4] - exp(parms[4] + parms[7] * x[1])/(1 + exp(parms[4] + parms[7] * x[1]) + exp(parms[5] + parms[7] * x[2]) + exp(parms[6] + parms[7] * x[3])), 
         F5 = x[5] - exp(parms[5] + parms[7] * x[2])/(1 + exp(parms[4] + parms[7] * x[1]) + exp(parms[5] + parms[7] * x[2]) + exp(parms[6] + parms[7] * x[3])), 
         F6 = x[6] - exp(parms[6] + parms[7] * x[3])/(1 + exp(parms[4] + parms[7] * x[1]) + exp(parms[5] + parms[7] * x[2]) + exp(parms[6] + parms[7] * x[3])), 
         ) 

しかし、私は、私はinitial.valueとPARMに値を渡すところ、私はこれが起こっているのはなぜ

Error in c(F1 = x[1] - parms[1] - 1/((-parms[7]) * (1 - x[4])), F2 = x[2] - : argument 7 is empty 

のエラーを取得しておく

new.equi = multiroot(model, start = initial.value, parms = parm) 

を呼んで?なぜ議論7があるべきですか?

私はまた、このように明示的にモデルのパラメータを指定しようとしましたが、同じエラーが発生します。

model <- function(x) c(F1 = x[1] - 1.265436 - 1/(2.443700 * (1 - x[4])), 
          F2 = x[2] - 1.195844 - 1/(2.443700 * (1 - x[5])), 
          F3 = x[3] - 1.288660 - 1/(2.443700 * (1 - x[6])), 
          F4 = x[4] - exp(4.600528 - 2.443700 * x[1])/(1 + exp(4.600528 - 2.443700 * x[1]) + exp(3.924360 - 2.443700 * x[2]) + exp(4.643808 - 2.443700 * x[3])), 
          F5 = x[5] - exp(3.924360 - 2.443700 * x[2])/(1 + exp(4.600528 - 2.443700 * x[1]) + exp(3.924360 - 2.443700 * x[2]) + exp(4.643808 - 2.443700 * x[3])), 
          F6 = x[6] - exp(4.643808 - 2.443700 * x[3])/(1 + exp(4.600528 - 2.443700 * x[1]) + exp(3.924360 - 2.443700 * x[2]) + exp(4.643808 - 2.443700 * x[3])), 

答えて

0

あなたは、末尾のカンマを持っています。例:

> c(1,2,) 
Error in c(1, 2,) : argument 3 is empty 
関連する問題