【问题标题】:make a matrix 'n' time bigger in matlab在matlab中使矩阵'n'时间变大
【发布时间】:2012-08-24 08:58:40
【问题描述】:

我有一个这样的矩阵

1 2 3 4 
2 3 4 5
3 4 5 6 

在matlab中是否有任何函数可以使行n次和列m次 我的意思是例如对于 n=2 和 m=3 的结果是:

1 1 1 2 2 2 3 3 3 4 4 4 
1 1 1 2 2 2 3 3 3 4 4 4 
2 2 2 3 3 3 4 4 4 5 5 5 
2 2 2 3 3 3 4 4 4 5 5 5 
3 3 3 4 4 4 5 5 5 6 6 6 
3 3 3 4 4 4 5 5 5 6 6 6 

谢谢

【问题讨论】:

    标签: matlab matrix-multiplication


    【解决方案1】:

    您可以使用克罗内克产品:

     A=[1 2 3 4;5 6 7 8;9 10 11 12];
     kron(A,ones(2,3))
    ans =
         1     1     1     2     2     2     3     3     3     4     4     4
         1     1     1     2     2     2     3     3     3     4     4     4
         5     5     5     6     6     6     7     7     7     8     8     8
         5     5     5     6     6     6     7     7     7     8     8     8
         9     9     9    10    10    10    11    11    11    12    12    12
         9     9     9    10    10    10    11    11    11    12    12    12
    

    更多信息,您可以查看维基百科:

    http://en.wikipedia.org/wiki/Kronecker_product

    【讨论】:

      【解决方案2】:

      这是我的解决方案:

      %------------------data-----------------
      >> mat = [1 2 3 4;2 3 4 5;3 4 5 6]
      mat =
           1     2     3     4
           2     3     4     5
           3     4     5     6
      >> [m,n] = deal(3,2)
      m =
           3
      n =
           2
      %----------------solution----------------
      >> col = meshgrid(1:size(mat,2),1:m);
      >> row = meshgrid(1:size(mat,1),1:n);
      >> mat(row,col)
      ans =
           1     1     1     2     2     2     3     3     3     4     4     4
           1     1     1     2     2     2     3     3     3     4     4     4
           2     2     2     3     3     3     4     4     4     5     5     5
           2     2     2     3     3     3     4     4     4     5     5     5
           3     3     3     4     4     4     5     5     5     6     6     6
           3     3     3     4     4     4     5     5     5     6     6     6
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-08
        • 1970-01-01
        • 2013-02-08
        • 1970-01-01
        • 2012-02-24
        • 1970-01-01
        • 2013-10-22
        • 1970-01-01
        相关资源
        最近更新 更多