範囲内の関数の最小値を求めるには、MATLABでは?

MATLABでは、関数fminbndを用いることで、関数が与えられた範囲の最小値を求めることができます。

% 定义函数
fun = @(x) x^2 - 2*x + 1;
% 求函数在区间[0, 2]的最小值
[x_min, f_min] = fminbnd(fun, 0, 2);
% 输出最小值和对应的x值
disp(['最小值:', num2str(f_min)]);
disp(['最小值对应的x值:', num2str(x_min)]);

上部の例では 関数fun を定義後、関数 fminbnd を用いて区間 [0, 2] 内の最小値を求めました。最後に、コマンドラインウィンドウに最小値と 対応する x の値を出力します。

fminbnd関数は連続かつ微分可能な関数に対してのみ有効です。関数がその条件を満たさない場合には別の最適化関数を使用して最小値を計算する必要があります。

bannerAds