Saving and switching workspaces and contexts

11 Ansichten (letzte 30 Tage)
John Johnson
John Johnson am 7 Apr. 2019
Beantwortet: Doug Mercer am 12 Apr. 2019
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.)

Akzeptierte Antwort

Doug Mercer
Doug Mercer am 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
path(pathdef);
% Change your working directory to the folder with eeg stuff
cd('/absolute/path/to/folder/with/eeg/stuff')
% If you have a previous workspace here, open it
if exist('last.mat', 'file') == 2
load last.mat
end
% 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
addpath(genpath('.'))
% 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)
edit(files(i))
end

Weitere Antworten (0)

Kategorien

Mehr zu EEG/MEG/ECoG finden Sie in Help Center und File Exchange

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by