MATLAB 10.9.2008 Univerzita Pardubice
MATLAB Matematické výpočty, řízení, zpracování signálu a obrazu, modelování a simulace Karel Bittner bittner@humusoft.cz www.humusoft.cz info@humusoft.cz www.mathworks.com
HUMUSOFT s.r.o. MATLAB, Simulink, Stateflow (The MathWorks, Inc.) technické výpočty, modelování a simulace… WITNESS (Lanner Group, Ltd.) interaktivní simulace a optimalizace podnikových procesů dSPACE - vývojové systémy (dSPACE GmbH.) systémy pro řízení a simulace v reálném čase Comsol Multiphysics (Comsol AB) otevřený systém pro MKP analýzu Vývoj vlastního software & hardware (Humusoft s.r.o.) Virtual Reality Toolbox, Real Time Toolbox, RTWT měřicí karty modely pro výuku teorie řízení HeavyHorse (multiprocesorové stanice) !NOVINKA! Haptická zařízení a aplikace nástroje a zařízení pro tvorbu aplikací využívajících hmatovou interakci Profil společnosti Název firmy: Humusoft s.r.o. Založena: 1991 Počet zaměstnanců: 15 Sídlo: Praha 8, Pobřežní 20
Obsah Úvod Grafika v MATLABu Samostatně spustitelná aplikace Matematika Zpracování signálu Zpracování obrazu Návrh řízení Seznámení s COMSOL Multiphysics
Co je MATLAB Integrované prostředí pro vědeckotechnické výpočty Mocné grafické a výpočetní nástroje technické výpočty analýza a vizualizace dat vývoj a testování algoritmů sběr a zpracování dat zpracování signálů a obrazů programování a tvorba uživatelských aplikací 2D, 3D grafika a GUI designér
Co MATLAB nabízí? Intuitivní uživatelské rozhraní MATLAB Desktop Rychlé výpočetní jádro Programovací jazyk 4. Generace Více než 1 000 funkcí Grafická uživatelská rozhraní (GUI) Rozsáhlá HTML nápověda Systém MATLAB je: Modulární - toolboxy Otevřený – uživatel může zobrazit i upravovat funkce Od 2008a: Objektově orientované programování
Co je Simulink Základní nadstavba MATLABu Prostředí blokových schémat Prvky pro tvorbu diferenciálních rovnic Modelování, simulace a analýza dynamických systémů Platforma pro Model Based Design následně může být automaticky generován kód pro cílovou platformu
Co Simulink nabízí? Přehledné grafické uživatelské prostředí systém práce "drag and drop„ Hierarchické modelování využívající knihovny objektů a komponent předdefinované knihovny bloků tvorba vlastních funkčních bloků Otevřené rozhraní pro tvorbu aplikací začlenění kódu z programů MATLAB, C, Fortran Hybridní simulace, simulace systémů s různými vzorkovacími frekvencemi, simulace víceúlohových (multi-task) systémů
Struktura systému MATLAB Aplikace v reálném čase Toolboxy (knihovny funkcí) Blocksety (knihovny bloků) Tvorba samostatných aplikací Simulink Simulace a modelování dynamických systémů MATLAB Výpočty, programování, vizualizace...
Oblasti využití systému MATLAB Tradiční Letectví, kosmonautika a obrana Automobilový průmysl Automatizace a strojírenství Komunikace, elektronika, polovodiče a výpočetní technika Školství Nově vznikající Biotechnologie, zdravotnictví a farmacie Finance a ekonomika Chemie a petrochemie Přírodní vědy Energetika a veřejné služby
Tok informací a dat v MATLABu vstupy řešení výstupy
Grafika v MATLABu 2D 3D Objemová čárové spojnicové grafy schodové grafy bodové grafy sloupcové grafy 3D čárové grafy v prostoru plošné grafy Objemová vizualizace hodnot veličin v objemu vizualizace vektorů veličin v objemu
Graphical User Interface (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
Matlab Compiler Vytváří stand-alone aplikace 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 pak možné distribuovat 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í pouze nekomerční (školní) využití ke spuštění aplikace není nutná instalace MATLABu (uživatel bez MATLABu musí mít nainstalován MCR)
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
Matematika Řešení diferenciálních rovnic Statistika a optimalizace MATLAB COMSOL Multiphysics Statistika a optimalizace Statistics Toolbox Optimization Toolbox Symbolické výpočty Symbolic Math Toolbox
Řešení ODE a PDE ODE PDE 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, prediktor-korektor) 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
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 do příkazové řádky GUI
Symbolic Math Toolbox Symbolické výpočetní jádro Vnáší symbolické výpočty do numerického prostředí MATLABu aritmetika s proměnnou přesností kalkulus (derivace, integrály, limity, …) lineární algebra (inverze, determinant, …) řešení rovnic (algebraické, diferenciální) transformace (Fourier, Laplace, Z)
Návrh řízení Modelování regulačních schémat, optimalizace nastavení regulátorů, linearize modelů Simulink Simulink Response Optimization Simulink Control Design Analýza regulátorů a návrh pokročilých regulačních struktur Control System Toolbox Modelování událostně řízených systémů Stateflow
Simulink Základní nástroj pro návrh systémů řízení Modelování dynamických soustav lineárních nelineárních Návrh a modelování regulátorů spojité diskrétní Propojením soustav s regulátory lze modelovat libovolné regulační smyčky
Simulink Ke zjištění odezvy regulace lze využít bohaté knihovny vstupních signálů přechodové charakteristiky frekvenční odezvy ... Snadné modelování a porovnání různých variant řízení : klasické regulace dvoupolohová, PID, ... obecné polynomiální regulátory stavové regulátory pozorovatelé, Kalmanovy filtry
Simulink Response Optimization Nástroj pro optimalizaci chování modelu systému grafické rozhraní pro nastavení omezení signálu volba měnitelných parametrů pro optimalizaci převádí omezení v časové oblasti na optimalizační úlohu (numerické optimalizace) využívá funkce Optimization Toolboxu Nastavení parametrů regulátoru optimalizace chování v uzavřené smyčce
Simulink Control Design Návrh řídících systémů pro nelineární soustavy Linearizace soustavy Simulink linearization engine výpočet pracovního bodu specifikací simulací extrakce lineárního modelu ze Simulinkového schématu Návrh regulátoru v Simuliku volba bloku regulátoru pro ladění parametrů spolupracuje s Control System Toolboxem
Control System Toolbox Analýza regulačních obvodů Modelování a analýza lineárních systémů v MATLABu reprezentace v ss, tf, zpk spojité i diskrétní extrakce vlastností (póly, nuly, …) časové a frekvenční odezvy Návrh regulátoru SISO Design Tool volba zapojení grafický a číselný návrh automatické ladění další funkce (LQG, Kalman) V Simulinku blok LTI system
Stateflow Modelování událostmi řízených systémů Stateflow Coder Teorie konečných automatů Stavový popis a vývojové diagramy Začlenění událostmi řízené logiky Intuitivní grafické uživatelské rozhraní Plná integrace do modelů Simulinku Stateflow Coder Automatické generování kódu v jazyce C
Virtual Reality Toolbox Zahrnutí virtuální reality do prostředí MATLABu a Simulinku zobrazení „živé“ virtuální scény během simulace Modely jsou ve VRML určení parametrů které se zadávají z MATLABu či Simulinku Součástí VR Toolboxu je VRML editor Model ve VRML lze exportovat z CAD systémů
Fyzikální modelování Modelování skládáním bloků, které reprezentují prvky reálného světa Propojení bloků signály s obousměrnou interakcí reprezentujícími tok energie Propojení se Simulinkem přes bloky senzorů a akčních prvků Blocksety: Simscape SimHydraulics SimMechanics SimDriveline SimElectronics SimPowerSystems MATLAB, Simulink SimPowerSystems Simscape SimMechanics SimDriveline SimHydraulics SimElectronics
Simscape Simscape obsahuje základní fyzikální prvky ze čtyř oblastí mechanické prvky hmota, pružina, tlumič translace nebo rotace hydraulické prvky odporové potrubí, otvor, nádoba, hydromechanický převodník elektronické prvky odpor, kondenzátor, cívka, zdroj tepelné děje přenos tepla kondukcí, konvekcí, radiací
SimHydraulics Modelování komplexních hydraulických soustav Obsahuje prvky pro hydromotory ventily potrubí lokální odpory
SimMechanics Modelování složitých kinematických soustav Obsahuje bloky pro reprezentaci těles a kloubů ve 3D vazeb silového působení senzorů pohybu 3D vizualizace ve spojení s Virtual Reality Toolboxem Import CAD modelu do SimMechanics MathWorks vyvíjí CAD pluginy které jsou integrované do CAD systémů
SimDriveline Modelování rotačních mechanických soustav Obsahuje bloky pro reprezentaci momentu setrvačnosti rozličných převodovek prvků reálných automobilů Nástroj je speciálně určený pro využití automobilovém průmyslu
SimElectronics Modelování elektronických obvodů Obsahuje bloky pro reprezentaci napěťových a proudových zdrojů pasivních prvků polovodičů (diody, tranzistory) senzorů elektromotorů Rozšíření o knihovnu SPICE kompatibilní prvků
SimPowerSystems Zaměřeno na simulaci výkonové elektroniky a energetických systémů Bloky pro reprezentaci elektrických zdrojů a prvky výkonová elektronika elektrické stroje měření elektrické pohony, distribuované zdroje, transformátory, ... spojité a diskrétní řízení, fázory, ...
Zpracování signálu a obrazu Zpracování signálu v MATLABu Data Acquisition Toolbox Signal Processing Toolbox Filter Design Toolbox Zpracování signálu v Simulinku Signal Processing Blockset Zpracování obrazu v MATLABu Image Acquisition Toolbox Image Processing Toolbox Zpracování videa v Simulinku Video and Image Processing Blockset
Data Acquisition Toolbox Připojení HW pro vstup a výstup dat I/O karty do PC - Analogové i digitální porty zvukové karty Rozsáhlá podpora zařízení http://www.mathworks.com/ products/daq/supportedio.html Možnosti ovládání příkazy z příkazové řádky MATLABu GUI interface v MATLABu bloky v Simulinku
Signal Processing Toolbox Široký rozsah operací pro signal processing návrh filtrů a filtrace signálů diskrétní i analogové filtry typu FIR a IIR lineární transformace systémů reprezentace systému jako přenos, stavový model, … okna spektrální analýza transformace Fourierova, Hilbertova, … statistické zpracování signálu korelace, kovariance, …
Signal Processing Toolbox parametrické modelování autoregresivní modelování frekvenční odezva filtrů lineární predikce výpočet koeficientů multirate zpracování signálů tvorba signálů periodické i aperiodické Funkce jsou převážně m-file lze měnit, přidávat vlastní kód, … Příkazy příkazové řádky nebo GUI
Filter Design Toolbox Rozšiřuje Signal Processing Toolbox Pokročilý návrh, simulace a analýza filtrů rozšíření návrhu FIR a IIR filtrů adaptivní filtry 30 různých algoritmů multirate filtry + Fixed Point Toolbox rozšíření o návrh fixed-point filtrů + Filter Design HDL Coder genetování VHDL a Verilog kódu pro fixed-point filtry
Signal Processing Blockset Simulace algoritmů pro zpracování signálů filtrace návrh digitálních a analogových filtrů adaptivní filtry transformace Fourierova, cosinová, … statistika střední hodnota, rozptyl, korelace, histogram spektrální odhad Přináší Frame-based zpracování do Simulinku + Real-Time Workshop automatické generování C kódu
Image Acquizition Toolbox Připojení HW pro získávání obrazu web kamery framegrabbery Rozsáhlá podpora zařízení http://www.mathworks.com/products/ imaq/supportedio.html Možnosti ovládání příkazy z příkazové řádky MATLABu GUI interface v MATLABu blok v Simulinku
Image Processing Toolbox Soubor funkcí pro zpracování obrazu prostorové transformace změna velikosti, rotace obecné transformace zdané maticí lineární filtrace a návrh filtrů 2D filtry frekvenční transformace Fourierova, cosinová, … morfologické operace dilatace, eroze analýza a zlepšení obrázků informace o pixelech, histogram detekce okraje objektů, hran zlepšení intenzity, odstranění šumu
Image Processing Toolbox deblurring barvy redukce barev konverze mezi barevnými prostory RGB, indexová, šedá škála, černo-bílá HSV, YIQ, YCbCr čtení a zápis DICOM souborů Funkce jsou většinou m-file lze je zobrazit i editovat Funkce příkazové řádky GUI sada modulárních nástrojů pro základní operace Sekvence obrázků - video
Video and Image Processing Blockset Zpracování obrazu v Simulinku Vnáší čas do práce s obrázky video Knihovny bloků vstup a zobrazení videa filtrace geometrické a frekvenční transformace morfologické operace statistické funkce analýza a vylepšení obrazu + Image Acquisition Toolbox zpracování živého videa + Real-Time Workshop automatické generování embedded C kódu
Aplikace v reálném čase Testování algoritmů ve spojení s reálnými systémy (HIL simulace) Tři úrovně Real-Time Aplikací Přímo v Simulinku (bez RTW) Real-Time Toolbox Pod Windows na PC Real-Time Windows Target Na jiné platformě xPC Target systémy dSPACE Automatické generování kódu pro aplikace v reálném čase Real-Time Workshop
Real-Time Toolbox Propojení Simulinku s okolním světem v reálném čase založen na výkonném jádře reálného času knihovna bloků umožňuje práci v reálném čase bez nutnosti použití dalších nástrojů práce s externími analogovými a digitálními signály podpora více než 300 typů I/O karet vzorkovací frekvence až 1 kHz Není potřeba Real-Time Workshop
Real-Time Workshop Překlad modelů navržených v Simulinku a kódu z Embedded MATLABu do jazyka C napojení výpočetního prostředí MATLAB & Simulink na veličiny reálného světa univerzální zdrojový text bohaté komentáře optimalizace z hlediska rychlosti možnost překladu do spustitelného kódu pro různé platformy RTW Embedded Coder pro využití v embedded zařízeních optimalizace z hlediska velikosti širší možnosti nastavení kódu
Real-Time Windows Target Pro návrh a testování řídicích systémů spouštění modelů vytvořených v Simulinku samostatně na platformě MS-Windows XP, Vista v reálném čase začlenění digitálních i analogových I/O jednotek podpora více než 300 typů I/O karet DSP operace se vzorkovacím kmitočtem až 40 kHz spustitelný kód generován Real-Time Workshopem propojení se Simulinkem pro ladění parametrů bloků a zobrazení veličin v reálném čase vhodné pro HIL simulace
Www zdroje informací Internetové stránky MATLAB central 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/
Www zdroje informací Webové semináře (webinars) Školení 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ěhli, jsou ke stažení v angličtině (The MathWorks), češtině, slovenštině přehled připravovaných a archiv uskutečněných webových seminářů www.humusoft.cz/matlab/seminar.htm Š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 http://www.humusoft.cz/matlab/skoleni.htm
Www zdroje informací Knihy a publikace Konference MATLAB CZ/SK knihy a publikace využívající nebo popisující systém MATLAB/Simulink www.humusoft.cz/matlab/knihy.htm kompletní seznam knih a publikací využívajících nebo popisujících systém MATLAB/Simulink www.mathworks.com/support/books/ Konference MATLAB příspěvky uživatelů o využití systému MATLAB/Simulink v praxi www.humusoft.cz/akce/matlab07 Diskuzní skupiny Česká a slovenská skupina uživatelů MATLABu (CSMUG) www.humusoft.cz/matlab/csmugcz.htm
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 info@humusoft.cz
www.humusoft.cz bittner@humusoft.cz www.comsol.com COMSOL Multiphysics www.humusoft.cz bittner@humusoft.cz www.comsol.com
COMSOL Multiphysics
COMSOL Multiphysics COMSOL Script COMSOL Multiphysics MATLAB Material Library Optimization Lab Signals & Systems Lab CATIA V4, V5 Pro/E Autodesk Inventor VDA-FS SolidWorks CAD Import Module Chemical Engineering Module Structural Mechanics Module RF Module AC/DC Module Acoustics Module MEMS Module Earth Science Heat Transfer Module Reaction Engineering Lab
COMSOL Script Samostatné programovací prostředí rozšiřuje možnosti COMSOL Multiphysics používá vlastní interpret umožňuje tvorbu samostatných aplikací Uživatelské funkce, práce s M-soubory, kompatibilita s MATLABem obsahuje kolem 500 funkcí Maticové operace, lineární algebra, zpracování dat Frekvenční analýza, řešení ODE Funkce pro tvorbu grafických objektů (COMSOL Multiphysics) Nadstavbové moduly COMSOL Scriptu Optimization Lab Signals & Systems Lab COMSOL Reaction Engineering Lab
COMSOL Multiphysics Pracovní postup volba jednoho nebo více aplikačních režimů (PDE) vytvoření geometrického modelu zadání fyzikálních veličin (subdomény, okrajové podmínky) generování FEM sítě řešní úlohy postprocesor (následné zpracování) komunikace s MATLABem nebo s COMSOL Scriptem optimalizce úloh
COMSOL Multiphysics Structural Mechanics Module - aplikace založené na: Plane strain, plane stress Mindlinovské desky Solid, Stress-Strain Skořepiny 2D, 3D Eulerovy nosníky 2D, 3D přhradové konstrukce Piezoelektrické vlivy Tepelné zatížení konstrukce Solid, Stress-Strain s přestupem tepla vedením Skořepiny s přestupem tepla vedením Fluid Structure Interaction
COMSOL Multiphysics Structural Mechanics Module – pokračování Typy analýzy: Statická (v čase konstatntní stavy) Zjišťování netlumených vlastních frekvencí (volné vibrace) Tlumené vlastní frekvence Přechodové stavy (úlohy závislé na čase) Frekvenční odezvy (ustálená odezva na harmonické zatížení) Kvazistatická analýza (zanedbání vlivu hmoty, časové měřítko je dlouhé) Parametrická analýza Velké deformace (Greenova věta, 2. Piola-Kirchhoff napětí), pouze v modelu kontinua Lineární vzpěr (ztužující vliv napjatosti z nelineárních vztahů pro deformaci), pouze v modelu kontinua Elastoplastická analýza (izotropní a kinematické zpevňování) Únavová analýza (proporcionální zatížení s konstantní a proměnnou amplitudou, neproporcionální zatížení s konstantní amplitudou), nutno Script nebo MATLAB
COMSOL Multiphysics Prattův most z příhradových nosníků kombinace 3D příhradové konstrukce a zatížení konstrukce (skořepina) Zatížení konstrukce vlastní tíhou Zatížení konstrukce statickým zatížením (stojící auto s přívěsem) Analýza vlastních frekvencí, frekvenční módy
COMSOL Multiphysics Zatížení háčku na úložné skříňce automobilu Nelineární analýza (díky interakci mezi háčkem a zarážkou, elesto-plastické oblast pro háček, nelinearity v geometrii díky velkým deformacím) Znalost síly pro posuv háčku: F = 2*sqrt(Fx^2+Fy^2+Fz^2) Posuv ve směru osy x: -Displ_max*((para<=1)*para+(para>1)*(2-para)) Parametrický řešič v rozsahu parametru: 0 0.2:0.1:2 Scaling počítaných proměnných a parametrů (velké rozdíly v hodnotách)
COMSOL Multiphysics A0 A Gumové těsnění dveří automobilu Hyperplastický materiál, výpočet velkých deformací Obecně výpočet z deformační energie: Neo Hookův zákon Mooney Rivlin A0 C - Cauchy – Green tenzor k - modul objemové pružnosti Jel - změna objemu vlivem tepla Adiabatické stlační vzduchu: A
COMSOL Multiphysics Šíření zvuku v interiéru automobilu Bodový zdroj zvuku v interiéru automobilu (ve tvaru kostky), měřeno ve druhém bodě Frekvence v rozsahu 490 – 500 Hz pro 11 hodnot
COMSOL Multiphysics Požadavky na HW Unix Windows 2000, Windows XP, Windows XP Professional x64 Edition, Windows Vista (32 a 64 bit) Pentium III nebo novější (AMD Opteron, AMD Athlon 64, Pentium 4 s EM64T, nebo Xeon s EM64T) OpenGL 1.1 Microsoft nebo akcelerátor podporující OpenGL 1.1, nebo Direct X verze 8.0 nebo pozdější. Grafická karta min. 32 MB paměti. Pro práci s MATLABem verze 7.0, 7.0.1, 7.0.4, 7.1, 2006a/b, 2007a/b minimální doporužená RAM 1 GB Unix Solaris 8,9,10 (UltraSPARC II nebo pozdější) Linux (AMD Opteron, AMD Athlon 64, EM64T, Itanium 2) Debian 3.0, RedHat Enterprise 4, Fedora Core 5, SUSE 9.0, 9.3, 10.1 64-bit: SUSE 9.0, 9.3 10.1, RedHat Enterprise 4 (AMD64/Intel EM64T) MAC, PowerPC G4 nebo PowerPC G5, Intel processor
Www zdroje informací Galerie příkladů Internetové stránky www.humusoft.cz domovská stránka firmy Humusoft s.r.o. www.comsol.com domovská stránka firmy COMSOL AB. Workshops and Events - COMSOL Plánované semináře a školení pořádané firmou COMSOL v Evropě a v Americe www.comsol.eu/training/ Technická podpora – COMSOL www.comsol.eu/support/ Galerie příkladů www.comsol.eu/showroom/
Děkuji za pozornost. Karel Bittner bittner@humusoft.cz