Meh*_*ran 2 size matlab matrix vectorization
假设我有一个这样的矩阵:
a =
1 2
3 4
Run Code Online (Sandbox Code Playgroud)
我想将矩阵的大小加倍并创建如下内容:
aa =
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4
Run Code Online (Sandbox Code Playgroud)
以这种方式,第一矩阵中的每个元素传播到较大矩阵中的四个元素.
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)
Run Code Online (Sandbox Code Playgroud)
是否有任何预定义的功能来做到这一点?
我绝对可以通过两个循环来做到这一点,但我想要最简单,最干净的方式!
使用kron- Kronecker张量产品:
kron(a,ones(2))
ans =
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4
Run Code Online (Sandbox Code Playgroud)