Reputation: 91
I have a program that reads in a really large Excel file and creates some large variables. This runs out of storage if I try to run it multiple times in a row, which makes sense, i.e.:
large_program; large_program
will crash. However, what I don't understand is why
large_program; clear all; large_program
will also crash; in order to run it multiple times, I have to restart MATLAB each time. Does MATLAB not actually clear all variables? Or is this a fragmentation of memory thing?
Upvotes: 9
Views: 5765
Reputation: 87
Matlab can indeed hold onto some variables and other settings "under the hood". I have the following set up as a short-cut to purge it back to a "just switched on" state (the one that can really catch you out is that clear functions is not a subset of clear all).
restoredefaultpath;
clc;
clear all;
close all;
clear functions;
bdclose('all');
fclose('all');
Upvotes: 2