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