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
多変数関数の最小化
fzero
1変数関数のゼロ点検出
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 | ![]() |