Недостаточно памяти в Matlab - как выполнять операции с матричными элементами на месте?

Я загружаю довольно большую матрицу в Matlab. Загрузка этой матрицы уже доводит Matlab до предела его возможностей - но он подходит.

Затем я выполняю следующее, и я получаю ошибку нехватки памяти.

data (:, 2: 2: end,:,:) = - data (:, 2: 2: end,:,:);

Is Matlab выделяет новую матрицу для этой операции? Я бы предположил, что для этой операции не потребуется дополнительная память. Как заставить Matlab быть более эффективным для этого?

Дополнительный вопрос:

'data = permute (data, [1 2 3 4 5 12 8 7 6 9 10 11]); '

Может ли Matlab сделать это на месте?

5
задан Stiefel 6 December 2011 в 13:13
поделиться