私は解決するために、この方程式持っている(例えば、F(x、y)を= 0):あなたが他の人を持っているnleqslvまたは別でRのnleqslvパッケージを使用して非線形方程式を解くには?
Rを使用してlibrary(nleqslv)
target <- function(x)
{
z = x[1]/(x[1]+x[2])
y = numeric(2)
y[1] <- z*exp(-x[2]*(x[2]+z*(1-exp(-x[1]/z))))-0.00680
y[2] <- z/x[2]*(1-exp(-x[2]))-exp(-x[2])*z/x[1]*(1-exp(-x[1]))-3.43164
y
}
# Usage
xstart <- c(1,1)
target(xstart)
nleqslv(xstart, target, control=list(ftol=.0001, allowSingular=TRUE),jacobian=TRUE,method="Newton")
を:)
おかげ
-0.00680と-3.43164の数字は何ですか? エラーが発生しました: fn(par、...)のエラー:引数 "y"がありません。デフォルトはありません...同じものを取得していますか? –
これらは数式の一部です:)。 z/y *(1-exp(-x/z))は、f(x、y) y)) - exp(-y)* z/x *(1-exp(-x)))=(a、b)ここで、(a、b)はある特定の値をとることができる。ポストでは、(a、b)=(0.00680; 3.43164)と書いています。 – Gauss
エラーは、関数ターゲットの間違った定義によって引き起こされます... nleqslvがベクトルを使用しています...問題を修正しました。今は試してみると別のメッセージが表示されます:) – Gauss