Как сохранить эту структуру (список списков целых чисел) в Matlab?

Мне нужно хранить список списков целых чисел. Например,X[1] должен быть в состоянии содержать[1 3 5] покаX[2] может содержать[1 2], Какое лучшее решение? Клеточный массив?

Предыдущая история:

Для проекта я предварительно вычисляю пересечения между N линиями и M кубами. Они извлекаются двумя способами: с учетом индекса строки, я хочу список кубов, через которые он проходит, и с учетом индекса куба, я хочу список строк, которые проходят через него.

Типичные значения: N = 2 ^ 24 и M = 2 ^ 18, что означает, что матрица пересечений (NxM) не может быть и речи. К счастью, средняя линия проходит только через M ^ (1/3) = 2 ^ 6 кубов. В настоящее время я сохраняю структуру в виде матрицы NxM ^ (1/3), чтобыX(n,:) является вектором кубов, через которые проходит n-ая линия (дополненная нулями).

Это прекрасно работает для извлечения кубов по индексу списка, но оказывается, что узким местом моего кода является поиск строк по индексу куба. (Я делаю это сfind(X==m) где m - индекс куба.) Я не могу создать противоположную матрицу, так как количество линий, проходящих через один куб, может быть очень большим, даже если оно в среднем мало.

Ответы на вопрос(1)

Ваш ответ на вопрос