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