我有一个4x1矩阵,
A= [1;2;3;4]
我想B
使其大小为4x50。列中的所有元素必须包含相同的A元素。例如,
B= [1 1 1 1.... 1 1; 2 2 2 2.... 2 2; 3 3 3 3.... 3 3; 4 4 4 4.... 4 4]
在这种情况下,第1列的A的所有元素在B的第一列中以相同的方式存在,对于B的第二列也是如此,依此类推
有没有办法从A形成这样的B?我正在尝试连接如下:
B= horzcat(A,A,...);
但在这种情况下,我必须写A
次,共50次。那么还有其他方法可以获得相同的结果吗?
答案 0 :(得分:4)
您是否尝试过使用repmat
?
B = repmat(A, 1, 50);
repmat
(很好地代表 rep 吃 mat rix)取一个矩阵并在水平和垂直方向上重复多次你想要的。从技术上讲,您可以选择尽可能多的重复次数,就像您的矩阵中一样。然而,对于我们这里的目的,这是一个具有两个自由度/维度的矩阵,所以我们这里只考虑水平和垂直。
在您的特定情况下,您希望水平重复此列向量50次,因此第三个参数设置为50,而您只需要垂直一个副本,因此第二个参数设置为1.