Matlab 将向量转换到第三维

Matlab 将向量转换到第三维,matlab,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 i、 例如,在第二(行)和第三维度之间转换?答案是使用以下命令: 它接受不存在的维度:第二个参数指定将第一个现有维度与第三个现有维度(无)交换,这将在结果中创建一个“单例”第一维度。您还可以重塑: 重塑([123

给定一个向量
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
i、 例如,在第二(行)和第三维度之间转换?

答案是使用以下命令:

它接受不存在的维度:第二个参数指定将第一个现有维度与第三个现有维度(无)交换,这将在结果中创建一个“单例”第一维度。

您还可以重塑:

重塑([12345],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 >>重塑([1,2,3,4,5],1,1,[])) ans(:,:,1)= 1. ans(:,:,2)= 2. ans(:,:,3)= 3. ans(:,:,4)= 4. ans(:,:,5)= 5.
不,重塑不能做到这一点。好的,对不起,你是对的。在这种特定情况下,它适用于多个单例维度+1 >> reshape([1 2 3 4 5],1,1,[]) ans(:,:,1) = 1 ans(:,:,2) = 2 ans(:,:,3) = 3 ans(:,:,4) = 4 ans(:,:,5) = 5