The ability to preserve the directory between sessions is not available in MATLAB.
To work around this issue, you may use finish.m to have MATLAB use the last directory and use that upon starting a new session. The finish.m file would store the pathname of the last directory into your user path.
The finish.m file would include the lines:
p = pwd;
userpath(p);
savepath;
Note that the command FINISH automatically executes before leaving MATLAB if the file finish.m exists on the path. More information on this functionality can be found in the documentation by typing
Alternatively, it is possible to use startup.m and finish.m files in order to have MATLAB remember the last directory and use that upon starting a new session. The finish.m file would store the pathname of the last directory into a variable, and the startup.m file would load this variable and use its contents to determine what to change the current directory to.
The startup.m file would include the lines
if (exist([matlabroot filesep 'work' filesep 'last_dir.mat']) == 2)
load ([matlabroot filesep 'work' filesep 'last_dir'])
cd(last_dir);
end
whereas the finish.m file would include the lines
last_dir = pwd;
save([matlabroot filesep 'work' filesep 'last_dir'],'last_dir');
Note that the command STARTUP automatically executes when starting MATLAB if the file startup.m exists, and the command FINISH automatically executes before leaving MATLAB if the file finish.m exists. More information on this functionality can be found in the documentation by typing
Best Answer