MATLAB:复制向量的每个元素?

时间:2013-07-07 03:46:26

标签: matlab vector matlab-guide dimensional

我是MATLAB和本网站的新手。我试图寻找这个问题,但无济于事(所以如果这最终成为一个已经在这里提出的问题,我道歉)。在课堂上,我们被赋予了以下描述的问题:“对于n维向量X,该函数应返回另一个2n维度,其中每个元素重复两次。例如:如果a = [2 3 4 5],使用该功能后,a = [2 2 3 3 4 4 5 5];“ 它应该使用任意随机大小的矢量。

非常感谢您的帮助! 感谢

1 个答案:

答案 0 :(得分:2)

使用kron

K = kron(X,Y)返回X和Y的Kronecker张量积。结果是通过在X的元素和Y的元素之间获取所有可能的乘积而形成的大数组。如果X是m-by-n和Y是p-by-q,然后kron(X,Y)是m * p-by-n * q。

在您的情况下:

kron(a,[1 1])

会给你你想要的东西

您的问题有一些替代方案:

reshape([a ; a],1,[])

reshape([a'*[1 1]]',1,[])