gpt4 book ai didi

arrays - 生成所有可能的整数数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:16:44 25 4
gpt4 key购买 nike

我想生成所有可能的给定长度 L 的整数数组,最大元素大小 M

最小元素大小为 1。

如果M = 3,并且L = 2,则输出如下:

[1,1]
[1,2]
[1,3]
[2,1]
[2,2]
[2,3]
[3,1]
[3,2]
[3,3]

M^L 种不同的组合,所以我猜 Matlab 代码应该是这样的:

function [arrays] = allArrays(M,L)
for i = 1:(M^L)
arrays(i) = % Something here that translates i to the desired array.
end
end

我不确定循环中间应该做什么,任何帮助将不胜感激!

最佳答案

你应该使用ndgrid:

[y x]=ndgrid(1:3,1:3);
resu=[y(:) x(:)];

如果你想给 ML 作为输入,你应该做以下技巧:

arg=repmat((1:M)',1,L);
arg=mat2cell(arg,M,ones(1,L));
resu=cell(1,L);
[resu{:}]=ndgrid(arg{:});
resu=cell2mat(cellfun(@(x) x(:), resu,'UniformOutput',0));

结果:

 resu =  
1 1
2 1
3 1
1 2
2 2
3 2
1 3
2 3
3 3

关于arrays - 生成所有可能的整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com