Matlab dla opornych.pdf

(281 KB) Pobierz
8161763 UNPDF
Matlabdlao(d)pornych
(wersjarobocza)
MaciejKrawiecki
12pa¹dziernika2003
Przedmowa
Wył¡cznymcelemprzy±wiecaj¡cymautorowibyłozebraniewmo»liwiekrót-
kimtek±cieopisówiprzykładówzastosowanianajniezb¦dniejszychpolece«
programuMatlabwtakimzakresie,wjakimjesttoniezb¦dnestudentom
odrabiaj¡cymLaboratoriumMetodNumerycznychwZakładzieTeoriiSte-
rowaniaInstytutuAutomatykiPolitechnikiŁódzkiej.Dlategowponi»szym
opracowaniuomówiononiewielkipodzbiórpolece«pakietuMatlab,astu-
dencizainteresowanipełnymimo»liwo±ciamiprogramulubjegorozszerze«,
powinniskorzysta¢zpodanejliteratury.Rozmy±lniepomini¦toopiswi¦kszo-
±cinajnowszychrozszerze«j¦zykaonowetypydanychczyoelementypro-
gramowaniaobiektowego.Nieomawianote»pakietówprocedur(toolboxów),
wszczególno±ciSimulink’a.Wrezultacie,zbardzoniewielkimiwyj¡tka-
mi,wszystkieporuszonezagadnieniaodnosz¡si¦zarównodowersji4.2b,jak
i5.X.Zasygnalizowanotak»eniektórezmiany,wprowadzonewwersji6.0.
Niniejszytekstjestwewczesnejfazierozwojowej,dlategoautorprosiczy-
telnikówowyrozumiało±¢isygnalizowaniewszelkichzauwa»onychpomyłek.
1
Rozdział1
Historiaiwspółczesno±¢
Matlab ’a
Pierwsz¡wersj¦programuMatlabnapisałok.1980r.wFORTRAN’ieprof.
CliveMoler,abyułatwi¢sobieobliczeniazdziedzinyalgebryliniowej.St¡d
wywodzisi¦nazwaprogramu„Matlab”,b¦d¡caakronimemsłówMatrix
Laboratory.Tapierwszawersjabyłainterpreteremj¦zykapolece«pozwala-
j¡cegozapisywa¢obliczenianawektorachimacierzachwformiezbli»onejdo
notacjimatematycznejidaj¡cymdost¦pdoprocedurnumerycznychzbiblio-
tekLINPACKorazEISPACK.Zainteresowanieipozytywnareakcjaw±ród
znajomych(prof.Molerrozdałkilkasetta±mzkodem¹ródłowym)orazroz-
powszechnieniekomputerówosobistych(PC)skłoniłyautoraMatlab’ado
komercjalizacjiprojektu:wrazzJohnemLittlezało»ylifirm¦MathWorksInc.
istworzyliPC–Matlabprzepisuj¡ckodprogramuwj¦zykuCorazwzbo-
gacaj¡cofunkcjegraficzne.Tenkrok(przeniesienieMatlab’anaplatfor-
m¦PC)byłprzypuszczalnienajwa»niejsz¡decyzj¡strategiczn¡,któradała
Matlab’owipierwszemiejscew±ródpakietówdooblicze«naukowo-tech-
nicznych.A»dowersji3.5Matlabbyłprogramempracuj¡cympodkon-
trol¡MS–DOSlubPC–DOS.Werja3.5przeniesionazostałado±rodowiska
WindowsinaMacintosh’a.Wersja4.0wprowadziłamacierzerzadkie(ang.
„sparse”),znacznerozszerzeniafunkcjigraficznych(tzw.HandleGraphics)
orazwersjenaplatformyunixowe.Obokrozpowszechnieniaspowodowanego
dost¦pno±ci¡naplatformyPCiMacintoshdosukcesuMatlab’aprzyczyni-
łasi¦politykalicencyjnapolegaj¡canaudzielaniuznacznychzni»ekwy»szym
uczelniom.Pozwoliłotowygra¢zinnymipodobnymipakietamijakCTRL–C
czyMatrix–X.Wersja5.0przyniosładalszeudoskonaleniefunkcjigraficznych
ibardzoznacznezmianyj¦zykapolegaj¡cenawprowadzeniunowychtypów
danychiprogramowaniaobiektowegozmo»liwo±ci¡przeci¡»aniaoperatorów
wł¡cznie.Przezlataliczbarozszerze«Matlab’awpostacipakietówfunkcji,
2
tzw.toolboxówstałasi¦takwielka,azakresichzastosowa«takszeroki,»e
niejestmo»liweomówienieichwszystkichwjednej,cho¢bybardzogrubej,
ksi¡»ce.Oferowaneprzezfirm¦MathWorksorazniezale»nychproducentów
toolboxyobejmuj¡specyficznezagadnieniateoriisterowania(kilkana±ciepa-
kietów),siecineuronowe,statystyk¦,obróbk¦obrazów,rozwi¡zywanierów-
na«ró»niczkowychcz¡stkowych,obliczeniachemiczne,obliczeniafinansowe
anawetobliczeniasymboliczne.Wwersji6.0zmienionote»proceduryobli-
czeniowenapochodz¡ceznajwi¦kszej(zreszt¡darmowej)bibliotekiprocedur
zdziedzinyalgebryliniowejLAPACK,adyskretneprzekształcenieFouriera
realizowanejestprzezbibliotek¦FFTW(tak»edost¦pn¡nieodpłatnie)–wre-
zultacieMatlabstajesi¦główniej¦zykiemprogramowaniai±rodowiskiem
obliczeniowym,awzakresiealgorytmównumerycznychkorzystaznajnow-
szych,sprawdzonychrozwi¡za«u»ywanychszerokow±rodowiskunaukowym.
Matlabjestprzytymdost¦pnynaplatformyodWindows,Linux(niestety
–jaknawszystkieinneplatformy–komercyjnie)poprzezwszelkiewarianty
UNIX’ajakHP–UX,IRIX,AIX,Solarisi.t.p.a»podu»emaszyny(mainfra-
me)jakCray(rozwójwersjidoMacintoshawstrzymanonanumerze5.2).
Istniej¡do±¢liczneprogramyna±laduj¡ceMatlab’a,nale»¡cedokatego-
riifreeware,naogółniecoró»ni¡cesi¦szczegółamiskładni 1 orazpozbawione
wi¦kszo±cifunkcjigraficznych.PrzykładytoScilab,Octave,RLab,Euler.
1 Wkonsekwencjiniemog¡korzysta¢ztoolboxów—nawettychdarmowych,chocia»np.
doOctavejestwieletoolboxóworaznarz¦dziapozwalaj¡cedokona¢konwersjiniektórych
(tychdarmowych)pakietówfunkcjiMatlab’a
3
Rozdział2
Filozofiakorzystania
z Matlab ’a
Matlab,przynajmniejpierwotnie,przeznaczonybyłdopracyinteraktyw-
nejnadzadaniaminumerycznejalgebryliniowej.Ztegowzgl¦dupodsta-
wowymelementemobsługiprogramujestkonsolatekstowazwanazwykle
oknempolece«(ang.„commandwindow”).Pracazprogramempolegana
wypisywaniupolece«zako«czonychznakiempowrotukaretki(„Enter”),któ-
res¡niezwłocznieinterpretowaneprzezprogram,awynikioblicze«wy±wie-
tlanewtymsamymoknie.Poleceniamog¡dotyczy¢tak»eotwarcianowych
okiendoprezentacjigraficznejwyników,anawetokienwyposa»onychwzna-
nyzWindowsgraficznyinterfejsu»ytkownika,jednakkonwersacjawtrybie
tekstowympozostajepodstawow¡form¡oblicze«.Najprostszymwariantem
takiejkonwersacjijestu»ycieMatlab’ajakopot¦»negokalkulatora–obok
znakuzach¦ty >> wpisujemywyra»enie,ko«cz¡cjeznakiemnowejlinii(„En-
ter”):
>>2+sin(5*pi/7)-exp(3)
ans=
-17.3037
>>
Sposóbprezentacjiwynikówmo»nazmieni¢poleceniem format .Naprzy-
kładnast¦puj¡casekwencjalikwidujedodatkowepusteliniewodpowiedzi
programu,orazzwi¦kszailo±¢wy±wietlanychcyfrułamkowych:
>>formatcompact
4
Zgłoś jeśli naruszono regulamin