【问题标题】:MatLab fmin functionMatLab fmin 函数
【发布时间】:2013-01-26 17:15:16
【问题描述】:

我在 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 函数,我可以使用该行很好地接收和传递变量

     [PowerOut] = main(ThresholdValue,RunMode);

但我不确定如何使用fmin 函数来获取ThresholdValue 的值,该值给出PowerOut 的最低值。我希望在 fmin 完成必要的计算后显示 ThresholdValue 值。我怎样才能做到这一点?任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: function matlab fminsearch


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-01-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      相关资源
      最近更新 更多