Saving and switching workspaces and contexts

32 views (last 30 days)
I have a few projects that I use MATLAB for. I would like to have a way to change the environment for each of those projects. For instance, if I’m working on EEG, I would like MATLAB to change to the appropriate folder, open the source code I had open the last time I worked on EEG, etc. When I switch to kinematics, the same scenario: change directory, open source files. (Restoring workspace variables would be a plus, but not required.)
Are there any built-in or add-on ways to do this? (I’m using macOS, if that’s a factor.)

Accepted Answer

Doug Mercer
Doug Mercer on 12 Apr 2019
You could write script(s) to switch to a particular workspace.
You'd want to put the scripts in a folder that is always on your path (for example Documents/MATLAB).
A script might look like
function switchToEeg()
% Save your current workspace to your current working directory
evalin('base', 'save last.mat');
% Reset path to default
% Change your working directory to the folder with eeg stuff
% If you have a previous workspace here, open it
if exist('last.mat', 'file') == 2
load last.mat
% Add files you might want to call to your MATLAB path
% You can use genpath if it makes sense or write out files/folders explicitly
% Open the files you want to routinely edit
edit filename.m
% alternatively, if you want to open all m files in the current folder, you could do
files = dir('*.m');
for i = 1:length(files)

More Answers (0)


Find more on Data Import and Analysis in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!