Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1© 2015 The MathWorks, Inc.
Introduction to MATLAB application deployment
Antti Löytynoja, Application Engineer
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
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
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
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
11
Application Author
End User
1
2
Sharing Standalone Applications
MATLAB
ExcelAdd-in Hadoop
StandaloneApplication
Toolboxes
MATLAB Compiler
MATLAB
Runtime3
12
Demo: Creating a Standalone Application
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
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)
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
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
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
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
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
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++
24© 2015 The MathWorks, Inc.
Thank you!