MATLAB & Simulink
Matematické výpočty,
analýza dat a tvorba aplikací
Jaroslav Jirkovský
[email protected]
www.humusoft.cz
[email protected]
www.mathworks.com
1
HUMUSOFT s.r.o.
Obsah
• Úvod
– novinky R2010a
• Matematické výpočty a analýza dat
– statistika
– optimalizace, prokládání dat
– finanční analýza, neuronové sítě, fuzzy logika
• Samostatně spustitelné aplikace
– tvorba uživatelského rozhraní, překlad a šíření aplikace
• Výměna dat a informací
– propojení MATLABu s MS Excel a relačními databázemi
– tvorba dokumentace
• Paralelní výpočty v MATLABu
2
HUMUSOFT s.r.o.
MATLAB & Simulink
• Společnost The MathWorks založena v roce 1984
• Vývoj programu MATLAB
– Od numerických výpočtů po komplexní výpočetní a vývojové prostředí
Testování,
Verifikace,
Validace
Datové analýzy
a vývoj
algoritmů
Technické
výpočty
•
•
•
Rapid
prototyping a
HIL
•
Vestavěné
programové
vybavení
•
Software pro
signálové
procesory
§ Simulink
•
•
Návrhy DSP
Komunikační
systémy
•
Stavové
diagramy
•
Fyzikální
modelování
•
•
•
Zpracování
obrazu
•
•
Tvorba
aplikací
•
•
Optimalizace
Statistika
§ MATLAB
1985
3
Návrhy řídicích systémů
Zpracování signálu
Testování a
měření
•
Automatické
generování
kódu
Modelování
systémů a
simulace
•
1990
1995
Kontrola
• Verifikace
integrity modelů kódu
•
VHDL a Verilog
•
•
Systémy diskrétních událostí
Zpracování videa
Finanční modelování
a analýzy
•
Výpočetní biologie
Studentská verze
Komunikace s databázemi
a instrumenty
•
Distribuované a
paralelní výpočty
2000
2005
HUMUSOFT s.r.o.
Novinky MATLAB R2010a
• Nové vlastnosti MATLABu a jeho nadstaveb:
– rozšíření podpory více jader u matematických funkcí
– zdokonalení grafického rozhraní MATLAB desktop
– vylepšení v oblasti sdílení souborů a správy cest
– nové System objekty v MATLABu, které podporují více než 140 algoritmů z VIP
Blocksetu a Signal Processing Blocksetu
• umožnění data stream processingu v MATLABu
– podpora více jader a zlepšení výkonu u více než 50 funkcí Image Processing Toolboxu
včetně rozšíření podpory pro velké obrázky
– nové metody GlobalSearch a MultiStart pro hledání globálních extrémů v Global
Optimization Toolboxu
– možnost převodu symbolických rovnic ze Symbolic Math Toolboxu do formátu pro
Simscape language
4
HUMUSOFT s.r.o.
Novinky MATLAB R2010a
• Nové vlastnosti Simulinku a jeho nadstaveb:
– laditelné struktury parametrů, triggerované bloky modelu a větvení function call při
tvorbě rozsáhlých modelů v Simulinku
– Simulink PLC Coder, nový produkt určený pro generování strukturovaného textu dle
IEC 61131 určeného pro PLC a PAC
– rozšíření podpory generování kódu
• Eclipse
• Embedded Linux
• ARM procesory
– certifikace dle ISO 26262 pro Real-Time Workshop Embedded Coder a PolySpace v
nadstavbě IEC Certification Kit
– rozšíření podpory DO-178B o model coverage v nadstavbě DO Qualification Kit
http://www.mathworks.com/access/helpdesk/help/base/relnotes/
5
HUMUSOFT s.r.o.
Tok informací a dat v MATLABu
vstupy
6
řešení
výstupy
HUMUSOFT s.r.o.
Matematické výpočty a analýza dat
• Statistika
– Statistics Toolbox
• Optimalizace a prokládání křivek
– Optimization Toolbox
– Curve fitting toolbox, Spline toolbox
• Finanční analýza
– Financial toolbox, ...
• Neuronové sítě
– Neural Network Toolbox
• Fuzzy logika
– Fuzzy Logic Toolbox
• Symbolické výpočty
– Symbolic Math Toolbox
• Řešení diferenciálních rovnic
– MATLAB, COMSOL Multiphysics
7
HUMUSOFT s.r.o.
Statistics Toolbox
• Rozšiřuje MATLAB o rozsáhlé funkce
z oblasti statistiky a
pravděpodobnosti
• Dva nové typy dat
– Catagorical array
– Dataset Array
• Funkce:
– jsou otevřené: lze je měnit, přidávat
si vlastní kód
– jsou rychlé: pracují s celým polem,
ne s jednotlivou buňkou
– pojetí matic: řádky = měření, sloupce
= veličiny, statistické funkce se
aplikují na jednotlivé sloupce
• Funkce příkazové řádky i GUI
8
HUMUSOFT s.r.o.
Statistics Toolbox
• Funkce z oblastí:
– deskriptivní statistika (centrální
tendence, disperze, kvantily, …)
– statistická vizualizace
– pravděpodobnostní rozdělení
– generování náhodných čísel
– testy hypotéz
– analýza rozptylu
– regresní analýza
– analýza clusterů
– klasifikace
– Markovské modely
– návrh experimentů
– řízení stochastických procesů
9
HUMUSOFT s.r.o.
Optimization Toolbox
• Rozsáhlý soubor algoritmů pro
optimalizaci
– podmíněné, nepodmíněné, spojité i
diskrétní úlohy
• Umožňuje řešit:
– lineární programování
– kvadratické programování
– nelineární optimalizace
– nelineární metoda nejmenších
čtverců
– řešení soustav nelineárních rovnic
– vícekriteriální optimalizace
• Funkce příkazové řádky a GUI
• Podpora paralelních výpočtů
– s využitím Parallel Computing
Toolboxu
10
HUMUSOFT s.r.o.
Global Optimization Toolbox
• Rozšiřuje Optimization Toolbox
• Řešení optimalizačních úloh s
několika maximy, několika minimy
nebo nehladkými funkcemi
• Řešiče využívají
– globální vyhledávání
– start z několika výchozích bodů
– pattern search
– genetické algoritmy
– simulované žíhání
• Využití pro úlohy obtížně řešitelné
tradičními optimalizačními metodami
– v případě že počítané funkce jsou
• nespojité
• stochastické
• mají nejisté nebo neznámé derivace
11
HUMUSOFT s.r.o.
Curve Fitting Toolbox
• Nástroje pro prokládání dat
křivkami
– zobrazení dat
– předzpracování dat
– vývoj standardních a
uživatelských modelů
– prokládání běžnými a robustními
metodami
– analýza proložení
• Nástroje pro prokládaní dat
plochami
• Funkce do příkazové řádky
• GUI
12
HUMUSOFT s.r.o.
Financial Toolbox
• Rozšiřuje Statistics Toolbox a
Optimization Toolbox
• Nabízí funkce pro matematickou a
statistickou analýzu finančních dat a
vývoj algoritmů pro finančnictví
• Umožňuje výpočet
– optimalizace portfolií
– odhad rizik
– analýza úrokové míry
– oceňování finančních derivátů
– práce s finančními časovými řadami
13
HUMUSOFT s.r.o.
Další nástroje pro finanční analýzu
• Econometrics Toolbox
– modelování a analýza finančních a
ekonomických systémů pomocí
statistických metod
• Financial Derivatives Toolbox
– modelování a analýza akciových
derivátů a derivátů s pevným
výnosem
• Fixed-Income Toolbox
– modelování a analýza cenných papírů
s pevným výnosem
• Datafeed Toolbox
– získávání finančních dat
– poskytuje přímé spojení mezi
MATLABem a finančními datovými
servery
14
HUMUSOFT s.r.o.
Neural Network Toolbox
• Nástroj pro práci s neuronovými
sítěmi
– návrh
– vývoj
– trénování
– simulace
– vizualizace
• Obsahuje přehledná GUI
• Automatické vytváření simulačních
bloků sítí v Simulinku
• Uplatnění v oblastech kde je použití
formálních analytických nástrojů
obtížné či nemožné
15
HUMUSOFT s.r.o.
Fuzzy Logic Toolbox
• Začlenění fuzzy logiky do MATLABu
– fuzzy infereční systémy
– neurofuzzy inferenční systémy
– fuzzy clustering
• Grafické editory pro všechny fáze
návrhu fuzzy systémů
– editor základních vlastností fuzzy
inferenčního systému
– editor funkcí příslušnosti
– editor pravidel
– prohlížeč pravidel
– prohlížeč řídicích ploch
• Blok Fuzzy regulátoru do Simulinku
16
HUMUSOFT s.r.o.
Řešení ODE a PDE
• ODE
– základní nástroj pro řešení ODE je
Simulink
– výběr z několika řešičů různých řádů
(typu Runge-Kutta, prediktorkorektor)
– umožňuje řešit komplexní systémy s
ODE včetně nelinearit, nespojitostí, ...
• PDE
– COMSOL Multiphysics
– rozsáhlý modulární systém
– řešení PDE ve 3D
17
HUMUSOFT s.r.o.
Grafika a samostatně spustitelné aplikace
• Grafické uživatelské rozhraní
– MATLAB
• Samostatně spustitelné aplikace
– MATLAB Compiler
– MATLAB Builder EX
– MATLAB Builder JA
– MATLAB Builder NE
18
HUMUSOFT s.r.o.
Grafické uživatelské rozhraní (GUI)
• Tvorba grafického rozhraní pro
snadné ovládání algoritmů uživateli
• Veškeré standardní ovládací prvky
– tlačítko, slider, textové pole,
editovatelné pole, seznam, menu …
• Vhodné pro tvorbu stand-alone
aplikací
• GUIDE – editor pro tvorbu GUI
– layout editor
– m-file editor
– property inspector
– object browser
– menu editor, toolbar editor
19
HUMUSOFT s.r.o.
MATLAB Compiler
• Vytváří stand-alone aplikace a sdílené
knihovny z programů v MATLABu
• Lze použít většinu výpočetních a
grafických funkcí MATLABu včetně
vlastního GUI
• Aplikaci je možné distribuovat
– ke spuštění aplikace není nutná instalace
MATLABu
• uživatel bez MATLABu musí mít nainstalován
MATLAB Compiler Runtime (MCR)
– k využívání aplikace není potřeba licence
MATLABu – pokrývá licence MATLAB
Compileru
• v rámci komerční licence lze aplikaci zcela
libovolně šířit
• v rámci školní licence lze aplikaci šířit pouze
bezplatně a musí být zajištěno její nekomerční
(školní) využití
20
HUMUSOFT s.r.o.
Rozšíření MATLAB Compileru
• MATLAB Builder EX
– vytvoření samostatného doplňku pro
Excel
– Umožní začlenit do Excelu pokročilé
algoritmy z MATLABu
• MATLAB Builder JA
– začlenění aplikace z MATLABu do
programů v jazyce JAVA
• MATLAB Builder NE
– začlenění aplikace z MATLABu do
programu vytvořením .NET nebo
COM komponent
• Šíření pokrývá licence na MATLAB
Compiler
• uživatel bez MATLABu musí mít
nainstalován MCR
21
HUMUSOFT s.r.o.
Výměna dat a informací
• Propojení s Excelem
– Spreadsheet Link Ex
• Propojení s databázemi
– Database Toolbox
• Reportování
– MATLAB - publish
– MATLAB report generátor
– Simulink report generátor
22
HUMUSOFT s.r.o.
Spreadsheet Link EX
• Interaktivní propojení Excelu s
výpočetním jádrem MATLABu
• Umožňuje uživateli:
– používat všechny funkce MATLABu
přímo v Listu Excelu
– vyměňovat data mezi Excelem a
MATLABem
– vkládat grafy z MATLABU do Listu
Excelu
• Pozn.: čtení a zápis do .xls souborů
je funkce základního MATLABu
– lze načítat i zapisovat data z/do
konkrétní části sešitu dané listem a
rozsahem buněk
23
HUMUSOFT s.r.o.
Database Toolbox
• Výměna dat s relačními databázemi
• Podporuje interakci s
nepoužívanějšími databázemi, jako je
– Oracle
– Sybase
– Microsoft SQL Server
– Informix
• Umožňuje
– současný přístup do několika
databází
– transakce zahrnující rozsáhlé
soubory dat
• Visual Query Builder
– pro interakci s databázemi bez
znalosti SQL
24
HUMUSOFT s.r.o.
Reportování
• MATLAB
– publish
• v základním MATLABu
• k jednoduché dokumentaci skriptů
• MATLAB Report Generátor
– nástroj pro dokumentaci projektů v
MATLABu
– tvorba šablon pro dokumentaci
– udržování aktuální dokumentace
– tvorba manuálu k cílové aplikaci
• Simulink Report Generátor
– nástroj pro dokumentaci modelů v
Simulinku a Stateflow
– zprávy z výsledků simulací
– dokumentace ke kódu generovaném ze
Simulinku pomocí Real-Time Workshopu
25
HUMUSOFT s.r.o.
Paralelní výpočty v MATLABu
• Paralelní výpočty v rámci jedné multiprocesorové stanice
– Parallel Computing Toolbox
• Distribuované výpočty v rámci výpočetního clusteru
– MATLAB Distributed Computing Server
26
HUMUSOFT s.r.o.
Parallel Computing Toolbox
• Návrh, tvorba a zpracování
paralelních výpočtů a algoritmů
• Struktura
– klient
• sekce MATLABu pro zadání úloh a
spouštění celého procesu
– lokální plánovač (scheduler)
• rozděluje úlohy do „workerů“,
komunikuje s nimi a sbírá výsledky
– worker
• jednotka pro výpočet jednotlivých úloh
• PCT umožňuje spustit až 8 lokálních
„workerů“ v rámci jednoho PC
27
HUMUSOFT s.r.o.
Parallel Computing Toolbox
• Interaktivní paralelní mód
– umožňuje pracovat s paralelními
výpočty interaktivně
• Jazyk pro paralelní výpočty
– příkazy pro paralelní programování
• parfor
• spmd
– distribuovaná data
• codistributed
• codistributor
• S Parallel Computing Toolboxem lze
– programovat paralelní algoritmy
– provádět výpočet paralelních
algoritmů na multiprocesorové stanici
– testovat nastavení paralelního
algoritmu před spuštěním na
výpočetním clusteru
28
HUMUSOFT s.r.o.
MATLAB Distributed Computing Server
• Rozšiřuje Parallel Computing Toolbox
• Je možné zpracovávat rozsáhlé výpočetní úlohy v rámci výpočetního clusteru
– konfigurace pro 8, 16, 32, 64, 96 a 128 workerů
• Lze využít vlastní nebo externí plánovač (Scheduler, Job Manager)
29
HUMUSOFT s.r.o.
Humusoft HeavyHorse
• Procesory AMD Opteron
– dva nebo čtyři procesory
– čtyř, šesti, osmy a dvanácti jádrové
– frekvence CPU 2.3 až 3.1 GHz
• 8-64 GB RAM
• Grafická karta ATI Radeon HD 5770 nebo 5870
• Pevný disk SATA 500 GB nebo 1000 GB
• Optická mechanika DVD±RW
• Operační systém podle přání
– Microsoft Windows 64-bit: XP, Vista, Server
– Linux 64-bit: OpenSUSE, Ubuntu
• Možnost předinstalace aplikací
– MATLAB
– MATLAB Distributed Computing Server
– COMSOL Multiphysics
30
HUMUSOFT s.r.o.
Zdroje informací
• Internetové stránky
– www.humusoft.cz
• domovská stránka firmy Humusoft s.r.o.
– www.mathworks.com
• domovská stránka firmy The MathWorks, Inc.
• MATLAB central
– prostor pro vzájemnou komunikaci mezi uživateli a příznivci
systému MATLAB/Simulink (otevřená platforma pro prezentaci
vlastních aplikací, výměnu souborů, názorů i zkušeností)
• www.mathworks.com/matlabcentral/
31
HUMUSOFT s.r.o.
Zdroje informací
• Www semináře (webinars)
– on-line semináře zdarma probíhající na internetu v reálném čase v
daný den a hodinu
• videa webových seminářů, které již proběhly, jsou ke stažení
– v angličtině (The MathWorks), češtině, slovenštině
• www.humusoft.cz/wwwseminare
• Workshopy
– workshopy nabízí možnost praktického seznámení s programy
MATLAB & Simulink a COMSOL Multiphysics
– účastníci mají k dispozici PC, kde si mohou prezentované příklady
za asistence přednášejícího sami vyzkoušet
• www.humusoft.cz/workshop/
• Školení
– Firma HUMUSOFT provádí školení na MATLAB, Simulink, Stateflow,
Real Time Workshop, fyzikální modelování
– zhruba 1x za dva měsíce, termíny jsou vyhlašovány 3 týdny předem
• www.humusoft.cz/skoleni
32
HUMUSOFT s.r.o.
Zdroje informací
• Knihy a publikace
– CZ/SK knihy a publikace využívající nebo popisující systém
MATLAB/Simulink
• www.humusoft.cz/produkty/matlab/knihy
– kompletní seznam knih a publikací využívajících nebo popisujících
systém MATLAB/Simulink
• www.mathworks.com/support/books
• Konference Technical Computing Prague
– příspěvky uživatelů o využití systému MATLAB/Simulink v praxi
• www.humusoft.cz/akce/matlab09
• Diskusní skupiny
– Česká a slovenská skupina uživatelů MATLABu (CSMUG)
• www.humusoft.cz/produkty/matlab/csmug
33
HUMUSOFT s.r.o.
Zkušební verze
• Plnohodnotná verze MATLAB
• Časově omezena na 30 dní
• Možnost libovolných toolboxů a blocksetů
• V případě zájmu nás kontaktujte
– [email protected]
34
HUMUSOFT s.r.o.
Děkuji za pozornost
35
HUMUSOFT s.r.o.
Download

MATLAB & Simulink