what’s new in matlab · 4 run code, present, share, and collaborate using interactive documents...

Post on 07-Sep-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1© 2017 The MathWorks, Inc.

What’s New in MATLAB

May 16, 2017

2

MATLAB Foundation

Working with Data

Building & Sharing MATLAB Applications

Application Specific Enhancements

Summary and Wrap-up

Agenda

3

Agenda

MATLAB Foundation

Working with Data

Building & Sharing MATLAB Applications

Application Specific Enhancements

Summary and Wrap-up

4

Run code, present, share, and collaborate

using interactive documents

– Rich text formatting

– Interactive plot customization

with code generation

– Interactive equation editing

– Insert images

– Hyperlinking

See results together with code

– Side-by-side or inline views

Save directly to PDF or HTML

Live EditorChange the way you work in MATLAB

10

Redesigned Documentation

More examples

Easier to navigate

– Cleaner layout

– Improved discoverability

Added more domain-specific information

Release Notes filtering

– Look for types of changes across a range of releases

– Highlight only changes that have incompatibility considerations

11

Pause or Add Breakpoints During Code Evaluation

New feature allows you to troubleshoot problems

without specifying breakpoints in advance

– Pause execution of a program from the Editor

– Enter debug mode

– Resume program execution

12

New Graphics System

New look and feel

Easier plot customization

Enhanced plot customizations

– Automatic updating of datetime tick labels

– Dynamic legends

– Plot using categoricals

New and updated visualizations

– Animated lines

– Heatmaps

14

Increased Performance

Run MATLAB code faster with

redesigned execution engine– All MATLAB code is now JIT compiled

Enhancements

– Improved script and try/catch performance

– Execute loops with scalar math faster

– Construct objects and set properties faster

Graphics enhancements

– Render plots with large numbers of

markers faster using less memory

16

MATLAB Language EnhancementsProgramming flexibility

Functions in scripts

– Define local functions in scripts for improved

code reuse and readability

Property validation for classes

– Easily control a property's size, class, and value

17

Agenda

MATLAB Foundation

Working with Data

Building & Sharing MATLAB Applications

Application Specific Enhancements

Summary and Wrap-up

18

Importing and Exporting Data

Access online data

– RESTful, JSON, HTTP, CSV, text, and image data

Import improvements

– Improved performance

– Improved format detection in readtable and datastore

– Advanced control over import with detectImportOptions

– Datetime by default

Datastore

– Text, spreadsheet, images, and custom

– spreadsheetDatastore for collections of spreadsheet files

– fileDatastore for custom file formats

20

TablesSimplifying data management

For mixed-type tabular data

– Holds both data and metadata

Supports flexible indexing

Built-in functionality

(merge, sort, etc.)

Database-like functionality

– Join

– Stack / Unstack

21

Categorical ArraysStoring data with values from finite set of categories

For discrete non-numeric data

– Values drawn from a finite set of possible values ("categories”)

More memory efficient than a cell array of strings

Can be compared using logical operators

– Similar to numeric arrays

Allows for ordered categories

– Mathematical compare categories

22

Date and Time ArraysManage time more effectively

datetime for representing a point in time

duration, calendarDuration

for representing elapsed time

Same data type for computation and display

– Add, subtract, sort, compare, and plot

– Customize display formats

– Nanosecond precision

Support for time zones and leap seconds

– Accounts for daylight saving time

23

TimetablesTime-stamped tabular data

Manage time-stamped tabular data with time-based

indexing and synchronization

Store column-oriented data variables that have

different data types

Use dedicated functions to manage timetables

– Reorganize data

– Evenly space data by time

– Align multiple data sets

Use any table function with timetables

24

StringsThe better way to work with text

Manipulate, compare, and store text data efficiently

>> "image" + (1:3) + ".png"

1×3 string array

"image1.png" "image2.png" "image3.png"

Simplified text manipulation functions

– Example: Check if a string is contained within another string

Previously: if ~isempty(strfind(textdata,"Dog"))

Now: if contains(textdata,"Dog")

Performance improvement

– Up to 50x faster using contains with string than strfind with cellstr

– Up to 2x memory savings using string over cellstr

25

Data PreprocessingEasier ways to clean up messy data

Text manipulation functions

– More than a dozen functions including

contains, endsWith, and others

*missing functions

– Find, fill, and remove missing data

Options to ignore “NaNs” with cumulative statistic functions

Smooth noisy data with filtering or local regression using smoothdata

More easily deal with outliers using isoutlier and filloutliers

26

Analyze DataIntuitive data processing

Split-Apply-Combine Workflow

– findgroups – splits the data into groups

– splitapply – applies a function to each group,

and combines the results

Apply functions with tables and timetables using varfun

27

Machine

Memory

Big Data - Tall ArraysScaling your code to big data

Applicable when:

– Data is columnar – with many rows

– Overall data size is too big to fit into memory

– Operations are mathematical/statistical in nature

Statistical and machine learning applications

– Hundreds of functions supported in MATLAB and

Statistics and Machine Learning Toolbox

Tall Data

28

Summary of Tall Array Capabilities

Provides purpose-built functions for use with

data that does not fit in memory

ASCII File

Database (SQL)

Spreadsheet

Custom Files

• table

• cell

• numeric

• cellstr & string

• Date & Time

• categorical

Data Access

(100’s of functions)

Math

Statistics

Missing Data

Visualization

Date/Time

String

Data Munging

Linear Model

Logistic Regression

Discriminant Analysis

K-means

PCA

Random Data Sampling

Summary Statistics

Machine Learning

29

Run in parallel on Spark clustersMATLAB Distributed Computing Server

Deploy MATLAB applications as standalone applications on Spark clustersMATLAB Compiler

Run in parallel on compute clustersMATLAB Distributed Computing Server

Tall arraysMATLAB

100’s of functions supportedMATLABStatistics and Machine Learning Toolbox

Run in parallelParallel Computing Toolbox

Using Tall Arrays

Spark + Hadoop

Compute ClustersLocal diskShared folders

Databases

30

Agenda

MATLAB Foundation

Working with Data

Building & Sharing MATLAB Applications

Application Specific Enhancements

Summary and Wrap-up

31

Test Frameworks

MATLAB Unit Testing Framework

– Test your code early and often

– xUnit style framework

– Script / function / class based testing

– Works with continuous integration servers

– Automatic reporting

– Mocking framework

– Capture screenshots

Performance Testing Framework

– Time MATLAB code automatically

– Track performance over time

32

Source Control Integration

Manage your code from within

the MATLAB Desktop

Leverage modern source

control capabilities

– GIT and Subversion integration

in Current Folder browser

Use Comparison Tool to view and

merge changes between revisions

33

External Interfaces

Calling Libraries Written in Another Language From MATLAB

Calling MATLAB from Another Language

• Python

• C/C++

• Fortran

• Java

• COM components and ActiveX® controls

• RESTful, HTTP, and WSDL web services

• Java

• Python

• C/C++

• Fortran

• COM Automation server

34

App Designer

Enhanced design environment

– Component alignment guides

– Simpler property inspectors

Expanded UI component set

– Gauges

– Dials

– Tabbed interfaces

Better code management

– Object-based code format

– Better property and method management

– Code refactoring

37

Packaging Apps and User-Created Toolboxes

App Packaging

– Automatically includes all necessary files

– Documents required products

– Creates single installation file for easy distribution

and installation into the MATLAB apps gallery

Toolbox Packaging

– Create your own toolbox of custom functions and package it as a single installer file

– Contains all of the code, data, apps, documentation, and examples

– Included files and folders automatically appear on path when installed

– View details and uninstall toolboxes with Manage Add-on Toolboxes dialog box

– Documents required products

38

Agenda

MATLAB Foundation

Working with Data

Building & Sharing MATLAB Applications

Application Specific Enhancements

Summary and Wrap-up

45

Statistics and Machine Learning ToolboxMaking Machine Learning Easy and Accessible

Classification Learner App

1-click parallel computing

Big data algorithms (using tall arrays)

C code generation for predictive models

(requires MATLAB Coder)

Regression Learner App

46

Neural Network ToolboxDeep Learning

Construct convolutional neural network (CNN) architecture

Extract features from a trained network

Perform transfer learning with AlexNet, VGG-16, VGG-19

Access out-of-memory data sets using datastores

Train and test using CPUs or multiple GPUs

Import forward-looking models from Caffe

47

Neural Network ToolboxDeep Learning

Training Millions of images from 1000 different categories

Prediction Real-time object recognition using a webcam connected to a laptop

48

Computer Vision System Toolbox

Point cloud processing

Structure from motion

– Estimate the essential matrix and compute camera

pose from 3-D to 2-D point correspondences

Detect objects using region-based

convolution neural networks

(R-CNN, Fast R-CNN, Faster R-CNN)

49

Computer Vision System Toolbox3D point cloud processing and visualization

50

Automated Driving System Toolbox

Algorithm development

– Sensor Fusion

– Computer Vision

– Deep learning

Testing and verification

– Ground Truth Labeling App

– Traffic scenario generation

Visualization tools

Ground truth labeling Scenario Generation

Sensor Fusion Computer Vision & Deep Learning

51

Automated Driving System ToolboxSensor Fusion and Visualization

52

Signal Processing ToolboxSignal Analyzer App with time and frequency domain analysis

Analyze signals in time and frequency

and navigate through the signals using a

panner.

Spectral analysis of signals

Time domain panning

Enhanced command line interface allows

specifying input signals and sample rates

53

Parallel Computing

tall array support for big data

Measure data sent to workers using ticBytes and tocBytes

Cloud offerings with K80-equipped GPUs

Simplified parallel Simulink simulations using parsim

Send data to client using DataQueue and PollableDataQueue

Train a single deep learning network with multiple CPUs or multiple GPUs

54

Other Toolbox Enhancement Highlights

Optimization Toolbox

– Mixed Integer Linear Programming

Mapping Toolbox

– Web map display with dynamic base maps

Database Toolbox

– Analyze large data using a DatabaseDatastore and tall table capabilities

– Retrieve graph data from Neo4j Graph Database

Econometrics Toolbox

– Bayesian Linear Regression

– Vector Autoregressive Models (VAR) with Exogenous Inputs (VARX)

MATLAB Report Generator

– Document Object Model (DOM) API for creating customized reports

55

New Toolboxes

Automated Driving System Toolbox

Robotics System Toolbox

Audio System Toolbox

Vision HDL Toolbox

Simulink Test

Risk Management Toolbox

Simscape Fluids

Antenna Toolbox

Phased Array System Toolbox

WLAN System Toolbox

LTE System Toolbox

– 5G library for LTE available

56

Agenda

MATLAB Foundation

Working with Data

Building & Sharing MATLAB Applications

Application Specific Enhancements

Summary and Wrap-up

57

Other Topics

Data Analytics/Machine Learning

Parallel Computing

Image Processing and Computer Vision

Deep Learning

Controls Analysis

State Machines

Verification & Validation

Test Automation

Interfacing with ROS

top related