2

次のようなマトリックスがあるとします。

a = 
    1    2
    3    4

マトリックスのサイズを2倍にして、次のようなものを作成したい:

aa = 
     1    1    2    2
     1    1    2    2
     3    3    4    4
     3    3    4    4

このようにして、最初の行列の各要素は、より大きな行列の 4 つの要素に伝播します。

a(i,j) == aa(2*i-1, 2*j-1)
       == aa(2*i  , 2*j-1)
       == aa(2*i-1, 2*j)
       == aa(2*i  , 2*j)

それを行うための事前定義された関数はありますか?

確かに 2 つのループでそれを行うことができますが、最も簡単でクリーンな方法が必要です!

4

1 に答える 1

7

使用kron- クロネッカー テンソル積:

kron(a,ones(2))


ans =
 1     1     2     2
 1     1     2     2
 3     3     4     4
 3     3     4     4
于 2013-01-29T05:18:58.097 に答える