我必须将一个数字列表(例如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将所有矩阵组合到我正在寻找的列表中。
谢谢!
答案 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)