通过循环在matlab中创建多个矩阵

时间:2013-07-10 21:21:30

标签: matlab loops matrix

我必须将一个数字列表(例如4 1 3 2)变成一个相同数字的列表,但每个数字都有多个副本(并且它们必须按特定顺序排列)(例如4 4 4 4 1 1 1 1 3 3 3 3 2 2 2 2)

现在我的计划是制作一个4x1矩阵(如a = [4 4 4 4]),但是我无法为列表中的每个数字进行此运行。我创建了一个函数,它接受值(4),并在4x1到循环中创建一个包含4个副本的矩阵。

我可以为列表中的每个数字创建一个运行此副本的循环吗?

aftewrads我想我可以使用vertcat将所有矩阵组合到我正在寻找的列表中。

谢谢!

1 个答案:

答案 0 :(得分:1)

无论如何都不需要循环。

val = [4 1 3 2]repmat()reshape()中的每个条目常量长度

len = 4;
reshape(repmat(val,len,1),1,[])

可变长度,使用FEX:rude()解码

len = [1 2 3 4];
rude(len,val)