16
1 © 2015 The MathWorks, Inc. Introduction to MATLAB application deployment Antti Löytynoja, Application Engineer

Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

1© 2015 The MathWorks, Inc.

Introduction to MATLAB application deployment

Antti Löytynoja, Application Engineer

Page 2: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

2

Technical Computing with MATLAB Products

Explore & CreateExplore & Create

Data Analysis

Mathematical

Modeling

Algorithm

Development

Application

Development

x yE =V

R

Equations

Data

AccessAccess

Files

Hardware

Software

Equations

F = ma

ShareShare

Reports and

Documentation

Outputs for Design

Applications

Options:

1. Run MATLAB everywhere

2. Manual translation to other language

3. Application deployment

Page 3: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

4

Why deploy MATLAB applications?

Your

Organization

Your

Group

Suppliers

Clients

Field

engineers

MATLAB User

Save development time and cost– Eliminate time-consuming translation

process

Reduce risk of introducing errors– Debug algorithms in MATLAB

– Eliminate error-prone translation

process

Page 4: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

5

Application Packaging and Code Generation

MATLAB

Runtime

MATLAB

MATLAB Coder

products

Integratealgorithms with custom software

Acceleratealgorithm execution

Implementalgorithms on embedded processors

Prototypealgorithms on PC’s

MATLAB

Compiler SDK

MATLAB

Compiler

Page 5: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

9

MATLAB

ExcelAdd-in

Hadoop

MATLAB

Compiler

StandaloneApplication

Which Product Will Fit Your Needs?

MATLAB Compiler enables sharing MATLAB programs without integration programming

MATLAB Compiler SDK provides implementation and platform flexibility for software developers

MATLAB Production Server provides the most efficient development path for secure and

scalable web and enterprise applications

MATLAB

Compiler SDK

C/C++

Java

.NET

MATLABProduction

Server

Python

• Royalty-free

• Encrypted to protect

IP

Page 6: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

11

Application Author

End User

1

2

Sharing Standalone Applications

MATLAB

ExcelAdd-in Hadoop

StandaloneApplication

Toolboxes

MATLAB Compiler

MATLAB

Runtime3

Page 7: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

12

Demo: Creating a Standalone Application

Page 8: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

14

1

2

Integrating MATLAB-based Components

MATLAB

Toolboxes

MATLAB

Runtime

Application Author

Software Developer

43C/C++

Java

.NET

MATLABProduction

Server

Python

MATLAB Compiler SDK

Page 9: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

15

Scale Up with MATLAB Production Server (MPS)

Directly deploy MATLAB programs into production– Centrally manage multiple MATLAB programs & MCR versions

– Automatically deploy updates without server restarts

Scalable & reliable

– Service large numbers of concurrent requests

– Add capacity or redundancy with additional servers

Use with web, database & application servers

– Lightweight client library isolates MATLAB processing

– Access MATLAB programs using native data types

MATLAB Production Server(s)

HTML

XML

Java ScriptWeb

Server(s)

Page 10: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

16

MPS integration with IT systems

Web

Server

Application

Server

Database Server

Pricing

Risk

Analytics

Portfolio

Optimization

MATLAB Production Server

MATLAB

Compiler SDK

Web Applications

Desktop Applications

Batch Applications

Page 11: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

19

MATLAB

Desktop

Deployed AnalyticsMATLAB Production Server

MATLAB

Production

Server

Web

Application

Server

MATLAB

Production Server

Requ

est B

roke

r

generateForecast

Apache Tomcat

Web Server/

Webservice

Weather

Data

Energy

Data

Predictive

Models

Train in

MATLAB

Page 12: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

20

Application Packaging and Code Generation

MATLAB

Runtime

MATLAB

MATLAB Coder

products

Integratealgorithms with custom software

Acceleratealgorithm execution

Implementalgorithms on embedded processors

Prototypealgorithms on PC’s

MATLAB

Compiler SDK

MATLAB

Compiler

Page 13: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

21

Demo: generating code for neural network model

1. Convert neural network model into a MATLAB function supporting

code generation– genFunction(net,’functionname.m’,’MatrixOnly’,’yes’);

2. Generate code using MATLAB Coder

3. Verify that generated code produces correct results

Page 14: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

22

MATLAB Compiler SDK and MATLAB Coder

OutputSoftware components for C/C++,

.NET, Java, and Python

Portable and readable

C source code

MATLAB language support Full Subset

Additional libraries MATLAB Runtime None

Supported toolboxes Most toolboxes Some toolboxes

License model Royalty-free Royalty-free

MATLAB Compiler

MATLAB Compiler SDK MATLAB Coder

Page 15: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

23

MATLAB Application Deployment

Share MATLAB programs with people who do

not have MATLAB

– Royalty-free distribution

– Encryption to protect your IP

Create both standalone applications and

components for integration

Deploy to desktop, web, and enterprise

applications

Coder products for generating standalone C/C++

Page 16: Antti Löytynoja, Application Engineer...Development Application Development x E = y V R Equations Data Access Files Hardware Software Equations F = ma Share Reports and Documentation

24© 2015 The MathWorks, Inc.

Thank you!