我有一个X
大小矩阵[N, D1]
,我想获得一个新的矩阵X2 [N2, D2]
,其输出X2
应如下所示:
f(X,D2) = X2 =
[ part 1 of X(1,:) === X(1, 1 : D2)
part 2 of X(1,:) === X(1, D2+1 : 2*D2) , etc
...
part K of X(1,:)
part 1 of X(2,:)
...
...
part K of X(N,:) ]
所以D2
将被提供,使得mod(D1,D2)=0;
因此,N2 = N * D1/D2
。
我无法reshape
为此目的工作。也许我可以使用for循环来做到这一点,但我想知道是否存在矢量化/高效的方法。
谢谢你的帮助!
X = [1, 2, 3, 4, 5, 6
7, 8, 9, 10, 11, 12]
它有6列,所以我想将其分为3列:
f(X,3) = [1,2,3
4,5,6
7,8,9
...]
我找到了解决方案。就像移调,重塑然后再次移调一样简单。
因此,对于我的示例,解决方案将是:
X2 = reshape(X',3,[])';
很抱歉提出这样一个简单的问题,但我仍会保留,以防其他人也有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句