Julia for MATLAB Users/print
Introduction
![]() |
This book contains highly nested pages and/or nesting with inappropriate navigation. Please adjust the layout and navigation in order to improve accessibility. For help, see Manual of Style#Nesting. |
![]() |
This page was last edited 59 months ago, and may be abandonedCategory:Pages needing attention This page has not been edited since 13 April 2020, but other pages in this book might have been. Check out related changes to see what the state of this book is. You can help by editing and updating this book. Remove {{under construction}} from this page if it is not being actively edited. Ask for help at WB:PROJECTS. |
Introduction
This Wikibook is a place to capture information that could be helpful for people interested in migrating code from MATLAB™ to Julia, and also those who are familiar with MATLAB and would like to learn Julia. It is meant to supplement existing resources, for instance the noteworthy differences from other languages page from the Julia manual. However this wiki intends to be more comprehensive, and to be structured in such a way as to make it easy for one to find answers to questions like:
- For a given MATLAB or MATLAB toolbox command/function/construct what are the closest Julia equivalents?
- For a given MATLAB toolbox, what Julia packages provide similar functionality?
All of the content here is geared towards someone with a MATLAB background. In general this book assumes that the reader is well acquainted with the fundamentals of MATLAB and any aspects of that product that they are interested in seeing the Julia equivalent(s) for. This book is not intended to be a resource for learning MATLAB! In contrast, we do not assume any knowledge of Julia, but leave general purpose introductions to the language to other resources (see Related Resources below for some of these).
There are also tools to access Julia from MATLAB.[1]
Contents
The book contains distinct sections offering readers different ways to approach learning how to use Julia from the point of view of a MATLAB user.
Introduction to Julia for MATLAB users
This part provides a guided tour of Julia intended to orient a typical MATLAB user to some of the most significant aspects of Julia, emphasizing what might be some of the more unexpected differences and also highlighting some of the areas where Julia has particular strengths relative to MATLAB.
Tutorials
This part includes short tutorials that walk MATLAB users through some typical example scenarios, each demonstrating how some particular workflow or idiom from MATLAB would translate to Julia.
MATLAB-to-Julia Functions Mapping
The organization of this part of the book mirrors that of the MathWorks' on-line documentation; that is, the core MATLAB language features are together in the MATLAB section which when complete would map everything found in the core MATLAB documentation to Julia equivalents, while another section on the Control System Toolbox, for instance, would map functionality documented in its toolbox documentation page to Julia equivalents.
Applicable Versions
The most recent MATLAB documentation (currently R2020a[2]) is assumed unless otherwise specified.
In general when equivalent Julia 1.0 (i.e. 0.7 without deprecation warnings) functionality exists this is what will be linked to, but in cases where this does not exist but an earlier version, e.g. 0.6, has the functionality the latter may be linked to. A more recent version of Julia like Julia 1.5.1 might be advised.
Related Resources
Julia
- The learning section at Julia's official site
- Julia documentation, a.k.a. the Julia manual
- Packages
- Julia Observer
- Julia package index
- Julia Discourse forums
Julia and MATLAB
- QuantEcon MATLAB - Python - Julia Cheatsheet
- Automatic MATLAB to Julia converter (limited in its usefulness, especially for functions in toolboxes)
- Package for calling MATLAB in Julia through MATLAB Engine: MATLAB.jl
- Rosetta Code Julia category and MATLAB category
- MatLang.jl
- MatlabCompat.jl (appears to be unmaintained)
- Introducing Julia Wikibook
- Basic Comparison of Python, Julia, Matlab, IDL and Java (2018 Edition)
Contributing
Contributions are encouraged! See the WikiBooks Help:Contributing page. In particular here are some notes on contributions to this book.
Style
Of course, follow the Wikibooks Manual of Style. In addition, specific to this book the following style conventions apply.
MATLAB and Julia command/function names
Command and function names in either language when written inline should be in code
text format. In addition in the individual command/function name sections the MATLAB command/function names should link to an appropriate page in the MATLAB documentation and similarly for the Julia equivalent where it is first mentioned on that page. For example, see the entry for ans
.
Links
In general the intent is to capture the information itself in this wiki, for the same reasons as this is encouraged on Stack Overflow:
Provide context for links
Links to external resources are encouraged, but please add context around the link so your fellow users will have some idea what it is and why it’s there. Always quote the most relevant part of an important link, in case the target site is unreachable or goes permanently offline.[3]
As such, it is assumed that the main Julia documentation isn't at risk of going offline, but the salient points from other sources should in general be included in this wiki so it is largely self-contained (and thus is itself suitable for offline use). Of course, attribution by means of links to sources of information is highly encouraged.
Category:Book:Julia for MATLAB Users#print
Please add {{alphabetical}}
only to book title pages.
![]() |
This page was last edited 59 months ago, and may be abandonedCategory:Pages needing attention This page has not been edited since 13 April 2020, but other pages in this book might have been. Check out related changes to see what the state of this book is. You can help by editing and updating this book. Remove {{under construction}} from this page if it is not being actively edited. Ask for help at WB:PROJECTS. |
MATLAB-to-Julia Functions Mapping
The following index is based in part on the MATLAB Product Family section of the MathWorks® Product Family page; the core MATLAB language is covered, as are the MATLAB first-party toolboxes, as well as a section for third-party toolboxes.
There's a MATLAB-to-Julia syntax translator available online.[4]
There are also tools to access Julia from MATLAB.[5]
MATLAB Core Language
Functionality available in all MATLAB installations, i.e. not requiring any of the below toolboxes. Organized according to the corresponding MATLAB documentation page:
- Language Fundamentals
- Mathematics
- Graphics
- Data Import and Analysis
- Programming Scripts and Functions
- App Building
- Advanced Software Development
- Desktop Environment
MATLAB Toolboxes
Parallel Computing
Math, Statistics, and Optimization
- Statistics and Machine Learning Toolbox
- Neural Network Toolbox (for Deep Learning)
- Text Analytics Toolbox
- Optimization Toolbox
- Global Optimization Toolbox
- Curve Fitting Toolbox
- Symbolic Math Toolbox
- Partial Differential Equation Toolbox
- Model-Based Calibration Toolbox
Control Systems
- Control System Toolbox
- System Identification Toolbox
- Fuzzy Logic Toolbox
- Robust Control Toolbox
- Model Predictive Control Toolbox
- Aerospace Toolbox
- Robotics System Toolbox
- Predictive Maintenance Toolbox
Signal Processing and Wireless Communications
- Signal Processing Toolbox
- DSP System Toolbox
- Audio System Toolbox
- Communications System Toolbox
- Wavelet Toolbox
- RF Toolbox
- Antenna Toolbox
- Phased Array System Toolbox
- LTE System Toolbox
- WLAN System Toolbox
Image Processing and Computer Vision
- Image Processing Toolbox
- Computer Vision System Toolbox
- Automated Driving System Toolbox
- Vision HDL Toolbox
- Image Acquisition Toolbox
- Mapping Toolbox
Test and Measurement
- Data Acquisition Toolbox
- Instrument Control Toolbox
- Image Acquisition Toolbox
- OPC Toolbox
- Vehicle Network Toolbox
- ThingSpeak
Computational Finance
- Financial Toolbox
- Econometrics Toolbox
- Datafeed Toolbox
- Database Toolbox
- Spreadsheet Link (for Microsoft Excel)
- Financial Instruments Toolbox
- Trading Toolbox
- Risk Management Toolbox
Computational Biology
Code Generation
- MATLAB Coder
- GPU Coder
- HDL Coder
- Vision HDL Toolbox
- HDL Verifier
- Filter Design HDL Coder
- Fixed-Point Designer
Application Deployment
Database Access and Reporting
Third-Party Toolboxes
The Multi-Parametric Toolbox (MPT)
The Multi-Parametric Toolbox (or MPT for short) is an open source, MATLAB-based toolbox for parametric optimization, computational geometry and model predictive control.
There is a relevant discussion thread on the Julia Discourse forums.
Related Julia resources:
- JuliaPolyhedra organization on GitHub hosting several packages, e.g. Polyhedra.jl/ Category:Book:Julia for MATLAB Users#print%20
References
Category:Book:Julia for MATLAB Users#print- ↑ https://discourse.julialang.org/t/ann-juliafrommatlab-jl-call-julia-from-matlab/66882
- ↑ Only the most recent MATLAB documentation is available on the MathWorks' website without a login; previous releases' documentation is accessible with but only with a login (though creating one appears not to require a MATLAB license).
- ↑ https://stackoverflow.com/help/how-to-answer
- ↑ matlab-to-julia: Translates MATLAB source code into Julia
- ↑ https://discourse.julialang.org/t/ann-juliafrommatlab-jl-call-julia-from-matlab/66882