Tag: matlab

生成一些向量元素的所有可能的组合(笛卡尔积)

我想要生成给定数量的向量元素的所有可能的组合。 例如,对于[1 2] , [1 2]和[4 5]我想要生成的元素: [1 1 4; 1 1 5; 1 2 4; 1 2 5; 2 1 4; 2 1 5; 2 2 4; 2 2 5] 问题是,我不知道我需要计算组合的向量数。 在这种情况下可能有3个,也可能有10个,我需要一个概括 。 你能帮我在MATLAB这个吗? 是否已经有一个预定义的函数可以完成这个任务?

随机数加上100:Matlab

[我正在将人口数字分成不同的矩阵,现在想用随机数来测试我的代码。] 快速提问,感谢您的帮助 – 如果我使用; 100*rand(9,1) 将这9个数字加到100的最好方法是什么? 我想要0到100之间的9个随机数,合计为100。 有没有这样的内置命令,因为我似乎无法找到它。

重复数组元素的副本:在MATLAB中运行长度解码

我试图插入多个值到一个数组使用'值'数组和'计数器'数组。 例如,如果: a=[1,3,2,5] b=[2,2,1,3] 我想要一些函数的输出 c=somefunction(a,b) 成为 c=[1,1,3,3,2,5,5,5] (1)重复b(1)次,a(2)重复b(2)次,等等 MATLAB中有内置函数吗? 如果可能,我想避免使用for循环。 我已经试过了'repmat()'和'kron()'的变种无济于事。 这基本上是Run-length encoding 。