What's New in MATLAB
What's New in MATLAB
2
Code Compatibility Report
Link to documentation
▪ Identifies potential for updates
compatibility issues
3
Agenda
▪ Toolbox Updates
4
Agenda
▪ Toolbox Updates
5
Editing and Running MATLAB Code Pre-16a
▪ Plain-text editing
▪ Output goes to
Command Window
▪ Multiple figure
windows appear
▪ Equations, images,
and hyperlinks only
appear if published
6
Use the Live Editor to create scripts that combine code,
output, and formatted text in an executable notebook.
7
Live Editor Notebook Features
8
Live Editor Coding Features
9
Live Editor Coding Features (continued)
10
Agenda
▪ Toolbox Updates
11
Access data in many formats from many locations
▪ Type
Simulation
▪ Structure
Databases
▪ Location
Images
MDF Files
Custom
12
Access data interactively using the Import Tool
▪ Choose what to do
with missing data
13
Access data from anywhere with minimal changes
Local disk
14
New functions for reading and writing data
parquetread parquetwrite
thingSpeakRead thingSpeakWrite
... ...
read* write*
* = INTO * = OUT OF
(data type, format) (data type, format)
readtimetable writetimetable
readcell writecell
readmatrix writematrix
readstruct writestruct
... ...
15
New data types express more types of data naturally
Numeric
datetime duration
double, logical categorical
single,
… calendarDuration
Heterogeneous timetable
Text
{c|h}
string tall
char cell string 16
Preprocessing and analyzing data is easier than ever
17
New functions for common preprocessing tasks
▪ Synchronize by time
▪ Find, fill, and remove missing
▪ Work with outliers
▪ Smooth noisy data
▪ Normalize, rescale data
18
Live Editor tasks for preprocessing data and manipulating tables and timetables
19
New functions for data analysis
▪ Explore range
▪ Grouped calculations
20
New and Updated Visualizations
21
tiledlayout is the new subplot
22
Save As
Improved Support for Publishing Workflows
Copy as Image
Copy as Vector
▪ Interactively save or copy
contents of axes as image
▪ Programmatically save
and copy graphics
– exportgraphics function
– copygraphics function
23
Datastores
▪ For:
– Handling collections of files
or large files
▪ Provides:
– Preview and configure I/O properties
– Read data into memory
(all at once, or incrementally)
– Transform data one file at a time for
data engineering workflows
– Combine with tall arrays to analyze
the entire out-of-memory dataset
with few code changes
24
Big Data Engineering and Analysis
Data Data
Engineering Analysis
datastores() datastores()
+ +
writeall() tall()
25
Simplify data engineering workflows with datastore and writeall
26
Big Data Engineering and Analysis
Data Data
Engineering Analysis
datastores() datastores()
+ +
writeall() tall()
27
tall Arrays
▪ New data type designed for data that doesn’t fit into memory
28
tall Arrays Single
tall array Single
Machine Machine
Memory Process Memory
29
tall Arrays Single
tall array Single
Machine Machine
Memory Process Memory
30
Big Data Analysis Without Big Changes
One file One hundred files
31
Agenda
▪ Toolbox Updates
32
Profile Your Code to Improve Performance
33
Pause or Add Breakpoints During Code Evaluation
34
Function Input and Class Property Validation
35
Using MATLAB with Other Languages Start and stop Python
interpreter from
a MATLAB session
Calling Libraries Written in Another Language From MATLAB
Execute Python functions
• Java out of process
• Python
• C
Call C++ libraries directly
• C++ from MATLAB +
• Fortran
• COM components and ActiveX® controls
• RESTful, HTTP, and WSDL web services
Calling MATLAB from Another Language
• Java
• Python
• C/C++
• Fortran
• COM Automation server
36
Organize, manage, and share your code with MATLAB projects
▪ Analyze dependencies
37
Managing your code with Projects
1. Create project
38
Managing your code with Projects
1. Create project
39
Managing your code with Projects
1. Create project
3. Explore dependencies
40
Managing your code with Projects
▪ Function refactoring
across files in Projects
41
Managing your code with Projects
1. Create project
3. Explore dependencies
4. Label files
Identify and run tests
…on Continuous Integration servers
42
Managing your code with Projects
1. Create project
3. Explore dependencies
4. Label files
43
Testing frameworks provide capabilities for creating,
running, and reporting on tests for your code
▪ MATLAB Unit Testing Framework
– Includes script-, function-,
and class-based testing
– Works with continuous integration servers
44
Automated Testing – Jenkins plugin
45
Automated Testing – Jenkins plugin – Testing reports
46
Agenda
▪ Toolbox Updates
47
App Designer is the recommended environment for
creating desktop and web apps in MATLAB
48
Interactively lay out your app in the App Designer design canvas
49
Use the app testing framework to write tests that programmatically
perform gestures on a UI component
testCase.press(myApp.checkbox)
testCase.choose(myApp.discreteKnob, "Medium")
testCase.type(myApp.editfield, myTextVar)
50
Diff and Merge App Designer Apps
MATLAB
51
Share Apps with Other MATLAB Users
▪ As a packaged app
– .mlappinstall file
– Installed apps appear in the Apps
tab in the MATLAB toolstrip
52
Add-Ons Extend the Capabilities of MATLAB
▪ Add-On Explorer
– Find and install add-ons
– Includes MathWorks + community content
▪ Add-On Manager
– View and manage installed add-ons*
55
Agenda
▪ Toolbox Updates
56
Support for the Latest Wireless Standards
Simulate, analyze and test 5G uplink and downlink
radio links. Generate IEEE 802.11ax/ad and LTE NB-
5G Toolbox
IoT, LTE-M, D2D, and C-V2X compliant waveforms
LTE Toolbox
57
Optimization
59
Machine Learning
60
Deep Learning
Data preparation, design, simulation, and deployment for deep neural networks
https://www.mathworks.com/solutions/deep-learning.html 61
Experiment Manager App
62
Prototype and deploy deep learning networks on FPGAs and SoCs