7
10/7/2013 1 Informatyka Malgorzata Kotulska D1 – pok. 115 [email protected] Konsultacje: wtorek 9-11, piątek 9-11 (proszę o wcześniejszego emaila) Materialy do wykladu na mojej stronie: http://www.ibp.pwr.wroc.pl/KotulskaLab/ Zakladka: For_Students MATLAB http://www.mathworks.com Plan tematów 1. Wprowadzenie do środowiska Matlab. Podstawowe typy danych. Ogólne zasady programowania w Matlabie. Wybrane funkcje wlasne Matlaba. 2. Instrukcje. Skrypty i funkcje. Operacje na plikach. 3. Grafika w Matlabie. Graficzny interfejs użytkownika (GUI). 4. Dopasowanie krzywej. Zlożone typy danych. Lańcuchy. 5. Podstawy analizy sygnalów. Proste problemy algebry liniowej i obliczenia numeryczne. 6. Rachunek różniczkowy i calkowy w Matlabie 7. Programowanie obiektowe w Matlabie oraz Test-termin 1 8. Programowanie obiektowe w Matlabie oraz Test-termin 2 Zasady zaliczenia Wyklad Wyklad 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 Literatura 1. 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 Center http://www.mathworks.com/help/matlab/ 5. A. Zalewski, R. Cegiela, „Obliczenia numeryczne i ich zastosowania”, Nakom 1997. Wyklad 1 45 min. Historia i wlasności języka Matlab Ogólne zasady programowania w Matlabie Operacje macierzowe, wektorowe

info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

10/7/2013

1

Informatyka

Małgorzata Kotulska

D1 – pok. 115

[email protected]

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

Page 2: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

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)

Page 3: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

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.

Page 4: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

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’

Page 5: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

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.

Page 6: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

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

Page 7: info1 [tryb zgodno ci]) - ibp.pwr.wroc.plibp.pwr.wroc.pl/KotulskaLab/forStudents/Informatyka INP2005/info1.pdf• 2013 – Najnowsza wersja: R2012B Kiedy Matlab ? 1. Interaktywny j

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