Я хотел бы хранить множество различных разреженных матриц в одну матрицу, что-то вроде этого:N-мерное индексирование допускается только для полноразмерных матриц. - проблема с использованием разреженных команды MATLAB
A(:,:,1) = sparse([0 0 1; 0 1 0]);
A(:,:,2) = sparse([0 0 1; 0 0 0]);
A(:,:,3) = sparse([1 0 1; 0 0 0]);
A(:,:,4) = sparse([0 0 1; 0 1 0]);
Но, я получаю ошибку:
N-мерную индексирование разрешено только для полноразмерных матриц.
Похоже, что другие столкнулись с этой проблемой: https://www.mathworks.com/matlabcentral/newsreader/view_thread/276098
но ссылка на «исправление ошибки» был сломан, и я не знаю, как справиться с этой проблемой. Я знаю, что я могу использовать клеточные массивы, но я знаю, что они медленные, и я стараюсь их избегать. Я предполагаю, что я мог бы также использовать команду full(), но я не уверен, что это лучший (самый быстрый) способ.
Любые идеи?
Вам нужны редкие матрицы? В общем, они медленнее, чем обычные математические, но иногда неизбежные из-за ограничений памяти. –
Кстати, эта ссылка неактуальна в любом случае, вот кешированная копия: http://web.archive.org/web/20100308064805/http://www.mathworks.com/access/helpdesk/help/techdoc/rn/bsdgysw- 1.html # bseheyh-1 – Amro