である行列と であるsize(A) = 20x301088別のベクトルlinear_indexがあり301088x1ます。Aである配列に変換する必要があり97x97x32x20ます。ただし、特定の順序である必要があります。ベクトルには、特定の順序でlinear_indexa の線形インデックスが含まれています97x97x32。
たとえば、要素 atはofA(20,4)に配置する必要があります。うまくいけば、それは理にかなっています。の各行は独自の行列を作成し、要素は の値で指定されたインデックスに配置されます。linear_index(4)B(:,:,:,20)A97x97x32linear_index
一度やったことがありますが、shiftdimコマンドが必要です:
B(1:length(lx) , linear_index) = A(1:length(lx) , :);
B = shiftdim(A,1);
これは機能しshiftdimますが、特に行列のサイズが最大になる可能性があるため、コマンドには少し時間がかかります97x97x32x194。