我有一个基于9 x 1数组输出整数的函数。我想检查各种数组值的函数输出,因此理想情况下,我想在(0,3)范围内迭代数组的每个元素。有没有比嵌套9个for循环更简单的方法了?
答案 0 :(得分:0)
请注意,您有3 ^ 9的排列。如果您有一个可以将数字1到3 ^ 9赋予每个组合的函数,则可以执行一个循环。
for i=1:3^9
current_array = arrangement_no(i);
test_function(current_array);
end
要定义此功能,基本上将每个数字转换为基数3,取数字加1。我将举一个数组大小为3的示例,其条目的范围为0:2(如果可以的话,请首先尝试)。
function current_array = arrangement_no(i)
current_array = zeros(1,3)
for j = 1:3
current_array(end+1-j) = mod(i,3);
i= floor(i/3);
end
end