Como armazenar essa estrutura (lista de listas de inteiros) no Matlab?

Eu preciso armazenar uma lista de listas de inteiros. Por exemplo,X[1] deve ser capaz de conter[1 3 5] enquantoX[2] poderia conter[1 2]. Qual a melhor solução? Uma matriz de células?

A história de volta:

Para um projeto, eu pré-calculo as interseções entre N linhas e M cubos. Estes são recuperados de duas maneiras: dado um índice de linha, eu quero uma lista de cubos pelos quais ele passa, e dado um índice de cubo, eu quero uma lista de linhas que passem por ele.

Valores típicos são N = 2 ^ 24 e M = 2 ^ 18, o que significa que uma matriz de interseção (NxM) está fora de questão. Felizmente, a linha média passa apenas por M ^ (1/3) = 2 ^ 6 cubos. Atualmente, estou armazenando a estrutura como uma matriz NxM ^ (1/3), para queX(n,:) é um vetor de cubos que a enésima linha atravessa (preenchida com zeros).

Isso funciona bem para recuperar cubos dado um índice de lista, mas acontece que o gargalo do meu código é a recuperação de linhas com um índice de cubo. (Eu faço isso comfind(X==m) onde m é o índice do cubo.) Não consigo criar a matriz oposta, pois o número de linhas que passam por um único cubo pode ser muito alto, embora seja baixo em média.

questionAnswers(1)

yourAnswerToTheQuestion