MATLAB Answers

How to export from a GUI (.exe) to MATLAB workspace?

4 views (last 30 days)
Hi, Can anyone guide me how to export a created array in a GUI(.exe) to the MATLAB '*base*' workspace? Note: by GUI(.exe), I mean I've created a GUI .exe file using '*deploytool*'. If I run my GUI .m file (or .fig file using 'guide') I can use '*assignin*' function to do this export. But the mention function does not work if I run my .exe GUI. Should I run MATLAB from .exe GUI?
Thank you so much

Accepted Answer

Walter Roberson
Walter Roberson on 13 Jun 2011
The .exe has its own base workspace that you can assign in to all you like, but it will vanish as soon as the executable ends -- just like happens if you were to do something in MATLAB and then exit MATLAB.
Running MATLAB from the .exe wouldn't help much, in the sense that the .exe would not be able to make assignments in to the workspace of the live MATLAB.
The .exe could save() variables in to a .mat file, and you could load() the .mat file.
  7 Comments
Gerd
Gerd on 14 Jun 2011
Of course you can make an .exe out of your code and share the program with other users. When all user want to share data (results, input vectors) I would use the load and save functions.
It is the same as you share and .xls ord .doc file

Sign in to comment.

More Answers (2)

math98
math98 on 14 Jun 2011
A Mathworks staff gave an answer here, but I don't know why it disappeared. (anyway thanks) Noting his answer, about reasons of making an exe file, I should explain that I make the exe just so that the main code is not accessible. As well I want to see the result in a live MATLAB, assume for a post-processing, just clicking from that GUI. The method you suggest, I first thought about it. But it's really not interesting to do that, WHILE IT'S POSSIBLE TO LOAD THE RESULTS IN THE LIVE MATLAB AUTOMATICALLY, NOT BY AN ADDITIONAL COMMAND! (sure if it's possible!)
  3 Comments
Chirag Gupta
Chirag Gupta on 14 Jun 2011
Although, I agree with Walter that pcode is correct/better solution

Sign in to comment.


math98
math98 on 14 Jun 2011
OK, I'm satisfied you software engineers cannot suggest me a better method.. :(
but pcoding is not my choice. I must still consult. Do you offer your softwares along with all the codes and installation contents separately?? I want an single exe file!!
Thanks for the comments
  4 Comments
Walter Roberson
Walter Roberson on 14 Jun 2011
MATLAB has communications channels available, but you have put on tight enough restrictions as to how you want them to work that it is not possible to access the channels in your design. Communication has to be specifically enabled in almost all software systems. For that to happen, *some* code has to run in the context of the program that starts up the second program. The setup might only take a couple of statements, but you have put on restrictions that do not allow _any_ execution in the starting program: you insist on a single executable that runs in a different context.
I have not looked at the details of how .fig files are implemented. I have some ideas as to why a stand-alone .fig would likely not work, but I would have to test those ideas.
Note: Chirag works for Mathworks, but I am an experienced software developer who uses MATLAB as a customer; I have never had access to the internal design of MATLAB and I have never had access to Mathworks policy or planning.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!