Я с радостью воспользовался MATLAB для решения некоторых проблем project Euler. Вчера я написал код для решения одной из этих проблем (14). Когда я пишу код, содержащий длинные циклы, я всегда проверяю код, запустив его с короткими циклами. Если он работает нормально и делает то, что он должен делать, я предполагаю, что это также будет иметь место, когда длина цикла больше.У MATLAB заканчивается память во время выполнения программы
Это предположение оказалось неправильным. Выполняя приведенный ниже код, MATLAB закончил память где-то около 75000-й итерации.
c=1;
e=1000000;
for s=c:e
n=s;
t=1;
while n>1
a(s,t)=n;
if mod(n,2) == 0
n=n/2;
else
n=3*n+1;
end
a(s,t+1)=n;
t=t+1;
end
end
Что я могу сделать, чтобы этого не случилось? Нужно ли мне очищать переменные или освобождать память где-то в этом процессе? Сохраняет ли полученную матрицу a помощь на жестком диске?
Просто используйте Python! –
@ Хамиш: Есть ли у Python больше оперативной памяти? – Jonas