reshape,permute函数matlabA = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];如何得到B:B(:,:,1) = [1,2;5,6];B(:,:,2) = [3,4;7,8];B(:,:,3) = [9,10;13,14];B(:,:,4) = [11,12;15,16];
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 03:25:19
![reshape,permute函数matlabA = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];如何得到B:B(:,:,1) = [1,2;5,6];B(:,:,2) = [3,4;7,8];B(:,:,3) = [9,10;13,14];B(:,:,4) = [11,12;15,16];](/uploads/image/z/3942083-11-3.jpg?t=reshape%2Cpermute%E5%87%BD%E6%95%B0matlabA+%3D+%5B1%2C2%2C3%2C4%3B5%2C6%2C7%2C8%3B9%2C10%2C11%2C12%3B13%2C14%2C15%2C16%5D%3B%E5%A6%82%E4%BD%95%E5%BE%97%E5%88%B0B%3AB%28%3A%2C%3A%2C1%29+%3D+%5B1%2C2%3B5%2C6%5D%3BB%28%3A%2C%3A%2C2%29+%3D+%5B3%2C4%3B7%2C8%5D%3BB%28%3A%2C%3A%2C3%29+%3D+%5B9%2C10%3B13%2C14%5D%3BB%28%3A%2C%3A%2C4%29+%3D+%5B11%2C12%3B15%2C16%5D%3B)
reshape,permute函数matlabA = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];如何得到B:B(:,:,1) = [1,2;5,6];B(:,:,2) = [3,4;7,8];B(:,:,3) = [9,10;13,14];B(:,:,4) = [11,12;15,16];
reshape,permute函数matlab
A = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];
如何得到B:
B(:,:,1) = [1,2;5,6];
B(:,:,2) = [3,4;7,8];
B(:,:,3) = [9,10;13,14];
B(:,:,4) = [11,12;15,16];
reshape,permute函数matlabA = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];如何得到B:B(:,:,1) = [1,2;5,6];B(:,:,2) = [3,4;7,8];B(:,:,3) = [9,10;13,14];B(:,:,4) = [11,12;15,16];
这个转换可以通过reshape、permute函数实现:
>> B=reshape(permute(reshape(A,[2 2 4]),[1 3 2]),[2 2 4])
B(:,:,1) =
1 2
5 6
B(:,:,2) =
3 4
7 8
B(:,:,3) =
9 10
13 14
B(:,:,4) =
11 12
15 16
不过,个人认为,上述实现方式的表达式比较难懂,不如直接使用cat函数:
>> B=cat(3,A(1:2,1:2),A(1:2,3:4),A(3:4,1:2),A(3:4,3:4))
B(:,:,1) =
1 2
5 6
B(:,:,2) =
3 4
7 8
B(:,:,3) =
9 10
13 14
B(:,:,4) =
11 12
15 16