在 for 循环中调用函数时,如果 n 是循环迭代的次数,我需要将所有返回值存储到列矩阵 nx1 中:
for (i = 1:n)
function(arg);
end
存储这些值后,我还需要获得前五个值。
假设您的论点res
取决于 index i
,即result(i) = yourfunction(arg(i))
,您可以使用更紧凑的表达式:
result = arrayfun(@yourfunction,arg);
.
您可以使用以下代码:
res = zeros(n,1);
for (i = 1:n)
res(i)=function(arg);
end
需要在循环之前分配以确保您有列矩阵而不是行。
编辑:
回答最后一个问题:存储这些值后,我还需要获取前五个值。
您可以使用排序功能来接收最佳值:
res=sort(res);
result=res(1:5)