10/7/2013
1
Informatyka
Małgorzata Kotulska
D1 – pok. 115
Konsultacje: wtorek 9-11, piątek 9-11
(proszę o wcześniejszego emaila)
Materiały do wykładu na mojej stronie:
http://www.ibp.pwr.wroc.pl/KotulskaLab/
Zakładka: For_Students
MATLAB
http://www.mathworks.com
Plan tematów1. Wprowadzenie do środowiska Matlab. Podstawowe typy
danych. Ogólne zasady programowania w Matlabie. Wybrane funkcje własne Matlaba.
2. Instrukcje. Skrypty i funkcje. Operacje na plikach.
3. Grafika w Matlabie. Graficzny interfejs użytkownika (GUI).
4. Dopasowanie krzywej. Złożone typy danych. Łańcuchy.
5. Podstawy analizy sygnałów. Proste problemy algebry liniowej i obliczenia numeryczne.
6. Rachunek różniczkowy i całkowy w Matlabie
7. Programowanie obiektowe w Matlabie oraz Test-termin 1
8. Programowanie obiektowe w Matlabie oraz Test-termin 2
Zasady zaliczeniaWykład
• Wykład kończy się godzinnym testem. Należy uzyskać powyżej 50%Progi punktowe oceny końcowej:
>50% - 3,0
>60% - 3,5
>70% - 4,0
>80% - 4,5
>90% - 5,0
• Test ma tylko 1 termin poprawkowy.
• Do 10% punktów można dodatkowo uzyskać za 2 losowo sprawdzone obecności
Literatura1. B. Mrozek, Z. Mrozek. MATLAB i Simulink.
Poradnik użytkownika. Wydanie III. Helion 2010.
2. J. Brzózka, L. Dorobczyński, „Programowanie w Matlabie”, Mikom, Warszawa 1998.
3. R. Pratap. MATLAB 7 dla naukowców i inżynierów. PWN 2010
4. MATLAB Documentation Centerhttp://www.mathworks.com/help/matlab/
5. A. Zalewski, R. Cegieła, „Obliczenia numeryczne i ich zastosowania”, Nakom 1997.
Wykład 145 min.
• Historia i własności języka Matlab
• Ogólne zasady programowania w
Matlabie
• Operacje macierzowe, wektorowe
10/7/2013
2
CZYM JEST MATLAB?
1. Matlab to pakiet przeznaczony do wykonywania
obliczeń numerycznych oraz graficznej
prezentacji wyników.
2. Interpreter skryptowy (możliwość kompilacji)
3. Dostępny jest na różnych platformach
sprzętowych oraz systemowych (np.. Windows,
Macintosh).
4. Podstawową strukturą danych w Matlabie jest
macierz.
Jak powstawał Matlab• Lata 70 – Univ. New Mexico (USA) – biblioteki numeryczne w
Fortranie LINPACK, EISPACK, ...
• 1980 Cleve Moler, MATrix LABoratory (za pomocą Fortranu), wspomaganie zajęć z algebry
• 1984 – nowa edycja (na bazie C), Math Works Inc., Matlab 3.0, ulepszony interpreter, grafika
• 1992 – Matlab 4.0, system pod Windows, animacje, GUI, macierze rzadkie
• 1997 – Matlab 5.0, programowanie obiektowe, macierze wielowymiarowe, hipertekstowy HELP, nowe narzędzia ODE
• 2000 – Matlab 6.0, interfejs oparty na Javie, współpraca z Javą, PDE
• 2013 – Najnowsza wersja: R2012B
Kiedy Matlab ?1. Interaktywny język wysokiego poziomu. Przejrzysty
kod.
2. System do obliczeń numerycznych
operuje na tablicach (macierzach) danych
3. Optymalizacja czasochłonnych operacji tablicowych
4. Język skryptowy – interpretowany (możliwość kompilacji). Bogate (darmowe) biblioteki – otwarty
kod, dowolny system operacyjny).
5. Możliwość łączenia z funkcjami w C/C++, klasy Javy
Grafika
Własne programy łatwo
zaopatrzyć w interaktywny
interfejs graficzny
Simulink (alternatywa do LabView)
10/7/2013
3
Najważniejsze zastosowania Matlaba –wybrane toolboxy”
• BIOINFORMATICS
• SIMBIO
• STATISTICS
• SIGNAL PROCESSING
• IMAGE PROCESSING
• NEURAL NETWORK
• FILTER DESIGN
• OPTIMIZATION
• PARTIAL DIFFERENTIAL EQUATION
Matlab w modelowaniu biomedycznymPotencjał czynnościowy serca
Darmowe zamienniki MATLABa (licencja GPL)
Matlab cena: $2450 (lic. komercyjna) / ok. $90 (student)
• Scilab http://www.scilab.org/
• FreeMat http://freemat.sourceforge.net
• GNU Octave http://www.gnu.org/software/octave/
• R http://www.r-project.org/ podobny do Matlaba
pakiet statystyczny
PRACA Z PAKIETEM MATLAB• W trybie bezpośrednim – typowy tryb roboczy,
umożliwiający prowadzenie dialogu pomiędzy użytkownikiem a pakietem na zasadzie: pytanie-odpowiedź. Użytkownik wpisuje polecenia bezpośrednio do okna poleceń
• W trybie pośrednim – umożliwiającym szybkie i efektywne wykonanie obliczeń i prezentację wyników za pomocą uruchomienia programu napisanego w języku pakietu Matlab, czyli tzw. Skryptu (zwanego również m-plikiem, np. moj_skrypt.m).
>> moj_skrypt <ENTER>(możliwe też wywołanie skryptu/funkcji poza Matlabem)
Środowisko pracy – okno poleceńPOLECENIA
• Po wydaniu polecenia i naciśnięciu klawisza Enter Matlab natychmiast wyświetla jego wynik.
• Umieszczenie po poleceniu średnika spowoduje wykonanie obliczeń, ale bez zwracania wyniku.
• Polecenie powinno się mieścić w jednym wierszu (lub ‘…’).
• Kilka poleceń w jednym wierszu oddzielamy od siebie przecinkami lub średnikami.
10/7/2013
4
POMOC SYSTEMOWA
Uzyskanie informacji o funkcjach Matlaba:
1. >>help nazwa_funkcji
2. Help Desk-podręcznik opracowany w
postaci stron HTML.
Help
LICZBY• Stałopozycyjne-z opcjonalnym użyciem znaku
+ lub – oraz kropki dziesiętnej;
• Zmiennopozycyjnej - z użyciem znaku e lub Epoprzedzającego wykładnik potęgi 10, np. 1e2=100;
• Do zapisu części urojonej liczb zespolonych używa się stałej i lub j.
• Zmiana precyzji wyświetlania: format long/short/rat(ułamki)
• UWAGA: Domyślnie Matlab traktuje wszystkie liczby jako zespolone (ostrożnie z pierwiastkowaniem)
ZMIENNE
� Nazwa zmiennej musi rozpoczynać się literą i może składać się z dowolnej liczby liter, cyfr i znaków podkreślenia.
� Pakiet Matlab nie wymaga deklarowania zmiennych ani określenia ich rozmiaru (można rezerwować pamięć w uzasadnionych wypadkach np. bardzo duże macierze).
� Aby sprawdzić wartość istniejącej już zmiennej, należy w wierszu poleceń wpisać jej nazwę. Np. >>A
� Matlab rozróżnia duże i małe litery.
� Standardowe polecenia pakietu pisane są zawsze małymi literami.
DEFINIOWANIE MACIERZY (WEKTORA)
�Elementy w wierszu macierzy muszą być oddzielane spacją lub przecinkami;
A=[1 3 4;3 4 5]; B=[1,2;7,8];
C=[3:7]; D=[2:0.1:15];
�Średnik lub znak nowego wiersza kończy wiersz macierzy i powoduje przejście do następnego;
�Cała lista elementów musi być ujęta w nawiasy kwadratowe.
ARYTMETYKA MACIERZOWA I TABLICOWA
o A+B
o A-B
o A*B, B*A
o C1=B/A, C2=A\B
o A^2=A*A
o A’
o A+B
o A-B
o A.*B=B.*A
o B./A=A.\B
o A.^2
o A’
10/7/2013
5
ODWOŁANIA DO FRAGMENTÓW MACIERZY
� x(j:k) – elementy wektora wierszowego x o
numerach od j do k
� A(i,:) – wszystkie elementy w wierszu i
macierzy A
� A(i,j:l)- wszystkie elementy w wierszu i
macierzy A o numerach od j do l
� A(i:k, j:l)-wszystkie elementy w kolumnach od
j do l wierszy od i do l
� A(x,j:l)-wszystkie elementy w kolumnach od j do
l w wierszach macierzy A o numerach
określonych przez elementy wektora x
� A(:,:) – cała dwuwymiarowa macierz A
� A(:)-cała macierz A w postaci wektora
kolumnowego.
Przeszukiwanie macierzy
>> A=[1 3 5; 4 6 7];
1. find (A>3)
2. A>3
A=[17,0,-9;30,-2,38]
A(A>1)
ans =
17
30
38
WYŚWIETLANIE MACIERZY I ICH ROZMIARÓW
� disp(A)-wyświetla zawartość macierzy A w oknie poleceń;
� size(A)- rozmiar dwuwymiarowej macierzy A (liczbę wierszy i kolumn) w postaci dwuelementowego wektora wierszowego;
� [n m]=size(A)-przypisuje zmiennej n liczbę wierszy, a zmiennej m liczbę kolumn;
� size(A,1)- liczba wierszy macierzy A;
� size(A,2)- liczba kolumn macierzy A;
� length(x)- długość wektora x lub dłuższy z
wymiarów macierzy.
10/7/2013
6
FUNKCJE MATLABA
• Wbudowane-część jądra pakietu, do których
użytkownicy nie mają dostępu (np.sqrt);
• Implementowane w m-plikach -
przechowywane w ogólnie dostępnych
plikach np. peaks, takie m-pliki
użytkownicy mogą tworzyć sami;
UWAGA: Matlab to język numeryczny !
Sinus ?
PODSTAWOWE FUNKCJE I STAŁE MATEMATYCZNE
Funkcja opis
sin(z), cos(z), tan(z), cot(z) Sinus, cosinus, tangens,
cotangens; argument funkcji
w radianach;
asin(z), acos(z), atan(z), acot(z) Funkcje cyklometryczne;
wynik w radianach;
sinh(z), cosh(z), tanh(z), coth(z) Funkcje hiperboliczne;
argument w radianach;
sqrt(z) Pierwiastek z ; z<0 – wynik
zespolony;
exp(z) ez
log(z) ln(z); z<0 – wynik
zespolony;
log2(z) log2z; z<0 – j.w.
abs(z) wartość bezwzględna lub
moduł liczby zespolonej;
angle(z) argument liczby zespolonej;
real(z), imag(z) część rzeczywista i urojona
liczby z
conj(z) liczba zespolona sprzężona;
ze
complex(x,y) utworzenie liczby zespolonej;
ceil(z) zaokrąglenie liczby w górę;
floor(z) zaokrąglenie liczby w dół;
fix(z) zaokrąglenie liczby dodatniej
w dół, ujemnej w górę;
round(z) zaokrąglenie do najbliższej
liczby całkowitej;
rem(x,y); mod(x,y) reszta z dzielenia x przez y;
sign(x) funkcja signum;
FUNKCJE OPERUJĄCE NA WEKTORACH
max(x) największy element wektora x;
min(x) najmniejszy element wektora x;
sum(x) sumę elementów wektora x;
prod(x) iloczyn elementów wektora x;
mean(x) średnia arytmetyczna
elementów wektora x;
length(x) długość wektora
10/7/2013
7
STAŁE MATEMATYCZNE
stałe opis
pi przybliżenie wartości
eps względna dokładność zmiennoprzecinkowa;
i lub j pierwiastek z liczby –1;
Inf lub inf nieskończoność (ang. Infinity); jest rezultatem
operacji, która przekracza zakres arytmetyki
komputera, np.dzielenie przez 0;
NaN lub
nan
nie liczba; jest wynikiem matematycznie
niezdefiniowanych operacji;
π
ŚRODOWISKO MATLABA
• Okno poleceń. Funkcje obsługujące okno poleceń.
�
�lit
Powtórzenie ostatniego polecenia lub
ostatniego polecenia zaczynającego się od
„lit”
clc wyczyszczenie okna poleceń i umieszczenie kursora w jego lewym górnym
rogu;
home umieszczenie wiersza poleceń i kursora w
lewym górnym rogu okna poleceń;
Ctrl+C przerwanie obliczeń
echo on/echo off włącza/wyłącza wysyłanie na ekran
treści wykonywanych poleceń;
more on/more off włącza/wyłącza stronicowanie
tekstów wysyłanych na ekran;
diary plik polecenia i teksty (bez grafiki)
wysyłane na ekran będą zapisywane
w pliku o podanej nazwie;
diary off/on przełącznik funkcji diary
loose/compact zmiana interlinii w wyświetlanym
tekście
Top Related