给定一个向量v = [1 2 3 4 5 6]
如何将其转换为:
v =
v(:,:,1) = 1
v(:,:,2) = 2
v(:,:,3) = 3
v(:,:,4) = 4
v(:,:,5) = 5
v(:,:,6) = 6
即,在第二个(行)和第三个维度之间进行转置?
答案 0 :(得分:6)
答案是使用permute命令:
permute([1 2 3 4 5 6], [3 1 2])
它接受不存在的维度:第二个参数指定使用第三个现有维度(无)交换第一个现有维度,这会在结果中创建“单例”第一维。
答案 1 :(得分:3)
您还可以重塑:
reshape([1 2 3 4 5],1,1,[])
编辑(回应评论):实际上,它确实:
>> reshape([1 2 3 4 5],1,1,[]) ans(:,:,1) = 1 ans(:,:,2) = 2 ans(:,:,3) = 3 ans(:,:,4) = 4 ans(:,:,5) = 5