Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
MATLAB
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
MATLAB
(section)
Add topic