Matlab 6.1 Aplikovaná matematika Výpočtové prostředí Matlab patří mezi programové prostředky, s nimiž se v současnosti setká v podstatě každý student technicky zaměřené vysoké školy. Univerzitní půda představuje však pouze jedno z možných využití tohoto univerzálního systému. Vzhledem k rozsáhlosti Matlabu a faktu, že jsme se mu v Chipu zatím příliš často nevěnovali, rozhodl jsem se tuto recenzi rozdělit do dvou dílů. První část bude věnována obecnému popisu celého programového balíku, druhá již bude zaměřena konkrétně na aktuální verzi 6.1 Filozofie systému Motto "Matlab - The Language of Technical Computing", jež se jako nit vine celým produktem, již samo o sobě mnohé dává tušit. Na Matlab se totiž nelze dívat jako na klasický program typu tabulkového či textového editoru, ale jako na komplexní systém s rozsáhlými možnostmi rozšiřování. Základ balíku je tvořen samotným Matlabem, obsahujícím výpočetní jádro pro numerické výpočty, jehož služeb využívají rozšiřující moduly - tzv. toolboxy. Právě modulární koncepci systém do jisté míry vděčí za svůj úspěch. Výrobce programu - americká společnost MathWorks - vsadil na osvědčenou kartu: aktivitu vývojářů třetích stran. Díky tomu vznikly desítky profesionálních toolboxů pro nejrůznější profesní zaměření - namátkou jmenujme například návrh CDMA sítí, řídicích systémů či DSP procesorů. Matlab Základem celého systému je tedy již zmiňovaný Matlab. Tento název nebyl zvolen náhodou, vznikl zkratkou slov MATrix LABoratory. Elementárním datovým objektem programu je totiž matice - ta však může v pojetí Matlabu reprezentovat kromě dat i funkci komplexní proměnné či systém v jeho různých matematických reprezentacích. S daty lze provádět nejrůznější matematické operace, jež jsou založeny na algoritmech numerické matematiky. Matlab lze také využít ke sběru dat - buď importem již naměřených vzorků, nebo přímým sběrem z měřicí karty. Zpracovaná data lze díky výkonnému grafickému jádru prezentovat v grafické podobě ve formě nejrůznějších 2D a 3D grafů. Během několika sekund tak lze v Matlabu provést například FFT analýzu nasnímaného signálu a z grafické podoby spektra vyvodit příslušné závěry. Co by to však bylo za vývojové prostředí, kdyby vedle interaktivního způsobu práce neumožňovalo tvorbu programů? Z tohoto důvodu lze v Matlabu vytvářet tzv. M-funkce, v nichž můžeme využívat veškeré schopnosti systému. Takto vytvořené programy můžeme následně zkompilovat do jazyka C a pro slinkování s knihovnami Matlabu distribuovat koncovým uživatelům. Ti tak mohou poznat výhody tohoto výpočetního prostředí bez nutnosti jeho nákupu. Toolboxy Samotný Matlab však představuje pouze špičku ledovce. Právě pod hladinou se ukrývá to, co Matlab proslavilo nejvíce - toolboxy. Čestné místo si mezi nimi vydobyl především Simulink, jemuž se v poslední době stává silným partnerem toolbox Stateflow. Jak už se dá odtušit z názvu prvního z nich, je určen pro simulaci: v tomto případě spojitých a diskrétních systémů. Stateflow tuto nabídku doplňuje o událostmi řízené systémy, při jejichž modelování využívá teorii konečných automatů. Práce v obou z nich je odlišná od "programátorsky" orientovaného Matlabu - uživatel si vytváří model systému vizuálně, přetahováním jednotlivých předem připravených komponent systému na pracovní plochu. Tyto součásti pak podle struktury žádaného systému pospojuje, doplní o případný generátor vstupního signálu a komponentu pro grafickou prezentaci výstupu a zahájí simulaci. Díky vizuálnímu přístupu tak zvládne tvorbu modelu po krátké instruktáži i člověk, který o problematice modelování nemá žádné odborné znalosti. To na druhou stranu někdy svádí k bezmyšlenkovité tvorbě modelů bez znalosti jejich matematického pozadí - což však už samozřejmě není chyba Matlabu. Díky modulární koncepci jsou na bázi Simulinku založeny další toolboxy - třeba již zmiňovaný nástroj pro návrh struktury mobilních sítí. Zajímavé možnosti představuje kombinace toolboxů Stateflow a Simulink. Díky jejich spojení lze spojitý model řízeného systému vytvořený v Simulinku doplnit o řídicí logiku navrženou ve Stateflow a celý takto navržený systém podrobit simulačnímu experimentu. Osobní zkušenosti S Matlabem jsem se poprvé setkal v prvním ročníku svého studia na technice a musím přiznat, že mne na první pohled nezaujal. Strohé okno s příkazovým řádkem mne - jakožto člověka zvyklého na grafické vymoženosti Windows - neoslnilo. První dojem však klame, za touto pro někoho nepřívětivou slupkou se skrývá velice mocný nástroj. V prvních letech studia jsem ocenil jeho vizualizační schopnosti (kdo už někdy potřeboval sestrojit graf složitější funkce dvou proměnných, ten ví, o čem mluvím), později jsem jej upotřebil při práci s polynomy a integrálními transformacemi. Modelování dynamických systémů získalo díky Simulinku zcela nový rozměr a ušetřilo mi mnoho času při experimentování na analogových počítačích v laboratoři. Přínos Matlabu pro výuku technicky zaměřených systémů je nesporný, student si pod mnohdy nezáživnými pojmy díky Matlabu dokáže představit konečně něco praktického. Podpora U tak rozsáhlého produktu, jakým Matlab bezesporu je, je více než kde jinde důležitá podpora uživatelů. Český distributor - společnost Humusoft - je v tomto případě zářným příkladem toho, jak by měla vypadat spolupráce distributora s koncovými uživateli. Již několik let je v Praze pořádána konference, na níž jsou prezentovány příklady úspěšného nasazení Matlabu v praxi. V jeden den je tak možné spatřit aplikace systému v nejrůznějších odvětvích lidské činnosti, od regulace přes ekologii až k vědeckým experimentům. Osobně jsem se zúčastnil loňského setkání uživatelů a musím přiznat, že jeho atmosféra pohltí i člověka, jenž do skupiny skalních příznivců Matlabu rozhodně nepatří. Dalším zdrojem informací pro uživatele v Čechách je diskusní skupina, na jejíž správě se podílí Humusoft ve spolupráci s Ústavem výpočetní a řídicí techniky VŠCHT v Praze. Příště Ve druhé části článku se budeme věnovat již slibovaným přínosům poslední verze pro platformu Windows i Unix. Na své si tedy přijdou hlavně uživatelé, kteří již s Matlabem pracují. Pokud vás tento systém zaujal, pak vám doporučuji prohlídku Chip CD 10/01, kde naleznete vedle obrázků recenzované verze i krátké videosekvence a informační materiály ve formátu PDF. Petr Vostrý