【发布时间】:2012-11-07 09:35:30
【问题描述】:
在 for 循环中调用函数时,如果 n 是循环迭代的次数,我需要将所有返回值存储到列矩阵 nx1 中:
for (i = 1:n)
function(arg);
end
存储这些值后,我还需要获取前五个值。
【问题讨论】:
在 for 循环中调用函数时,如果 n 是循环迭代的次数,我需要将所有返回值存储到列矩阵 nx1 中:
for (i = 1:n)
function(arg);
end
存储这些值后,我还需要获取前五个值。
【问题讨论】:
假设您的论点 res 取决于索引 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)
【讨论】: