How to create a big mat.file including many variables generated in a GUI

1 次查看(过去 30 天)
Hi Guys,
i execute a function within a GUI and the calculated variables are not in the workspace but only available within the GUI. How can i save those variables to a mat.file. I know i could write all of them into the workspace and apply the command
save('path\myfile.mat');
BUt isnt that unnecessary and ineffective to write it into workspace first? How can i save all generated variables in my GUI as a mat.file without transferring them to workspace first? is there a possibility for that?
I am very glad for help!
Best regards, John;)

采纳的回答

Stephen23
Stephen23 2015-9-21
编辑:Stephen23 2015-9-21
Of course you can save those variable directly from the GUI workspace. And yes it is inefficient to transfer them to the base workspace, if they are not required there. Your code
save('path\myfile.mat');
will work just as well inside the GUI workspace as it does in the base workspace.
With a few minor differences basically every workspace (base or function) lets you do the same things: create variables, save them, call other functions, etc, etc. The difference are noted in the documentation (e.g. nargin), but functions like save can be called from any workspace.
You should read about the different workspaces:
and how to share data between them
Note that the most efficient way to share data is to pass them as variables, and the least efficient way is to use assignin or evalin (although beginners seem to love using these two functions they should be avoided).
  5 个评论
Stephen23
Stephen23 2015-9-21
编辑:Stephen23 2015-9-21
This is exactly what uiputfile does: lets the user designate a folder and a filename. You already use this in your code, so just change the filter spec to '*.mat' and they will be able to select the name as well:
[myfile,mypath] = uiputfile('*.mat');
Note that path is a very bad name for a variable, because this is the name of an important inbuilt function path, which will not work when you define a variable with the same name. You can use which to check if variable names are already defined.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by