Create new workspace programatically

Is there any way to create a new workspace programatically just same as calling a function?

2 件のコメント

Rik
Rik 2018 年 8 月 20 日
編集済み: Rik 2018 年 8 月 20 日
What do you mean with workspace exactly? Because in the Matlab-definition of the word, it is automatically generated when you call a function. If you want to create a new base workspace, you can't. You can start a new instance of Matlab.
Really convoluted, but quite robust as well:
command_to_run=sprintf('"%s"',fullfile(matlabroot,'bin','matlab.exe'));
batfilename=[char(randi([97 122],1,8)) '.bat'];
while exist(batfilename,'file')
batfilename=[char(randi([97 122],1,8)) '.bat'];
end
fid=fopen(batfilename,'wt');
fprintf(fid,'%s\n',command_to_run);
fprintf(fid,'del /q "%%~dp0%s" 2>&1 >nul|findstr "^" >nul && exit || exit',batfilename);
fclose(fid);
system(sprintf('start %s',batfilename))
Stephen23
Stephen23 2018 年 8 月 21 日
"...create a new workspace programatically just same as calling a function?"
Every function has its own workspace (nested and anonymous functions also access variables in the workspace where they are defined), so creating a new workspace just requires writing a function and calling it.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

タグ

質問済み:

2018 年 8 月 20 日

コメント済み:

2018 年 8 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by