Matlab pakiety1

background image

Pakiety

Matematyczne

Dr inż. Małgorzata

Kotulska

A5 – pok. 208, tel. 320 2897

E-mail: kotulska@pwr.wroc.pl

Konsultacje:

poniedziałek 14-15

30

Środa 11.30-13

background image

M A T L A B

M A T H E M A T IC A

M A P L E

M A T H C A D

IN N E ...

P a k ie ty M a te m a tyc z n e

Programowanie

symboliczne

Programowa

nie

numeryczne

SCILAB

inne

darmowe

background image

Maple

http://www.mathsoft.com/soft

ware/

background image

Mathematica

http://www.wolfram.com

background image

MATLAB (v. 7.0)

http://www.mathworks.co

m

background image

Literatura

1. B. Mrozek, Z. Mrozek, „Matlab 5.x, Simulink

2.x – poradnik użytkownika”, Wyd. PLJ

Warszawa.

2. J. Brzózka, L. Dorobczyński, „Programowanie

w Matlabie”, Mikom, Warszawa 1998.

3. A. Zalewski, R. Cegieła, „Obliczenia

numeryczne i ich zastosowania”, Nakom 1997.

4. D. Hanselman, B. Littliefield, „Mastering

Matlab 6, A

Comprehensive

Tutorial and

Reference, Prentice Hall, 2001.

5. D. J. Higham, N. J. Higham, „Matlab Guide,

SIAM, Philadelphia.

background image
background image

Scilab, Octave, i in. –

darmowe wersje

MATLAB’a

www.dspguru.com/sw/opendsp/mathclo
2.htm

background image

Jak powstawał Matlab

• Lata 70

– Univ. New Mexico (USA),

Cleve Moler,

MAT

rix

LAB

oratory (za pomocą

Fortranu), wspomaganie zajęć z algebry

• 1984 –

nowa edycja (na bazie C)

• 1987

– 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, współpraca z Javą, PDE

background image

CZYM JEST MATLAB?

CZYM JEST MATLAB?

 Matlab to pakiet przeznaczony do

wykonywania obliczeń numerycznych
oraz graficznej prezentacji wyników.

 Interpreter skryptowy.
 Dostępny jest na różnych platformach

sprzętowych oraz systemowych (np..
Windows, Macintosh).

 Podstawową strukturą danych w

Matlabie jest macierz.

background image

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 poprzez jęz. C).
Bogate (darmowe) biblioteki –
otwarty kod, dowolny system
operacyjny).

5. Możliwość łączenia z funkcjami

w C/C++, klasy Javy

background image

Najważniejsze

zastosowania Matlaba –

„toolboxy”

• BIOINFORMATICS
• SIMBIO
• STATISTICS
• SIGNAL PROCESSING
• IMAGE PROCESSING
• NEURAL NETWORK
• FILTER DESIGN
• OPTIMIZATION
• PARTIAL DIFFERENTIAL EQUATION

background image

Najważniejsze

zastosowania Matlaba –

„toolboxy”

• CHEMOMETRICS
• COMMUNICATIONS
• CONTROL SYSTEM

• FINANCIAL

• FREQUENCY DOMAIN SYSTEM

IDENTIFICATION

• FUZZY LOGIC

background image

Najważniejsze

zastosowania Matlaba –

„toolboxy”

• HIGHER-ORDER SPECTRAL ANALYSIS

• IMAGE PROCESSING

• LINEAR MATRIX INEQUALITY CONTROL
• MAPPING
• MODEL PREDICTIVE CONTROL
 -ANALYSIS and SYNTHESIS
• NAG FOUNDATION

background image

Najważniejsze

zastosowania Matlaba –

„toolboxy”

• SPLINE
• SYMBOLIC MATH, EXTENDED SYMBOLIC

MATH

• SYSTEM IDENTIFICATION

• WAVELET

• QFT CONTROL DESIGN
• REAL-TIME WORKSHOP
• ROBUST CONTROL

background image

Środowisko pracy – okno

poleceń

background image

Simulink

background image

PRACA Z PAKIETEM MATLAB

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>

background image

POLECENIA

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.

 Kilka poleceń w jednym wierszu oddzielamy od

siebie przecinkami lub średnikami.

background image

Matlab (interpreter) jako

kalkulator

background image

Charakterystyka M-plików

Skrypty
• Nie posiadają

argumentów
wejściowych, ani
wyjściowych

• Operują na danych w

przestrzeni roboczej

• Wygodne, kiedy często

należy wykonać
sekwencję tych samych
poleceń

Funkcje
• Mogą posiadać

argumenty wejściowe
i wyjściowe

• Wewnętrzne zmienne

są lokalne dla funkcji

• Wygodne do

rozszerzenia
MATLABA o własne
aplikacje

background image

M-pliki

background image

Edytor Matlaba

background image

Matlab - język

numeryczny

background image

POMOC SYSTEMOWA

POMOC SYSTEMOWA

Uzyskanie informacji o funkcjach

Matlaba:

1. >>help

nazwa_funkcji

2. Help Desk-podręcznik opracowany

w postaci stron HTML.

background image

Help

background image

LICZBY

LICZBY

 Stałopozycyjne-z opcjonalnym użyciem znaku

+ lub – oraz kropki dziesiętnej;

 Zmiennopozycyjnej - z użyciem znaku e lub E

poprzedzającego wykładnik potęgi 10, np.

1e2=100;

 Do zapisu części urojonej liczb zespolonych używa

się stałej i lub j.

UWAGA

: Domyślnie Matlab traktuje wszystkie liczby

jako zespolone (ostrożnie z pierwiastkowaniem)

background image

ZMIENNE

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,

w uzasadnionych wypadkach - b. 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.

background image

Deklaracja zmiennych

background image

DEFINIOWANIE MACIERZY

DEFINIOWANIE MACIERZY

(WEKTORA)

(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.

background image
background image

ODWOŁANIA DO FRAGMENTÓW

ODWOŁANIA DO FRAGMENTÓW

MACIERZY

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

background image

 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.

background image

Przeszukiwanie macierzy

>> A=[1 3 5; 4 6 7];

1. find (A>3)

2. A>3

background image
background image

 

A=[17,0,-9;30,-2,38]

 

A(A>1)

 

ans =

17

30

38

background image

WYŚWIETLANIE MACIERZY I ICH

WYŚWIETLANIE MACIERZY I ICH

ROZMIARÓW

ROZMIARÓW

 disp(A)-wyświetla zawartość macierzy A w

oknie poleceń;

 size(A)-wyświetla 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;

background image

n=size(A,1)-przypisuje zmiennej n

liczbę wierszy macierzy A;

m=size(A,2)-przypisuje zmiennej m

liczbę kolumn macierzy A;

length(x)-zwraca długość wektora x lub

dłuższy z wymiarów macierzy.

background image

ARYTMETYKA MACIERZOWA I

ARYTMETYKA MACIERZOWA I

TABLICOWA

TABLICOWA

 A+B
 A-B
 A*B, B*A
 C1=B/A, C2=A\B
 A^2=A*A
 A’

 A+B
 A-B
 A.*B=B.*A
 B./A=A.\B
 A.^2
 A’

background image

Wektory i macierze - podstawowy typ zmiennych

Matlaba

background image

FUNKCJE GENERUJĄCE I

FUNKCJE GENERUJĄCE I

PRZEKSZTAŁCAJĄCE MACIERZE

PRZEKSZTAŁCAJĄCE MACIERZE

 eye(n)-tworzy macierz jednostkową nxn;
 ones(n)-tworzy macierz nxn o

elementach równych 1;

 zeros(n)-macierz zerowa nxn;
 rand(n)-macierz nxn wypełniona

liczbami pseudolosowymi z przedziału

<0,1> o rozkładzie jednostajnym;

randn(n)-macierz nxn wypełniona

liczbami pseudolosowymi o rozkładzie

normalnym ze średnią 0 i wariancją 1.

background image

 A=diag(x)-macierz przekątniowa A ze

składnikami wektora x na głównej

przekątnej;

 x=diag(A)-utworzenie wektora x z

elementów znajdujących się na głównej

przekątnej macierzy A;

 inv(A)-utworzenie macierzy odwrotnej do

A;

 repmat(A,n,m)-utworzenie macierzy przez

powielenie podmacierzy A m razy w

poziomie i n razy w pionie;

background image

 reshape(A,n,m)-utworzenie macierzy o n

wierszach i m kolumnach z elementów

branych kolejno kolumnami z macierzy A;

 rot90(A)-obrócenie macierzy A o 90 stopni

w kierunku przeciwnym do wskazówek

zegara;

 tril(A)-utworzenie z macierzy A macierzy

trójkątnej dolnej;

 triu(A)- utworzenie z macierzy A macierzy

trójkątnej górnej.

background image

 

size(A)

ans =

2 2

length(A)

ans =

2

Zmiana kształtu macierzy

 

C=reshape(A,2,3)

 

C =

1 2 0

3 4 6

background image

Funkcje logiczne służąc do badania

własności całych macierzy

exist('nazwa')

isempty(X)

issparce(X)

isstr(X)

isglobal(X)

background image

Funkcje logiczne badające własności

elementów macierzy

 

any(X) –

czy którykolwiek element niezerowy?

all(X)

– czy wszystkie niezerowe

isinf(X)

finite(X)

 

I=find(X)

background image

MACIERZE WIELOWYMIAROWE

MACIERZE WIELOWYMIAROWE

 Matlab dopuszcza definiowanie macierzy

wielowymiarowych. Odwoływanie się do

elementów takich macierzy wymaga liczby

indeksów większej niż 2.

 Pierwszy indeks-wiersz macierzy (wymiar

1);

 Drugi indeks-kolumna macierzy (wymiar 2);
 Trzeci indeks-strona macierzy (wymiar 3)
 Czwarty indeks-książka macierzy (wym. 4);
 Piąty indeks-tom macierzy (wym.5);
 itd.;

background image

METODY TWORZENIA TABLIC

METODY TWORZENIA TABLIC

WIELOWYMIAROWYCH

WIELOWYMIAROWYCH

1) przez indeksowanie;
2) przez zastosowanie funkcji (ones, zeros,

randn, repmat-tworzy tablice

wielowymiarową wypełnioną jednakowymi

wartościami);

3) przez zastosowanie funkcji cat

(konkatenacja, scalanie tablic);

4) cat(dim,A,B) scala dwie macierze A i B

zgodnie z podanym wymiarem dim;

5) cat(2,A,B) oznacza to samo co [A, B];
6) cat(1,A,B) oznacza to samo co [A; B];
7) B=cat(dim,A,B,C,...) scala macierze A, B,C,...

zgodnie z podanym wymiarem dim;

background image

PRZYKŁAD

PRZYKŁAD

• Na rysunku widoczna jest

macierz trójwymiarowa o

rozmiarze 2x3x2 (2

wiersze i 3 kolumny na

każdej stronie, 2 strony);

• >>D(:,:,1)=[1 3 0; 5 7 2]
% str.1;
• >>D(:,:,2)=[4 7 8; 1 0 5]
• % str.2;

str

on

y

wiersze

k

o

lu

m

n

y

background image

TYPY DANYCH

TYPY DANYCH

Matlab dopuszcza użycie sześciu
podstawowych typów danych:

1.

Double-liczby podwójnej precyzji; podstawowy

typ danych dla zmiennych MATLAB-a (wszystkie

obliczenia w Matlabie są prowadzone w trybie

podwójnej precyzji dla zmiennych numerycznych

i łańcuchowych);

DOMYŚLNY

2. Char-znaki i łańcuchy znaków; łańcuch znakowy

definiuje się za pomocą apostrofów i

przechowywany jest w pamięci w postaci

wektora liczb całkowitych reprezentujących kody

ASCII poszczególnych znaków;

background image

3. Sparse - dotyczy dwuwymiarowych macierzy rzadkich

podwójnej precyzji; (macierz rzadka to taka macierz,

w której zapamiętywane są tylko elementy niezerowe;

redukuje to zapotrzebowanie pamięci);

4. Cell-typ komórkowy; elementy tablic komórkowych

mogą zawierać inne tablice;

5. Struct-typ strukturalny; tablice strukturalne odwołują

się do nazw pól, które mogą zawierać inne tablice;

6. Uint8-typ przeznaczony do efektywnego

wykorzystania pamięci, integer ze znakiem lub bez

(uint); możliwe są takie operacje, jak zmiana

wymiarów lub kształtu tablicy, ale niedozwolone są

żadne operacje matematyczne;

Funkcje zamiany

: i = int8(x) i = int16(x) i = int32(x)

i = int64(x) uint8(x) ......

Oprócz wymienionych typów istnieje typ

UserObject

, który jest

typem definiowanym przez użytkownika.

background image

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;

background image

LISTA ŚCIEŻEK

• Lista ścieżek to lista katalogów, do

których Matlab ma dostęp. Polecenie
„path”

• Jest zdefiniowana w pliku pathdef.m,

znajdującym się w podkatalogu
toolbox\local katalogu z Matlabem.

• Można ją wyświetlać lub zmieniać

poleceniem path.

background image

PODSTAWOWE FUNKCJE I STAŁE

PODSTAWOWE FUNKCJE I STAŁE

MATEMATYCZNE

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;

background image

exp(z)

e

z

log(z)

ln(z); z<0 – wynik
zespolony;

log2(z)

log

2

z; 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;

z

e

background image

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;

background image

FUNKCE OPERUJĄCE NA WEKTORACH

FUNKCE OPERUJĄCE NA WEKTORACH

(na MACIERZACH podane wcześniej)

(na MACIERZACH podane wcześniej)

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

background image

STAŁE MATEMATYCZNE

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;

background image

BIOINFORMATYKA

i

„COMPUTATIONAL

BIOLOGY”

background image

1. Sekwencjonowanie i ekspresja DNA

(genomika)

2. Ekspresja i struktura białek

(proteomika)

3. Modelowanie szlaków metabolicznych w

komórce (metabolika)

4. Modelowanie metodami

dynamiki

molekularnej (MD)

Monte Carlo

lub

innymi

– cząstek lub układów

biologicznych

Przykładowe kierunki

background image

Genomika porównawcza - gałąź

„computational biology”

która analizuje genom.

Genomika porównawcza

- gałąź

„computational biology”

która

analizuje

genom.

„Computational biology” - gałąź

biologii która stosuje podejście

informatyczne do

rozwiązywania problemów

biologicznych

„Computational biology”

- gałąź

biologii

która stosuje podejście

informatyczne do

rozwiązywania

problemów

biologicznych

Bioinformatyka - gałąź informatyki

rozwiązująca problemy

biologiczne

Bioinformatyka

-

gałąź

informatyki

rozwiązująca problemy

biologiczne

background image

Genomika porównawcza – stosuje

analizę porównawczą do

ustalenia sekwencji genomu

Genomika porównawcza

– stosuje

analizę porównawczą do

ustalenia sekwencji genomu

„Computational biology”

umożliwia lepsze zrozumienie

obiektu biologicznego (enzym,

szlak metaboliczny, organellum,

komórka)

„Computational biology”

umożliwia lepsze

zrozumienie

obiektu biologicznego (enzym,

szlak metaboliczny, organellum,

komórka)

Bioinformatyka - dostarcza

nowych narzędzi: algorytmy,

struktury baz danych, narzędzia

wizualizacji, itd.

Bioinformatyka

- dostarcza

nowych narzędzi:

algorytmy,

struktury baz danych, narzędzia

wizualizacji, itd.

background image

Ogromny wzrost ilości

danych biologicznych

background image

Współczesna wiedza o

procesach wewnątrz-

komórkowych jest

STATYCZNA

Przykład: znany genom SARS

nic nie wiadomo o cyklu życia

wirusa.

Konieczne zastosowanie

modelowania / technik

komputerowych

background image
background image

STRUKTURA FUNKCJA

Atomy molekuły całe

komórki

background image

Wynik

modelowania/stosowania

technik informatycznych

Zrozumienie złożonych danych

pochodzących z eksperymentów

biomedycznych

Identyfikacja głównych cech regulujących

zachowaniem całego systemu

Badanie procesów dynamicznych (szlaki

metaboliczne, energetyka serca, aktywacja

odpowiedzi immunologicznej, itd.)

Farmakoterapia celowa

background image

Potencjał czynnościowy

serca

Matlab w modelowaniu

BIO


Document Outline


Wyszukiwarka

Podobne podstrony:
L2 PAA Modelowanie układu regulacji automatycznej z wykorzystaniem pakietu MATLAB Simulink(1)
Pakiet Matlab wprowadzenie w środowisko
Dodatek (pakiet MATLAB z r SIMULINK)
Matlab (Opisy podstawowych funkcji) PL Wprowadzenie do pracy w środowisku pakietu Matlab
Matlab, Podstawy Obsługi Pakietu Matlab
Pakiety Matematyczne, AN Matlab
Instrukcje zadania stud, 2 Semestr, Inżynierskie Pakiety Oprogramowania, Zadania MatLab
Symulacja układów sterowania z wykorzystaniem pakietu MATLAB, PWr W9 Energetyka stopień inż, III Sem
Funkcje zadania stud, 2 Semestr, Inżynierskie Pakiety Oprogramowania, Zadania MatLab
Matlab - test, Studia, Inżynierskie pakiety oprogramowania
L2 PAA Modelowanie układu regulacji automatycznej z wykorzystaniem pakietu MATLAB Simulink(1)
Pakiet Matlab wprowadzenie w środowisko
Wybrane elementy syntaktyki pakietu Matlab Przemysław Korohoda
Matlab Podstawy Obsługi Pakietu Matlab
Matlab cw1 2 zaoczni
cz 1, Matlab moj
Image Processing with Matlab 33

więcej podobnych podstron