1

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

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

现在我想做的是使用 matlabfmin函数,这样我就可以找到变量的值,ThresholdValue这将为变量提供可能的最低值PowerOut。for 的值ThresholdValue是一个介于 1 和 100 之间的数字,并被传递到一个函数中,在该函数中main.m进行了许多计算,然后PowerOut输出一个 for 的值。

使用该minFunction函数,我可以使用该行接收和传递变量

     [PowerOut] = main(ThresholdValue,RunMode);

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

谢谢

4

1 回答 1

0

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

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