I have a different opinion than yours. You said:
, , , ( , )
. .
MATLAB , MATLAB n-D , :
, :
a=randi(12,2,2,2,2)
a(:,:,1,1) =
7 8
10 5
a(:,:,2,1) =
4 6
6 5
a(:,:,1,2) =
7 6
9 6
a(:,:,2,2) =
2 4
1 4
a.
b=a(:)
b =
7
10
8
5
4
6
6
5
7
9
6
6
2
1
4
4
, , . , 1 ( , ).
dimToAccess=1;
sz=size(a);
c=b(prod(sz(1:end-1))*(dimToAccess-1)+1:prod(sz(1:end-1))*(dimToAccess));
.
a=randi(12,2,2,2,2)
a(:,:,1,1) =
7 8
10 5
a(:,:,2,1) =
4 6
6 5
a(:,:,1,2) =
7 6
9 6
a(:,:,2,2) =
2 4
1 4
b=a(:);
dimToAccess=1;
sz=size(a);
c=b(prod(sz(1:end-1))*(dimToAccess-1)+1:prod(sz(1:end-1))*(dimToAccess));
%Test - It should produce 1 as output.
isequal(reshape(c,[size(a,1) size(a,2) size(a,3)]),a(:,:,:,dimToAccess))
, 4 .