| MATLAB Function Reference | ![]() |
注意
この関数名は、リリース11(MATLAB 5.3)の fminbnd に変更されました。fmin は、リリース11の中でサポートされていますが、将来のバージョンでは削除される予定なので、fminbndを使うようにしてください。 |
表示
x = fmin('fun',x1,x2)
x = fmin('fun',x1,x2,options)
x = fmin('fun',x1,x2,options,P1,P2, ...)
[x,options] = fmin(...)
詳細
x = fmin(' は、区間 fun',x1,x2)
で、fun(x) の局所的な最小値になる code>x の値を出力します。
x = fmin(' は、上と同じですが、コントロールパラメータ fun',x1,x2,options)
options を使います。
は、上と同じですが、目的関数 x = fmin('fun',x1,x2,options,P1,P2,...)
fun(x,P1,P2,...) に引数を渡します。options へ空行列を渡すと、デフォルト値を使うことになります。
[x,options] = fmin(...)
は、options(10) に、使用するステップ数を出力します。
引数
x1,x2 |
function が最小化される範囲の指定 |
P1,P2... |
function へ渡す引数 |
|
最小化される関数名を含む文字列 |
options |
コントロールパラメータベクトル。options の18要素の内、3つだけがfmin で参照されます。Optimization Toolbox の関数では、他のものも使用します。fmin で使用する 3つのコントロールoptions は、 |
例題
fmin('cos',3,4) は、
を小数以下数桁で計算します。
fmin('cos',3,4,[1,1.e-12]) は、
を12桁で計算します。
区間 (0,2), で、関数
の最小値を求めるために、f.m ファイルを記述します。
function y = f(x) y = x.^3-2*x-5;
x = fmin('f', 0, 2)
x =
0.8165
y = f(x)
y =
-6.0887
アルゴリズム
アルゴリズムは、黄金分割サーチと双曲線内挿をベースにしています。同じアルゴリズムを実現する Fortran プログラムが、参考文献 [1] に用意されています。
参考
fmins多変数関数の最小化
fzero1変数関数のゼロ点検出
Optimization Toolbox の中の foptions (または、 help foptionsとタイプしてください)
参考文献
[1] Forsythe, G. E., M. A. Malcolm, and C. B. Moler, Computer Methods for Mathematical Computations, Prentice-Hall, 1976.
| flops | fminbnd | ![]() |