将矢量转换为第三维

Jam*_*mes 1 matlab

给定一个向量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
Run Code Online (Sandbox Code Playgroud)

即,在第二个(行)和第三个维度之间转置?

Jam*_*mes 6

答案是使用permute命令:

permute([1 2 3 4 5 6], [3 1 2])
Run Code Online (Sandbox Code Playgroud)

它接受不存在的维度:第二个参数指定使用第三个现有维度(无)交换第一个现有维度,这会在结果中创建"单例"第一维.