Я работаю с данными XShooter и для галактических исправлений, я использую ccm_unred
в MATLAB. Проблема заключается вОграничение большого массива до 1D в MATLAB
funred = flux*10.^(0.4*A_lambda);
эта строка кода генерирует 29686 X 29686 double
массив. Я хочу только одну его часть, я могу сделать это, переназначив funred
как funred = funred(:,1)
, но этот кусок кода также принимает 57 seconds
, и он слишком сильно использует мой процессор и ОЗУ, чтобы мой ноутбук оставался стабильным. Есть ли какой-либо метод, с помощью которого я могу ограничить генерацию funred
только (:,1)
с самого начала?
Существует одна матричная манипуляция, поэтому, хотя я согласен, что это работает, если у вас есть только одна матрица, я думаю, что это неверно в том случае, если они оба являются матрицами. Я думаю, вам понадобится 'funred = flux * 10.^(0.4 * A_lambda (:, 1))', если оба являются матрицами. –
@DennisJaheruddin, вы правы. –
@AnderBiguri большое спасибо. Проблема заключалась в том, что «A_lambda», у меня было еще две строки «funred» в коде, и я боялся, что произойдет. Время потребления теперь '0,8 секунды' :-) –