High-level language and development environment.


MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.


Note: Now requires OS X 10.10 or later.

Note: The quoted download size is an installer; the download of the application is 739 MB.


  • ​Live Editor: Pan, zoom, and rotate axes in output figures​
  • Live Editor: Create and edit equations interactively using the equation editor​
  • Live Editor: Create new sections and format text quickly using autoformatting​
  • Command Window: View updated display for arrays, including headers indicating class, size, and shape
  • Product Trials: Download trials for MathWorks products using Add-On Explorer​
  • Toolbox Packaging: Include live script examples, generate info.xml and helptoc.xml templates for custom documentation, and modify Java class path on installation

Language and Programming

  • Functions in Scripts: Define local functions in scripts for improved code reuse and readability
  • string Array: Manipulate, compare, and store text data efficiently​
  • timetable Data Container: Manage time-stamped tabular data with time-based indexing and synchronization​​​
  • timerange Function: Access all data in a specified date and time range in a timetable
  • vartype Function: Access all variables of a specified datatype in a table
  • table Data Container: Reference all variables in a table with compatible types using the Variables property
  • dir Function: Search for folders and subfolders recursively


  • Implicit Expansion: Apply element-wise operations and functions to arrays with automatic expansion of dimensions of length 1
  • graph and digraph Objects: Compute graph isomorphism, biconnected components, cut vertices, and node condensation
  • graph and digraph Objects: Visualize graphs and networks in 3-D
  • digraph Object: Reverse edge directions in a directed graph using the flipedge function


  • Date and Time Plotting: Use datetime or duration data in common plotting functions, and customize plots with datetime and duration rulers
  • polarscatter and polarhistogram Functions: Create scatter and histogram plots in polar coordinates
  • fimplicit and fimplicit3 Functions: Plot implicit functions of the form f(x,y) = 0 and f(x,y,z) = 0
  • Tick Formatting Functions: Customize text, position, rotation, and format for axis tick labels
  • errorbar Function: Create vertical and horizontal error bars and control hat width
  • plot Function: Control location and frequency of markers with the MarkerIndices property

Data Import and Export

  • readtable Function: Autom​atically detect and return date and time data in text and spreadsheet files
  • dete​ctImportOptions Function: Detect layout of text and Excel files and customize import options to readtable​
  • VideoReader Object: Read video frames more quickly from MP4 and MOV files on Windows systems
  • imageDa​tastore Function: Read batches of images for faster processing in machine learning and computer vision applications
  • TallDatastore Object: Efficiently retrieve preprocessed and cleaned-up data saved using the write function of the MATLAB tall arrays
  • jsondecode, jsonencode Functions: Encode and decode structured data in JSON-formatted text

Data Analysis

  • tall Arrays: Manipulate and analyze data that is too big to fit in memory
  • Missing Data Functions: Find, fill, and remove missing data from arrays or tables with ismissing, standardizeMissing, fillmissing, and rmmissing
  • Cumulative Functions: Ignore NaNs using 'omitnan' in cumsum, cummin, and cummax
  • discretize Function: Discretize datetime and duration arrays to separate time-stamped data into regular time intervals
  • Constrained Pan and Zoom: Pan or zoom in a single dimension for 2-D and 3-D plots

App Building

  • App Designer: Include common 2-D plots in apps, such as area, bar, contour, histogram, yyaxis, and function plots
  • App Designer: Create legends for 2-D plots in apps
  • App Designer: Embed tabular displays using uitable in apps
  • App Designer: Create callback functions that can be shared across multiple components
  • App Designer: Add, position, and resize labeled components, and create components with names derived from labels


  • Graphics Display: Render plots with large numbers of markers faster using less memory
  • Execution Engine: Execute tight loops with scalar math faster​​
  • Execution Engine: Construct objects faster​​​

Hardware Support

  • ​iPhone and Android Sensors: Log data from mobile sensors on the MathWorks Cloud over a Wi-Fi or cellular network​
  • Arduino: Write to shift registers
  • Raspberry Pi: Generate PWM signals and control servo motors from GPIO pins on Raspberry Pi
  • Raspberry Pi: Support for Raspberry Pi 3 Model B
  • Raspberry Pi: Read​ from sensors and write to the LED matrix on a Raspberry Pi Sense HAT​

Advanced Software Development

  • Object: Access HTTP services with low-level protocol control
  • MATLAB Engine API for Java: Run MATLAB code from Java programs
  • matlab.mixin.SetGet: Allow inexact property names by default in calls to set and get
  • Unit Testing Framework: Generate Microsoft Word or Adobe PDF reports of a test run
  • Unit and Performance Testing Frameworks: Improve code reuse and readability by using local functions in script-based tests


File Size
91.9 MB
Operating Systems
Mac OS X
System Requirements
  • Intel, 64-bit processor
  • OS X 10.10 or later
MathType Icon
MathType for Macintosh is a powerful interactive equation editor.
Maple Icon
Solve math problems and create interactive technical apps.
Chemistry Calculator Icon
Calculators for chemistry-related functions.
High-level language and development environment.
Soulver Icon
Smart notepad with built-in calculator.
GraphClick Icon
Retrieve data from graph images or movies.
AcaStat Icon
Statistical software with data analysis.
MathMod Icon
Mathematical modeling software.