1

私は名前付きのmatlabに.mファイルがあり、そのPowerMinimiser中に2つの関数があります

function PowerMinimiser
    PowerOut = fmin(minFunction,0,100);
    display(PowerOut)
end

function PowerOut = minFunction(varargin)
    RunMode = 2;
    ThresholdValue = 10;
    if nargin > 0
        ThresholdValue  = varargin{1};
    end
    %Receive PowerOut value from .main file and pass in ThresholdValue and
    %RunMode values:
    [PowerOut] = main(ThresholdValue,RunMode);
end

今私がやりたいことは、変数に可能な限り低い値を与えるfmin変数の値を見つけることができるように、matlab 関数を使用することです。の値は 1 から 100 までの数値で、 の関数に渡され、そこで多数の計算が実行されてから、 の値が出力されます。ThresholdValuePowerOutThresholdValuemain.mPowerOut

関数を使用minFunctionして、次の行を使用して、変数をうまく受け取って渡すことができます

     [PowerOut] = main(ThresholdValue,RunMode);

fminしかし、関数を使用しThresholdValueて の最小値を与える の値を取得する方法がわかりませんPowerOut。必要な計算が完了しThresholdValueたら、値を表示したいと思います。fminこれどうやってするの?どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

新しいバージョンの Matlab で functionfminbndを置き換えたfunctionを使用する必要があります。関数名の前に使用fminする引数として関数を渡すには、次のようにします。fminbnd@

PowerOut = fmin( @minFunction, 0, 100 );
于 2013-01-26T17:40:12.317 に答える