what’s new in matlab...code as it is being developed and maintained popular ci systems: jenkins,...

39
© 2020 The MathWorks, Inc. 1 What’s New in MATLAB Dr Peter Brady Senior Application Engineer

Upload: others

Post on 26-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 1

What’s New in MATLAB

Dr Peter Brady

Senior Application Engineer

Page 2: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

2,611

Page 3: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 3

Agenda

1. Core MATLAB

2. Server Suite

3. AI Applications

4. Industrial Tools

5. Financial Models

“High level to low level –

Deep or Wide

– you choose for you”

Page 4: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 4

Core MATLAB

1. Live scripts and task

2. Stateflow for MATLAB

3. Projects

“Abstraction allows for rapid

development”

Page 5: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 5

Create executable notebooks for sharing, presenting, teaching

Contextual hints

while coding

View interactive outputs

next to the code

Add rich text formatting,

equations, images,

and hyperlinks

MATLAB

Code + Output + Formatted Text = Executable Notebook

Live Editor

Page 6: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 6

Turn a script into a simple app

Add interactive controls

to modify script variables

– Numeric sliders

– Drop-down lists

– Edit fields

Hide the code to create

simple applications

and dashboards

MATLAB

Live Editor

Page 7: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 7

Complete steps interactively

Use tasks to explore

parameters and options

Automatically generate

MATLAB code for the

completed task

MATLAB

Live Editor

Page 8: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 8

Design decision logic at a higher level of abstraction

Graphically program, debug

and execute state machines

Stateflow

Page 9: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 9

Design decision logic at a higher level of abstraction – in MATLAB

MATLABStateflow

Page 10: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 10

Manage system complexity with projects

Projects in MATLAB help you

to organize, manage, and

share your code and models

SimulinkMATLAB

Projects

EnvironmentSetup andAutomation

Dependencyand Impact

Analysis

Source Control Integration

Componentized Development

Sharing and Deployment

Testing andVerification

Page 11: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 11

Explore file dependencies and impact analysis

Explore and visualize

project structure

SimulinkMATLAB

Page 12: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 12

Use source control systems (Git, Subversion) with projects

SimulinkMATLAB

Page 13: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 13

Server Products

1. Overview of our server products

2. New WebApp Server

3. Scaling with reference

architectures

4. Support DevOps workflows

“Server suite scales with

your needs”

Page 14: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 14

Big picture of our server products

Speed up

computation

Use MATLAB

in a browser

Integrate with

enterprise

applications

Publish

Web Apps

I want to….

MATLAB Online

Server

MATLAB

Parallel

Server

MATLAB

Web App

Server

MATLAB

Production

Server

Page 15: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 15

Share MATLAB apps as browser-based web apps

Create apps using App Designer

and host them using

MATLAB Web App Server

For IT: full authentication support

For domain experts: upload your app

on demand

MATLAB Web App Server NEW PRODUCT

Page 16: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 16

Reference

Architectures

MATLAB Dockerfile

Public Clouds On-Premise/Private Cloud

Cloud Center

Hosting Provider MathWorks Cloud

Cloud Data Services

MATLAB Online

MATLAB Drive

Deep Learning Container

AWS

AZURE

MATLAB Online Server

Scale as you need

Page 17: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 17

Reference Architectures on GitHub

▪ Official MathWorks guidelines

▪ One click to deploy

– After some initial setup 😒

▪ Monolithic Architectures

▪ Connectors/Utilities

▪ Containers

https://github.com/mathworks-ref-arch

Page 18: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 18

Intranet

Scale Out Production Server with Parallel Server

Enterprise

app Client library*

OR RESTful

MATLAB

Parallel Server

High availability configuration

MATLAB

Production Server

External user

* Provided by MathWorks https://www.mathworks.com/products/matlab-production-server/client-libraries.html

Load

balancer

Firewall

User submits a request

(recommend using

asynchronous for long

running calls)

1 Production Server acts as

the request dispatcher,

sending long running calls to

a cluster running MATLAB

Parallel Server

2Long-running calls (jobs) can

execute as serial or parallel.

Parallel jobs will use parallel

language and a parallel pool

3

App periodically polls

using the correlation

ID to determine if

request is complete.

The results are

displayed when

complete

4Cluster or Cloud

Enterprise

app Client library*

OR RESTful

Internal user

Page 19: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 19

Automated Testing with Continuous Integration (CI)

▪ A system to automate the building, testing, integration, and deployment of

code as it is being developed and maintained

▪ Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others…

▪ Benefits:

– Detect integration bugs early

– Allow you to stop bugs from being accepted

– Track and report testing history

– Flexible testing schedules and triggers

Page 20: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 20

MATLAB Plugin for Jenkins

▪ Install MATLAB Plugin for

Jenkins directly from the

Jenkins Plugin Manager

▪ Easily connect and configure

MATLAB with Jenkins

▪ Schedule automatic code and

model testing

– MATLAB Unit Test Framework

– Simulink Test

Page 21: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 21

Testing Reports in Jenkins

▪ View testing results

▪ View code coverage

▪ View testing reports

Page 22: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 22

AI: Machine and Deep Learning

1. The MATLAB Advantage

2. Deep Network Designer App

3. Experiment Manager App

4. AutoML

“Apps to simplify your dev

cycle with code to scale”

Page 23: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

Artificial Intelligence (AI)

DevelopPreprocess DataAccess Data Deploy

Page 24: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 24

Interactively access models, and develop and train networks

Deep Learning Toolbox

Deep Network Designer App

Page 25: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 25

Interactively access models, and develop and train networks

Import pretrained

networks for transfer

learning

Deep Learning Toolbox

Deep Network Designer App

Page 26: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 26

Interactively access models, and develop and train networks

Import pretrained

networks for transfer

learning

Train networks and

generate MATLAB code

Deep Learning Toolbox

Deep Network Designer App

Page 27: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 27

Manage multiple deep learning experiments

Keep track of training

parameters

Reuse training data

across multiple networks

Analyze and

compare results

Deep Learning Toolbox

Experiment Manager App

Page 28: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 28

Machine Learning – AutoML

▪ Automated machine learning

– Choose a classification model automatically,

across a selection of classifier types and

hyperparameter values (fitcauto)

– Uses Bayesian optimization

Statistics and Machine Learning Toolbox

Page 29: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 31

Industrial Tools

1. OPC UA

2. Feature Extraction

“Secure data connectivity

with MATLAB analytics

drives your insights”

Page 30: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 32

Access plant data securely from OPC UA servers

▪ Establish secure OPC UA connections

– Authenticate with username and password

or X509 user certificate credentials

– Sign and encrypt messages

OPC Toolbox

Page 31: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 33

OPC Data Access Explorer App

▪ Rapidly connect

▪ Visually browse data

▪ Export data to the workspace

OPC Toolbox

Page 32: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 34

OPC UA drives IoT

▪ OPC UA is vendor neutral

▪ Access PLCs or data aggregators

directly from MATLAB and Simulink

OPC Toolbox

Enables predictive maintenance workflows

Page 33: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 35

Diagnostic Feature Designer

▪ Import multiple data sources

▪ Interactively visualise base features

▪ Generate new features, e.g.

timeseries

▪ Prognostic ranking to estimate

remaining useful life

▪ Automatically generate code

Predictive Maintenance Toolbox

Page 34: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 36

Financial Tools

1. Object Framework for Pricing

2. Econometrics Models

“Object Orientated

framework encourages

speed and code reuse”

Page 35: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 37

Pricing and Valuation

▪ Price various types of financial instruments

individually or collectively as a portfolio

using new object-oriented framework

▪ The object-based workflow is an alternative

to pricing financial instruments using functions

▪ Modular objects can easily be reused to

compare instrument prices for different

models and pricing engines

Financial Instruments Toolbox

Page 36: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 38

Econometrics Toolbox

▪ Bayesian vector autoregression models

▪ Markov-switching autoregression models

▪ Granger Causality Test

Page 37: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 39

Risk Management Toolbox

▪ Support for constraints in credit

scorecards

▪ Predictor screening for credit

scorecards

– Support for data that is too big to fit in

memory (Big Data)

Page 38: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

2,611

Page 39: What’s New in MATLAB...code as it is being developed and maintained Popular CI systems: Jenkins, Travis, CircleCI , Azure DevOps, and others… Benefits: –Detect integration bugs

© 2020 The MathWorks, Inc. 41

Summary

1. Core MATLAB

1. Live scripts; Stateflow; Projects

2. Server Suite

1. Four core products; Web Apps Server; Reference architectures

3. AI Applications

1. Deep Network Designer; Experiment; AutoML

4. Industrial Tools

1. OPC UA, Diagnostic Feature Designer

5. Financial Models

1. New object framework