MATLAB - 通过改变参数来查找函数的所有最大值

时间:2012-11-17 13:01:11

标签: matlab

我在MATLAB中有两个变量的函数。我想修复一个变量,获取结果函数的最大值,然后更改变量的值并再次获得最大值,依此类推。如何在一步或一个向量中获得所有最终的最大值?第二个变量的变化是连续变量,而不是离散变量。

2 个答案:

答案 0 :(得分:0)

这项工作的一些变化适合你?

function main 

clear all, close all
sizer = floor(rand(1) .* 10 + 1)
X = ceil(rand(sizer,1) .* 10)
Y = floor(rand(sizer,1) .* 10)
Z = Zmax(X, Y, sizer)


    function Z = Zmax(X, Y, sizer)

    Z = zeros(size(sizer));

    for i = 1:1:sizer
        Z(i) = max([X(i), Y(i)]);
    end

    Z = Z';

    end

end

您可能需要将此添加到Zmax,因为您的第二个变量具有连续变化:http://www.mathworks.com/help/curvefit/fnval.html

答案 1 :(得分:0)

谢谢你们,但是要解决这个问题。我只是在循环中改变变量并将相应的最大值存储在一个数组中。这份工作对我来说.. :))