在MATLAB中保存最小值

在MATLAB中保存最小值,matlab,while-loop,save,Matlab,While Loop,Save,您好,我正在编写一个带有while循环的代码,在迭代过程中,我需要保存函数的minim值。现在在我的代码中,我保存了迭代的最后一个值,但我想要的是最低的值,而不是最后一个值,a如何解决它??她的是我的代码(我想记住这个代码运行了一段时间) 结束通过将最小值设置为与函数迭代的向量,可以轻松完成此操作,例如: for a = 1:10 number = rand(10); minimum(a) = min(number); end 最后,您将得到最小值作为向量,其长度与您迭代的时间相同

您好,我正在编写一个带有while循环的代码,在迭代过程中,我需要保存函数的minim值。现在在我的代码中,我保存了迭代的最后一个值,但我想要的是最低的值,而不是最后一个值,a如何解决它??她的是我的代码(我想记住这个代码运行了一段时间)


结束

通过将最小值设置为与函数迭代的向量,可以轻松完成此操作,例如:

for a = 1:10
   number = rand(10);
   minimum(a) = min(number);
end
最后,您将得到最小值作为向量,其长度与您迭代的时间相同。然后可以对向量执行另一个最小值,以获得整个迭代过程的最小值

在您的例子中,您可以简单地将迭代器放在调用函数中;如果使用while,则可以放置一个常量(最初设置为1),每次添加一个常量,并将其用作向量索引

a = 1;
while (some condition)
    conditions
    [temp(a), m(a)] = min (fitness_pers); 
    a= a+1;
end

min=mmin
并定义一个名为
min
的变量,则代码>将使代码运行不正确,该变量会对函数产生阴影。你应该更改变量名。是的,但我使用了一个名为minimo的变量,我写min只是为了让你理解是的,但在第二个例子中,你保存min的索引,而不是值,我需要有值,因为在我的算法中,我有5个变量,每个变量对应空间中的5个位置。我怎样才能得到一个非相似索引而是相似值的值呢?很难帮助你,因为你没有提供一个可运行的示例哦,天哪,我说的是一个可运行的示例。你应该尽可能简化你的代码,只保留你想要的部分。顺便说一句,你没有提到最重要的部分(你的
while循环)。while循环的条件是什么?你是如何执行while循环的……对于第二个例子,我想我保存了m(a)和temp(a),如果m(a)是索引而不是值,那么你应该修改函数来同时给出值和索引,比如[temp(a),m(a),value(a)]=min(fitness_pers)
for a = 1:10
   number = rand(10);
   minimum(a) = min(number);
end
a = 1;
while (some condition)
    conditions
    [temp(a), m(a)] = min (fitness_pers); 
    a= a+1;
end