在 MATLAB 中获取任何 ND 矩阵,并使用 fDim.m 将其展平为 N x 大小(ND,dim)二维矩阵。 在多维矩阵上编写复杂操作时,这通常是必要的。
还希望在展平后,保留的维度具有正确的顺序。 这对于矢量处理尤其重要。
一旦展平,并对二维矩阵执行了操作,通常需要将二维矩阵转换回原始多维矩阵。 这可以使用 eDim.m 执行。
有关使用各种矩阵大小和维度的测试用例,请参阅 multiDimDemo.m。
例子: 给定一个多维向量: >> vector_1 = rand(3,3,3,4,5,3);
将其展平为二维矩阵,保留对应于正确 xyz 顺序的第 3 维: >> [vector_1_f, fSeq] = fDim(vector_1,3);
将扁平矩阵转换回它的原始多维形式,仍然保留正确的 xyz 顺序: >> vector_1_e = eDim(vector_
2022-04-29 22:57:10
3KB
matlab
1