Use um vetor para indexar uma matriz sem índice linear

Hoje, estou tentando encontrar uma maneira de usar um vetor de pontos [x, y] para indexar a partir de uma matriz grande no MATLAB. Normalmente, eu converteria os pontos subscritos no índice linear da matriz (por exemplo.Use um vetor como um índice para uma matrizNo entanto, a matriz é quadridimensional e eu quero pegar todos os elementos da 3ª e 4ª dimensões que tenham a mesma 1ª e 2ª dimensão. Deixe-me esperançosamente demonstrar com um exemplo:

Matrix = nan(4,4,2,2); % where the dimensions are (x,y,depth,time)
Matrix(1,2,:,:) = 999; % note that this value could change in depth (3rd dim) and time (4th time) 
Matrix(3,4,:,:) = 888; % note that this value could change in depth (3rd dim) and time (4th time) 
Matrix(4,4,:,:) = 124;

Agora, quero poder indexar com os subscritos (1,2) e (3,4), etc e retornar não apenas os 999 e 888 que existem emMatrix(:,:,1,1) mas os conteúdos que existem emMatrix(:,:,1,2),Matrix(:,:,2,1) eMatrix(:,:,2,2)e assim por diante (IRL, as dimensões deMatrix pode ser mais parecidosize(Matrix) = (300 250 30 200)

Eu não quero usar índices lineares porque gostaria que os resultados estivessem em um vetor similar. Por exemplo, eu gostaria de um resultado que é algo como:

ans(time=1)
999 888 124
999 888 124
ans(time=2)
etc etc etc
etc etc etc

Eu também gostaria de acrescentar que, devido ao tamanho da matriz que estou lidando, a velocidade é um problema aqui - portanto, por que eu gostaria de usar índices de índice para indexar os dados.

Eu também devo mencionar que (ao contrário desta questão:Acessando valores usando subscritos sem usar sub2ind) como quero todas as informações armazenadas nas dimensões extras, 3 e 4, dos índices i e jth, não acho que uma versão um pouco mais rápidasub2ind ainda não cortaria ..

questionAnswers(2)

yourAnswerToTheQuestion