Clear Filters
Clear Filters

How do I launch a matlab gui from the desktop?

127 views (last 30 days)
I have a GUI that a I developed mygui.fig that calls mygui.m as per usual. I tried copying mygui.fig to the desktop to see if it would run that way, but it only brings up the figure and doesn't make the connection with the code in the .m file.
Is there a way, through matlab, that I can one click launch my gui from my desktop?
If not, I was considering writing a script to launch it but am not sure if there is a protocol to launch matlab then execute a command via an .exe
If anyone can help I'd be greatly appreciative.
  1 Comment
Tadgh on 10 Feb 2014
Would it be possible for you to help me create a shortcut that i can double click to run my model without opening the script file? I've been trying to do this in the GUI interface for weeks but can't figure it out........
Would really appreciate any help

Sign in to comment.

Accepted Answer

Jan on 12 Feb 2013
You can create a batch file, which contains:
matlab -nosplash -r yourMFile
This starts the M-function, which automatically opens the FIG file.
Mandeguz on 15 Jun 2017
Edited: Mandeguz on 15 Jun 2017
So how can you change the path in the bat file? When I open my gui, I have to change the directory, and I'd like to keep my files there (I don't have permissions to save where the directory initially opens, so I always have to change my path).
Jan on 19 Jun 2017
@Mandeguz: Do you mean:
matlab -nosplash -r "cd('C:\Your\Path'); yourMFile"

Sign in to comment.

More Answers (3)

Azzi Abdelmalek
Azzi Abdelmalek on 8 Feb 2013
Edited: Azzi Abdelmalek on 8 Feb 2013
If you have a Matlab compiler toolbox, create an executable which could be lunched from your desktop
doc deploytool

Malcolm Lidierth
Malcolm Lidierth on 12 Feb 2013
One way might be to launch a Java executable and connect to the MATLAB engine using the Java Matlab Interface via matlabcontrol:
If your GUI were Java-based (as opposed to MATLAB/Java-based) you could choose another engine, e.g. SciLab, R etc.
  1 Comment
Ned Twigg
Ned Twigg on 20 Oct 2015
matlabcontrol is fantastic, but it hasn't been updated in a couple years.
I've created a binary-compatible fork on GitHub which is actively maintained called MatConsoleCtl.
Relative to matlabcontrol, it contains these changes
  • available on Maven Central as com.diffplug.matsim:matconsolectl
  • a way to connect to an existing MATLAB session by copy-pasting a string of text to the MATLAB console
  • more descriptive error messages in exceptions
  • compatibility with OSGi classloaders
  • fixed all compiler warnings
  • fixed several tricky bugs which were found by FindBugs
I'm happy to accept any GitHub Issues or Pull-Requests, and I'll be keeping it up-to-date and tested.

Sign in to comment.

Ryan Livingston
Ryan Livingston on 12 Feb 2013
Not too certain on the question. If you want to launch the GUI with a click (or two) from MATLAB just right-click the M file in the folder browser and pick "Run".
If you want to run the GUI by double-clicking something from the desktop (in Windows without MATLAB open) you can make a file "runGui.bat" which contains:
start matlab -r mygui
Then you can double-click that to launch MATLAB and open the GUI. Note that this assumes you have MATLAB on the system path and that "mygui.m" is in the same directory as "runGui.bat".
  1 Comment
fichtorious on 12 Feb 2013
So I tried this my exact code in the batch file was:
start matlab -r FrequencyResponseGUI.m
It simply brings up matlab but doesn't start the GUI. I put the batch file in my matlab work folder which is where my .m file is located and then created a shortcut to set on the desktop so I could run it from there. Any reason why it would only bring up matlab and not start the GUI?

Sign in to comment.


Find more on Search Path 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!