MN 01
MN 01
MN 01
Wstp do Matlaba
Laboratorium, prowadzcy: mgr in. Baej Cichy
Rok akademicki 2010/2011
Cho przy funkcjach obsugi systemw plikw np.: delete oraz rmdir zalecana jest daleko idca
powcigliwo.
2
Pakiet Atlas co jest bardzo ciekawe to darmowy zestaw procedur numerycznych napisanych w
C dostpnych pod adresem: http://math-atlas.sourceforge.net/. Nie jest to jedyna darmowa biblioteka z
Wstp do Matlaba
2.1
Program Matlab posiada bardzo bogat dokumentacj z licznymi przykadami. Z pomocy moemy korzysta na dwa sposoby: za pomoc konsoli i polecenia help, bd z
interfejsu graficznego programu. Dokumentacja zostaa zgromadzone w opcji Help/Full
Product Family Help i jest to gwny zbir gdzie znajduj si informacje o toolboxach
i funkcjach w nich zgromadzonych. Po wybraniu tej opcji pokae si okno podobne do
okna z rysunku 1. Korzystanie z tej formy pomocy jest charakterystyczne dla aplikacji
okienkowych. Caa struktura pakietu Matlab jak wida na rysunku 1 zostaa przedstawiona w formie drzewa. Upraszcza to dostp do informacji o poszczeglnych toolboxach.
Podczas wyszukiwania informacji przydaj si zakadki Index zostay tam zgromadzone wszystkie sowa kluczowe. Wpisujc sowa system zawa list sw rozpoczynajcych
si od podanej przez nas frazy. Okno pomocy posiada te zakadk Favorites moemy
w niej umieszcza odniesienia do najbardziej interesujcych nas zagadnie. Wystarczy w
drzewie Contents wybra nam potrzebne zagadnienia i poprzez menu kontekstowe (prawy
przycisk myszy) wybra opcj Add to Favorites.
System pomocy Matlaba pozwala take na przeszukiwanie dokumentacji elektronicznej. Suy do tego zakadka Search w oknie pomocy. Moemy przeszukiwa dokumentacj
na kilka sposobw:
opcja Full Text przeszukuje tre dostpnych dokumentw pomocy
opcja Document Titles umoliwia przeszukiwanie wrd tytuw zgromadzonych
dokumentw
opcja Function Name szuka podanej frazy w bazie nazw funkcji dostpnych w
Matlabie
opcja Online Knownledge Base przeszukiwanie zasobw sieciowych
Oprcz wygodnego graficznego systemu pomocy Matlab oferuje take specjalne polecenie help. Wszelkie informacje jakie uzyskamy s wywietlane bezporednio w konsoli
jakiej korzysta Matlab innym jest zbir metod numerycznych napisanych w Fortranie o nazwie LAPACK
czy BLAS.
Wstp do Matlaba
2.2
cieki przeszukiwa
Istotn czynnoci jak warto wykona przed rozpoczciem pracy jest utworzenie nowego katalogu. W katalogu tym powinny znajdowa si pliki z jakimi bdziemy pracowa.
Aby zwikszy wygod pracy warto doczy wspomniany katalog do cieki przeszukiwa.
T czynno wykonujemy w oknie Set Path (Rysunek 2). Aby to zrobi naley wybra
opcj Set Path z menu File a nastpnie doda potrzebn ciek za pomoc przycisku Add
Folder... po czym zapisa zmiany przyciskiem Save. Pozwoli to korzysta z utworzonych
przez nas m-plikw identycznie jak z pozostaych funkcji programu Matlab.
ciek mona take doda poprzez polecenie addpath. Wystarczy np.: wyda nastpujce polecenie: addpath c:\mojepliki aby uzupeni ciek przeszukiwa o nowe
katalog. W Matlabie wiele rzeczy mona zrobi na rne sposoby. Now ciek mona dopisa take w nastpujcy sposb: path(path,c:\\mojepliki). Czasami przydaje si
informacja o tym w jakim katalogu zosta zainstalowany Matlab. T informacj uzyskamy
za pomoc polecenia: matlabroot.
3
4
http://www.mathworks.com/
http://www.mathworks.com/matlabcentral/
Wstp do Matlaba
2.3
Wstp do Matlaba
W powyszym skrypcie wystpuje jedno bardzo istotne polecenie: save. Za jego pomoc
mona zapisa ca przestrze robocz do pliku. Polecenie to przyjmuje cay szereg parametrw np.: save roboczy.mat zapisze workspace do pliku roboczy o rozszerzeniu mat.
Za wczytanie zapisanych danych jest odpowiedzialne polecenie load.
Podczas pracy z Matlabem nader czsto przydaje si historia wszystkich polece jakie s wydawane z poziomu konsoli. Sam Matlab w oknie History przechowuje historie wydanych polece. Mona te nakaza programowi umieszczanie wszystkich danych
wywietlanych na konsoli (nie tylko histori wydanych polece ale take ich wynikw)
poleceniem diary. Polecenie to przyjmuje za argument nazw pliku. Wydanie polecenia
diary moja_sesja.txt spowoduje, e w pliku moja sesja.txt bd zapisywane wszystkie
informacje jakie ukazuj si na ekranie konsoli. Wyczenie zapisu nastpuje po wydaniu
polecenia: diary off.
2.4
Wstp do Matlaba
Typ
logical
char
numeric
integer
int8
uint8
int16
uint16
int32
uint32
int64
uint64
float
single
double
cell
struct
function handle
class name
Krtki opis
Logical array of true and false values
Characters array
Integer or floating-point array
Signed or unsigned integer array
8-bit signed integer array
8-bit unsigned integer array
16-bit signed integer array
16-bit unsigned integer array
32-bit signed integer array
32-bit unsigned integer array
64-bit signed integer array
64-bit unsigned integer array
Single- or double-precision floating-point array
Single-precision floating-point array
Double-precision floating-point array
Cell array
Structure array
Function handle
Custom MATLAB object class or Java class
2.5
Standardowo wyniki obliczenia w Matlabie s wywietlane do piciu miejsc po przecinku. Odpowiada to poleceniu format short. Jest to tzw. format staoprzecinkowy. Zwikszenie dokadnoci do pitnastu miejsc po przecinku wymaga podania opcji long dla
polecenia format. Polecenie to pozwala na wywietlanie liczba w postaci szesnastkowej
(format hex) oraz w postaci uamkw format rat jednak tylko dla maych liczb.
Wiksza dokadno oblicze mona wymusi poprzez polecenie vpa np.:
vpa(pi, 1000) oblicza warto liczby do tysicznego miejsca po przecinku.
Cho po wpisaniu samej nazwy zmiennej Matlab wywietli warto jak jest w niej
przechowywana, w skryptach taki sposb wywietlania wartoci nie jest poprawny. Do
wywietlania wasnych komunikatw mona zastosowa kilka polece np.: disp, sprintf
lub fprintf.
Polecenie disp przyjmuje za argument wyraenie lub zmienn przeznaczon do wywietlenia, np.: disp(a). Dopuszczalnym argumentem jest cig znakw objty apostrofami, np.: disp( jakis tekst ). Gdy istnieje potrzeba wywietlenia kilku zmiennych to
naley stosowa operator konkatencji cigw znakw reprezentowany przez dwa nawiasy
kwadratowe [ oraz ]. Jednak naley w przypadku kadej wykona konwersj z wartoci
liczbowej na tekst za pomoc funkcji num2str (bd int2str):
Wstp do Matlaba
2.6
Tworzenie m-plikw
Wstp do Matlaba
Program Octave5 to darmowy odpowiednik programu Matlab. Cho nie jest on tak
bardzo rozbudowany jak Matlab to ma pewne zalety. Po pierwsze jest programem znacznie
mniejszym przez co nie wymaga duej iloci pamici RAM czy szybkiego procesora. Pracuje bardzo sprawnie na starszych komputerach. Posiada peny kod rdowy co pozwala
na pena modyfikacj tego pakietu i dopasowanie go do wasnych potrzeb.
Octave nie oferuje po instalacji tak duego zbioru funkcji jak Matlab ale z punktu
widzenia metod numerycznych obydwa pakiety oferuj podobne moliwoci. Przy czym w
rzeczywistoci spoeczno uytkownikw tego programu opracowaa wiele dodatkowych
toolboxw. Niestety dodatkowe funkcje wymagaj wicej wysiku w ich instalacje.
Pakiet Octave najlepiej funkcjonuje w systemie Unix w tym oczywicie take pod Linuxem. W nim te najatwiej instalowa dodatkowe pakiety. Wydajno pakietu wbrew
pozorom nie jest nisza ni Matlaba to z tego wzgldu, e wykorzystywane s te same
zbiory metod numerycznych zgromadzone w pakietach LAPACK, BLAS oraz Atlas. Co
wicej mog one dziaa nawet sprawniej poniewa Octave jest pozbawiony wielu dodatkw co niewtpliwie wpywa bardzo dobrze na jego szeroko pojt wydajno.
Sposb pracy z Octave jest identyczny jak z Matlabem. Dostpny jest tryb interaktywny, mona te tworzy m-pliki. Na stronie domowej tego projektu dostpna jest obszerna
dokumentacja.
Zadania
Program mona odszuka pod adresem http://www.octave.org. Jest on te dostpny w wielu dystrybucjach Linuxa np.: Fedora, Ubuntu, Debian.
Wstp do Matlaba
14. Utworzy plik finish.m z treci podan w poprzednich punktach i sprawdzi czy
istotnie blokuje on proces wyczanie programu?
15. Sprawdzi jak dziaaj polecenia save, load oraz diary.?
16. Polecenie save posiada moliwo zapisu wybranych zmiennych poda przykad jego
zastosowania.
17. Sprawdzi na czym polegaj rnice pomidzy poleceniami path oraz addpath.
18. Po co stosujemy polecenie rehash? Jakie inne argumenty mona zastosowa?
19. Napisa krtki skrypt (m-plik) ktry pokae wartoci minimalne i maksymalne dla
wszystkich podstawowych typw liczbowych.
20. Funkcje num2str oraz int2str wykonuj t sam operacj dokonuj konwersji liczby
na cig znakw. Rni si jednak istotnym detalem. Jakim?
Literatura
[1] Bjarck Ake i Dahlquist Germund. Metody numeryczne. PWN, Warszawa, 1987.
[2] Jerzy Brzzka i Lech Dorobczyski. Programowanie w MATLAB. Warszawa,
Wydanie I, 1998.
[3] Zenon Fortuna, Bohdan Macukow i Janusz Wsowski. Metody numeryczne. WNT,
Warszawa, 1995.
[4] Jerzy Klamka i in. Metody numeryczne. Politechnika lska, Gliwice, 1998.
[5] David Kincaid i Ward Cheney. Analiza numeryczna. WNT, Warszawa, 2006.
[6] Anna Kamiska i Beata Paczyk. Matlab. wiczenia z . . . , Przykady i zadania.
Warszawa, Wydanie I, 2002.
[7] Wanat Kazimierz. Algorytmy numeryczne. Helion, Gliwice, 1994.
[8] Bogumia Mrozek i Zbigniew Mrozek. MATLAB i Simulink. Poradnik uytkownika.
Wydanie II, 2004.
[9] Jurij Povstenko. Wprowadzenie do metod numerycznych. Akademicka Oficyna
Wydawnicza EXIT, Warszawa, Wydanie drugie poprawione i uzupenione, 2005.
[10] Rudra Pratap. MATLAB 7 dla naukowcw i inynierw. PWN, 2007.
[11] Wiesawa Regel. Wykresy i obiekty graficzne w MATLAB. Warszawa, Wydanie I,
2003.
[12] Marcin Stachurski. Metody numeryczne w programie Matlab. Warszawa, Wydanie I,
2003.