【发布时间】:2017-03-17 16:41:07
【问题描述】:
我正在尝试重塑一个数组,执行一个操作,然后将其重塑回原来的形状。请参阅我试图获得的输出示例。我可以得到a 和b,但我无法让c 再次看起来像a。
步骤1)(原始数组)
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
第2步)(重塑并执行一些操作)
1,1,1,2,2,2,3,3,3,4,4,4,5,5,5
第 3 步)(数组被重新调整为原始大小,看起来像 step 1)这就是我想要的
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
我可以获得变量 a 和 b,但我不确定如何将 c 从 b 重塑为 a 再次查看示例代码和下面的输出
a=[repmat(1,[1,3]);repmat(2,[1,3]);repmat(3,[1,3]);repmat(4,[1,3]);repmat(5,[1,3])]
[rw,col]=size(a)
b=reshape(a',1,rw*col)
c=reshape(b,rw,col)
a=
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
b=1,1,1,2,2,2,3,3,3,4,4,4,5,5,5
c =
1 2 4
1 3 4
1 3 5
2 3 5
2 4 5
Ps:我使用的是 Octave 4.0,类似于 Matlab。
【问题讨论】:
标签: arrays matlab octave reshape