MatLab fmin function



我在 matlab 中有一个名为 PowerMinimiser 的 .m 文件,里面有两个函数

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

现在我想做的是使用 matlab fmin 函数,以便我可以找到变量ThresholdValue的值,该值将为变量PowerOut提供可能的最低值。ThresholdValue 的值是 1 到 100 之间的数字,并传递到main.m中的函数中,在该函数中完成大量计算,然后输出 PowerOut 的值。

使用

minFunction 函数,我能够接收和传递变量 fine,使用线

     [PowerOut] = main(ThresholdValue,RunMode);

但我不确定如何使用 fmin 函数来获取PowerOut提供最低值的ThresholdValue值。我希望在fmin完成必要的计算后显示ThresholdValue值。我该怎么做?任何帮助将不胜感激。

谢谢

你应该使用函数fminbnd,它取代了较新版本的 Matlab 中的函数fmin。要将函数作为参数传递给fminbnd请在函数名称前面使用 @,如下所示:

PowerOut = fmin( @minFunction, 0, 100 );

相关内容

  • 没有找到相关文章

最新更新