Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MATLAB
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== MATLAB and other languages == MATLAB can call functions and subroutines written in the programming languages [[C (programming language)|C]] or [[Fortran]].<ref>{{cite web|title=Application Programming Interfaces to MATLAB|url=http://www.mathworks.com/help/matlab/programming-interfaces-for-c-c-fortran-com.html|publisher=MathWorks|access-date=August 14, 2013|archive-date=September 15, 2017|archive-url=https://web.archive.org/web/20170915020649/http://www.mathworks.com/help/matlab/programming-interfaces-for-c-c-fortran-com.html|url-status=dead}}</ref> A wrapper function is created allowing MATLAB data types to be passed and returned. [[MEX file]]s (MATLAB executables) are the dynamically loadable object files created by compiling such functions.<ref>{{cite web|title=Create MEX-Files|url=http://www.mathworks.com/help/matlab/create-mex-files.html|publisher=MathWorks|access-date=August 14, 2013|archive-date=March 3, 2014|archive-url=https://web.archive.org/web/20140303193228/http://www.mathworks.com/help/matlab/create-mex-files.html|url-status=dead}}</ref><ref>{{cite web|title=Connecting C and Matlab | last=Spielman | first=Dan | publisher=Yale University, Computer Science Department | date=February 10, 2004 | url=http://www.cs.yale.edu/homes/spielman/ECC/cMatlab.html | access-date=May 20, 2008}}</ref> Since 2014 increasing two-way interfacing with [[Python (programming language)|Python]] was being added.<ref>{{cite web|title=MATLAB Engine for Python|url=http://www.mathworks.com/help/matlab/matlab-engine-for-python.html|publisher=MathWorks|access-date=June 13, 2015}}</ref><ref>{{cite web|title=Call Python Libraries|url=http://www.mathworks.com/help/matlab/call-python-libraries.html|publisher=MathWorks|access-date=June 13, 2015}}</ref> Libraries written in [[Perl]], [[Java (programming language)|Java]], [[ActiveX]] or [[.NET Framework|.NET]] can be directly called from MATLAB,<ref>{{cite web|title=External Programming Language Interfaces|url=http://www.mathworks.com/help/matlab/external-interfaces.html|publisher=MathWorks|access-date=August 14, 2013|archive-date=March 11, 2014|archive-url=https://web.archive.org/web/20140311003229/http://www.mathworks.com/help/matlab/external-interfaces.html|url-status=dead}}</ref><ref>{{cite web|title=Call Perl script using appropriate operating system executable|url=http://www.mathworks.com/help/matlab/ref/perl.html|publisher=MathWorks|access-date=November 7, 2013}}</ref> and many MATLAB libraries (for example [[XML]] or [[SQL]] support) are implemented as wrappers around Java or ActiveX libraries. Calling MATLAB from Java is more complicated, but can be done with a MATLAB toolbox<ref>{{cite web|url=http://www.mathworks.com/products/javabuilder/ |title=MATLAB Builder JA |publisher=MathWorks |access-date=June 7, 2010}}</ref> which is sold separately by [[MathWorks]], or using an undocumented mechanism called JMI (Java-to-MATLAB Interface),<ref>{{cite web |url=http://undocumentedmatlab.com/blog/jmi-java-to-matlab-interface/ |first=Yair |last=Altman |title=Java-to-Matlab Interface |publisher=Undocumented Matlab |date=April 14, 2010 |access-date=June 7, 2010 |archive-date=September 5, 2015 |archive-url=https://web.archive.org/web/20150905153327/http://undocumentedmatlab.com/blog/jmi-java-to-matlab-interface |url-status=dead }}</ref><ref>{{cite web|title=matlabcontrol JMI|url=https://code.google.com/p/matlabcontrol/wiki/JMI|first=Joshua |last=Kaplan}}</ref> (which should not be confused with the unrelated [[Java Metadata Interface]] that is also called JMI). Official MATLAB API for Java was added in 2016.<ref name="MATLAB Engine API for Java">{{cite web|title=MATLAB Engine API for Java|url=http://www.mathworks.com/help/matlab/matlab-engine-api-for-java.html|publisher=MathWorks|access-date=September 15, 2016}}</ref> As alternatives to the [[MuPAD]] based Symbolic Math Toolbox available from MathWorks, MATLAB can be connected to [[Maple (software)|Maple]] or [[Mathematica]].<ref>{{cite web|title=MaMa: Calling MATLAB from Mathematica with MathLink|url=http://library.wolfram.com/infocenter/MathSource/618/|publisher=Wolfram Library Archive|first=Roger |last=Germundsson |work=[[Wolfram Research]] |date=September 30, 1998}}</ref><ref>{{cite web|title=MATLink: Communicate with MATLAB from Mathematica|url=http://matlink.org/|access-date=August 14, 2013|author1=rsmenon |author2=szhorvat|year=2013}}</ref> Libraries also exist to import and export [[MathML]].<ref>{{cite web |first=Michael |last=Weitzel |url=http://www.mathworks.com/matlabcentral/fileexchange/7709-mathml-importexport |title=MathML import/export |publisher=MathWorks - File Exchange |date=September 1, 2006 |access-date=August 14, 2013 |archive-date=February 25, 2011 |archive-url=https://web.archive.org/web/20110225010921/http://www.mathworks.com/matlabcentral/fileexchange/7709-mathml-importexport |url-status=dead }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)