トラブルシュート
典型的な問題や、推薦される取り扱いをまとめます。
fminbnd
fminsearch
ユーザの問題が連続で、たった一つの最小値しかもたない限り大域的最小値である保証はありません。種々の初期値で最適化を始めることが、大域的最小値の位置を見つけたり、最小値がたった一つしかないことを確認する方法の手助けになります。可能な部分では、異なる方法で結果を確認してください。
最適化問題は、fを計算できないxの値をもつ可能性があります。
f
x
非可解領域になると、大きな正の値を与えるためにペナルティ関数を含ませるようにユーザの関数を変更します。
最小化ルーチンは、無限ループになったり、最小でない解(fzeroの場合はゼロにならない)を出力します。
fzero
ユーザの目的関数がInf, NaNまたは複素数値を出力する可能性があります。最適化ルーチンは、実数値のみ一つ出力されることが期待できます。他の値では、予想できない結果になる可能性があります。ユーザの目的関数M-ファイルにコードを加えることで、実数のみが出力されることを確認できます(関数isreal,isfiniteを使用)。
Inf
NaN
isreal
isfinite