2017-06-12 13 views
1

出力を提供する関数logit.aic(x,y)は、2つの入力xyが与えられています。関数f(a、b)の出力を最小にする入力(a、b)を選択する方法は?

制限: 両方の入力がと間の任意の正の非整数値とすることができます。また、x < yである必要があります。

例:logit.aic(20,80)戻り値41.38729

問題:私の機能の出力を最小限に抑える入力のペアを見つける必要があります。

ありがとうございます。

+0

いいえ、値は1つだけです。問題は、入力が整数ではないため、自動的に最小化する方法が必要です。 – smars

答えて

2

「グリッド検索」は、このためのものです。

logit.aicがベクトル化機能であることを提供し、あなたが

oo <- outer(0:100, 0:100, logit.aic) 
oo[lower.tri(oo, diag = TRUE)] <- NA 
ind <- which(oo == min(oo, na.rm = TRUE), arr.ind = TRUE) 
ind - 1 # because index starts from 0 

を行うことができ、それは容易にそうでない場合は、サイドノートとして

logit.aic <- Vectorize(logit.aic, c("x", "y")) 

を行うには、表面を可視化することができますby

contour(0:100, 0:100, oo) 
points(ind, pch = 19) # minimum 

更新が

ind - 1意味をなさない行列を返します。私は関数の出力を最小限に抑える非整数値の組を必要とします。

これは、複数の最小値を持つことを意味します。結果の各行は1です。

+0

出力を最小限に抑える値のペアを取得するにはどうすればよいですか? – smars

+0

ind - 1は意味をなさない行列を返します。私は関数の出力を最小限に抑える非整数値の組を必要とします。 – smars

+0

私はそれを得る。ありがとう。しかし、これらは単なる整数です。可能性のあるすべての非整数値をチェックする必要がありました。 – smars

関連する問題