How do I launch a matlab gui from the desktop?

조회 수: 163 (최근 30일)
fichtorious
fichtorious 2013년 2월 8일
댓글: Jan 2017년 6월 19일
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
Tadgh
Tadgh 2014년 2월 10일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2013년 2월 12일
You can create a batch file, which contains:
matlab -nosplash -r yourMFile
This starts the M-function, which automatically opens the FIG file.
  댓글 수: 6
Mandeguz
Mandeguz 2017년 6월 15일
편집: Mandeguz 2017년 6월 15일
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
Jan 2017년 6월 19일
@Mandeguz: Do you mean:
matlab -nosplash -r "cd('C:\Your\Path'); yourMFile"
?

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 2월 8일
편집: Azzi Abdelmalek 2013년 2월 8일
If you have a Matlab compiler toolbox, create an executable which could be lunched from your desktop
doc deploytool
  댓글 수: 1
fichtorious
fichtorious 2013년 2월 12일
Yeah I don't have matlab compiler which is the problem.

댓글을 달려면 로그인하십시오.


Malcolm Lidierth
Malcolm Lidierth 2013년 2월 12일
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
Ned Twigg
Ned Twigg 2015년 10월 20일
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.

댓글을 달려면 로그인하십시오.


Ryan Livingston
Ryan Livingston 2013년 2월 12일
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
fichtorious
fichtorious 2013년 2월 12일
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?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Search Path에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by