Can I use MATLAB from the Terminal Command Line in OS X?
이전 댓글 표시
I recently installed MATLAB R2010b on a Mac running OS 10.7. I'd like to be able to run it from the command line, ala a Linux system, as I'm not terribly thrilled with the Matlab UI, and I end up SSHing into my computer a fair amount and prefer to stick with the terminal for the most part.
There weren't any instructions for doing so in the Install Guide. Is there a way to set this up? Thanks in advance.
댓글 수: 1
Brando Miranda
2017년 12월 11일
was the matlab command not available for you? It wasn't for me.
채택된 답변
추가 답변 (4개)
David
2012년 3월 16일
1 개 추천
Thanks all!
I also just tried updating the path at the terminal before running matlab with:
export PATH=$PATH:/usr/local/MATLAB/R2010b/bin/
Then I typed "matlab" from the terminal and it worked fine. Must something odd going on with my .bashrc or .bash_profile not updating PATH when I ssh into my Linux workstation.
댓글 수: 2
Brando Miranda
2016년 2월 1일
but how did you find the location of the binaries of MATLAB in the first place?
Walter Roberson
2016년 2월 1일
The binaries are under fullfile(matlabroot, 'bin')
Cheng Yang
2017년 2월 1일
I found
matlab -nodisplay
works better for me. -nodesktop still add an icon to the dock
댓글 수: 2
Mahmud Sami Özgür
2019년 5월 1일
편집: Mahmud Sami Özgür
2019년 5월 1일
When I launch with
matlab -nodisplay
plot functions do not show anything.
matlab -nodesktop -nosplash
works better.
Ethan Duckworth
2021년 2월 5일
For me, -nodisplay is the final trick. It suppresses the icon in the dock, and the font loading errors. Thanks!
Carter Rhea
2015년 7월 11일
0 개 추천
If you have a .cshrc file, then you can just type alias matlab '/Applications/MATLAB_R2015a.app/bin/matlab -nodesktop'
granted you are using MATLAB_R2015a. Though if you are using a different version just change that. Also make sure you are using the -csh shell which you can check with echo $SHELL. it can be changed by typing: -chsh -s /bin/csh
I hope this helps!
댓글 수: 6
Brando Miranda
2016년 2월 1일
Why do I need to use -csh shell? whats wrong with bash?
Brando Miranda
2016년 2월 1일
Is it necessary to have know where the bin location is? That seems weird to me, shouldn't do this automatically after installing?
Walter Roberson
2016년 2월 1일
Bash is fine, some people just prefer csh. Bash uses a couple of different initialization files, with the most relevant one probably being ~/.bashrc . The syntax for aliases is different for bash,
alias matlab='/Applications/MATLAB_R2015a.app/bin/matlab -nodesktop'
OS-X is usually used as a desktop, so MATLAB on OS-X is usually used by clicking on an icon. (You have to install an additional software product to best use OS-X as a server.) With the /Applications structure, it is not typical for add-on packages that have graphics interfaces to write anything into the directories that are on the PATH by default -- not part of the expected "look and feel" of administering OS-X.
Brando Miranda
2017년 12월 11일
you might need fullfile(matlabroot, 'bin') to find where the bin is...just copying ur answer doesn't work (of course).
__init__.py
2019년 2월 9일
편집: __init__.py
2019년 2월 9일
I simply type (either bash or cshell)
open <filename>.m
to launch MALTAB if I'd like to run a script at the same time.
The "open" command of Macintosh is equivalent to the effect that you double-click to open a file in Finder - it will launch whatsoever the associated application of the file.
Walter Roberson
2019년 2월 9일
using open would be for graphics use not for terminal use.
darryl west
2016년 10월 7일
or just a bit better with...
alias matlab='/Applications/MATLAB_R2016b.app/bin/matlab -nodesktop -nosplash $*'
댓글 수: 6
Walter Roberson
2016년 10월 7일
I am not sure why you say that would be better? "alias" acts like a substitution at the beginning of a command, so if you were to use the alias I showed without the $* part and were to type
matlab this that the other
the effect would be the same as
/Applications/MATLAB_R2015a.app/bin/matlab -nodesktop this that the other
Specifying $* would be something you would do if you were creating a shell function or shell script, but aliases expand in-line and so do not need $* expansion to bring in anything else typed at the end of the line.
Brando Miranda
2017년 12월 11일
편집: Walter Roberson
2019년 11월 25일
this is really annoying, why isn't it "just there"?
Brando Miranda
2017년 12월 11일
you might also need fullfile(matlabroot, 'bin')
Steven Lord
2017년 12월 11일
Brando Miranda, on Linux you can create symbolic links during the installation process. See step 8 on this page from the installation documentation. I don't remember off the top of my head if this option is available in the Mac installer, but I suspect it is (or there is a similar option.)
Walter Roberson
2019년 11월 25일
The Mac installer does not offer to create links.
Walter Roberson
2019년 11월 25일
why isn't it "just there"?
Apple discourages apps from modifying system-level initialization files.
Apple is now even dealing with potential issues with kernel drivers by forcing applications to provide their own versions of kernel extensions that live in user space, rather than being shared by several programs in some mid-level authorization space, and the user-level extensions have to be signed by developer certificate.
This turns out to be one of the reasons why the NVIDIA graphics drivers are not being approved by Apple: Apple is forcing the graphics drivers to be per application and signed by the developers -- who, obviously, do not have the interaction with NVIDIA to do that kind of bundling.
Apple is being hard on companies that compete with it; and these days, with it pushing into its own CPUs (not Intel compatible), its own graphics cards and its own GPUs (both custom silicon and not compatible with AMD or NVIDIA), NVIDIA is considered a competitor.
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!