Matlab Podstawy

background image

1

MATLAB – PODSTAWY

ZNAKI SPECJALNE

=

– symbol przypisania


[ ]

– tworzenie tablic, argumenty wyjściowe funkcji, łączenie tablic


{ }

– indeksy struktur i tablic komórkowych


( ) – nawiasy do określania kolejności działań, do ujmowania indeksów
tablic, do ujmowania argumentów wejściowych funkcji

.

– kropka dziesiętna


...

– kontynuacja polecenia w następnej linii


,

– separator indeksów tablicy, argumentów funkcji, poleceń


;

– koniec wiersza macierzy, rezygnacja z wypisywania wyniku na ekranie


% –

początek komentarza w danej linii

:

– generowanie wektorów, indeksowanie macierzy

‘ – początek i koniec łańcucha znaków, operator transpozycji, operator

sprzężenia zespolonego



FUNKCJE SPECJALNE

pi

3.14159265...

realmin

– najmniejsza liczba rzeczywista

realmax –

największa liczba rzeczywista

Inf

nieskończoność

NaN

Not–a–Number

ans

zmienna

robocza


Inf – nieskończoność jest generowana przez dzielenie liczby różnej od 0 przez zero,
lub przez działanie na wartościach, które wykraczają po za największą możliwą
wartość rzeczywistą określoną przez funkcję realmax.

NaN jest generowana przy próbie wykonania działań typu 0/0 lub Inf–Inf

background image

2

ZMIENNE LICZBOWE W MATLAB-IE

dzielą się na dwa typy:


typ całkowity ze znakiem (int8, int16, int32, int64) i
typ całkowity bez znaku (uint8, uint16, uint32, uint64)

typ rzeczywisty pojedynczej precyzji (single) oraz typ
rzeczywisty podwójnej precyzji (double)

Defaultowym (domyślnym) typem numerycznym dla zmiennych MATLAB-a jest typ
double!





Jeśli zmienna x ma wartość

>> x = 12.56
x =
12.5600

Instrukcja
>> int16(x)
ans =
13
konwertuje wartość x na liczbę całkowitą.

ans – oznacza zmienną utworzoną automatycznie przez MATLAB–a, gdy dane
wyrażenie nie zostało przypisane żadnej zmiennej. Por. z przykładem poniżej:

>> x = 12.56
x =
12.5600

>> y = int16(x)
y =
13





Typ

Zakres zmiennych typu rzeczywistego

single –3.40282e038

3.4283e+038

double –2.22507e+308

1.79769e+308

background image

3

RÓŻNE FORMATY ZAPISU LICZBY RZECZYWISTEJ NA PRZYKŁADZIE

LICZBY

π









>>

format long, pi

ans =
3.14159265358979

>> format long e, pi
ans = 3.141592653589793e+000



ZMIENNE W MATLAB–ie

Zmiennym nadaje się nazwy. Nazwa może się składać:

• z liter, cyfr i znaku podkreślenia

• z dowolnej liczby znaków, ale tylko około 63 są rozróżnialne przez

MATLAB-a

Nazwa musi zaczynać się od litery !

UWAGA!

MATLAB rozróżnia wielkość liter w nazwie zmiennej !!!

Dla MATLAB-a zmienne A i

a

to dwie różne zmienne!













Format

Typ

Postać

short stałoprzecinkowy

3.1416

long stałoprzecinkowy

3.14159265358979

short e

zmiennoprzecinkowy

3.1416e+000

long e

zmiennoprzecinkowy

3.141592653589793e+000

rat ułamkowy

355/113

background image

4

PODSTAWOWĄ STRUKTURĄ DANYCH W MATLAB-IE JEST TABLICA


Tablica (array) – to forma gromadzenia i przechowywania danych w pamięci
komputera. Tablicom nadaje się nazwy. Dane przechowywane w tablicy nazywają się
jej elementami. Położenie elementu w tablicy określone jest za pomocą indeksów.
MATLAB dopuszcza tablice wielowymiarowe!

Macierz (matrix) – jest szczególnym przypadkiem tablicy dwuwymiarowej!


– tablica A(5 x 5) – macierz



B = 10 – tablica B(1 x 1) – skalar


STANDARDOWE FUNKCJE MATEMATYCZNE





=

10

2

9

7

0

4

0

7

0

1

7

10

7

2

0

9

9

2

4

5

10

0

7

7

2

A

background image

5

OPERATORY ARYTMETYCZNE W MATLAB–ie w odniesieniu do

MACIERZY


Operatory działań na macierzach:
A+B

A-B

A*B

A/B

A\B

A^B

A’

Operator

Opis

+ Dodawanie,

jednoargumentowy operator plus

- Odejmowanie,

jednoargumentowy operator minus

* Mnożenie macierzy
/

Prawostronne dzielenie macierzy

\

Lewostronne dzielenie macierzy

^ Potęgowanie macierzy
Transponowanie

macierzy

Wyjaśnienie. Jeśli:

=

2

9

4

7

5

3

6

1

8

A

=

6

3

1

3

2

1

1

1

1

B



* Mnożenie macierzy


/

Prawostronne dzielenie macierzy

1

/

=

A

B

A

B

\

Lewostronne dzielenie macierzy

B

A

B

A

=

−1

\

Związek między działaniami na macierzach B/A I A\B

)'

'

'\

(

/

B

A

A

B

=

^ Potęgowanie macierzy – podniesienie macierzy A do potęgi p

Przypadki:

p liczba całkowita >0

C=A^p = A*A...*A

p liczba całkowita <0

C=(A-1)^p


A^p gdy p jest liczbą rzeczywistą lub p^A – potęgowanie wymaga wyznaczania
wartości i wektorów własnych
Gdy A i p są macierzami – błąd!

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

=

=

6

2

3

9

1

4

3

2

2

9

1

4

1

2

1

9

1

4

6

7

3

5

1

3

3

7

2

5

1

3

1

7

1

5

1

3

6

6

3

1

1

8

3

6

2

1

1

8

1

6

1

1

1

8

* B

A

C

n

j

i

b

a

c

n

k

kj

ik

ij

,...

2

,

1

,

,

1

=

=

=

background image

6

OPERATORY ARYTMETYCZNE W MATLAB–ie w odniesieniu do TABLIC.

NOTACJA KROPKOWA

Operatory działań na tablicach:
A+B

A-B

A.*B

A./B

A.\B

A.^B

A.’

Operator

Opis

+ Dodawanie,

jednoargumentowy operator plus

- Odejmowanie,

jednoargumentowy operator minus

.* Mnożenie tablic
./

Prawostronne dzielenie tablic

.\

Lewostronne dzielenie tablic

.^ Potęgowanie tablic
.’ Transponowanie

tablicy

Sprzężenie zespolone

Wyjaśnienie. Jeśli

=

2

9

4

7

5

3

6

1

8

A

=

6

3

1

3

2

1

1

1

1

B


DZIELENIE TABLICOWE

PRAWOSTRONNE A./B LEWOSTRONE A.\B

SPOSOBY OKREŚLANIA TABLIC W MATLAB-ie


• Dane do tablicy są wprowadzane z klawiatury

• Tablica jest wczytywana z zewnętrznego pliku z danymi

• Tablicę może wygenerować użytkownik aplikacji wg ściśle określonego

algorytmu, za pomocą napisanej przez siebie funkcji

• Tablica może zostać wygenerowana za pomocą odpowiedniej funkcji MATLAB-a

=

=

6

2

3

9

1

4

3

7

2

5

1

3

1

6

1

1

1

8

*

. B

A

D

n

j

i

b

a

c

ij

ij

ij

,...

2

,

1

.

=

=

ij

ij

ij

P

b

a

c

B

A

C

=

= /

.

ij

ij

ij

L

a

b

c

B

A

C

=

=

\

.

background image

7

ZADAWANIE TABLICY Z KALWIATURY


• Wprowadź dane oddzielając elementy danego wiersza macierzy spacjami lub

przecinkami

• Użyj znaku średnika by zaznaczyć koniec wiersza

• Otocz wprowadzoną listę elementów nawiasami [ ]

Dla macierzy

=

2

9

4

7

5

3

6

1

8

A

napiszemy >>A = [8 1 6; 3 5 7; 4 9 2]


FUNKCJE MATLAB–a DO GENEROWANIA TABLIC

(n – liczba wierszy, m – liczba kolumn)


magic(n) – generuje macierz magiczną

pascal(n) – generuje macierz Pascala stopnia n

eye(n,n) – generuje macierz jednostkową nxn

ones(n,m) – generuje tablicę nxm złożona z samych jedynek

zeros(n,m) – generuje tablicę nxm złożoną z samych zer

rand(n,m) – generuje tablicę nxm o elementach będących liczbami

losowymi o rozkładzie równomiernym z przedziału (0,1)

randn(n,m) – generuje tablicę nxm złożoną z liczb będących liczbami

losowymi o rozkładzie normalnym


PODSTAWOWE FUNKCJE DZIAŁAŃ NA TABLICACH


Y = sum(A)
gdy:
A – wektor, funkcja sum zwraca jako Y sumę elementów wektora
A – tablica, funkcja sum zwraca jako Y wektor sum w kolumnach tablicy


Y = prod(A)
gdy:
A – wektor, funkcja zwraca jako Y iloczyn elementów wektora
A – tablica, funkcja zwraca jako y wektor iloczynów elementów w kolumnach

Y = diag(A)
Funkcja zwraca jako Y wektor z przekątnej głównej macierzy A

Y = det(A) funkcja zwraca jako Y wartość wyznacznika macierzy kwadratowej

background image

8



Y = tril(A)
Funkcja zwraca jako macierz dolną trójkątną z macierzy A

Y = triu(A)
Funkcja zwraca jako Y macierz górną trójkątną z macierzy A


Y = inv(A)
Funkcja zwraca pod nazwą Y macierz odwrotną do macierzy A

Y = max(A)
gdy:
A jest wektorem funkcja zwraca wartość Y będącą max elementem wektora A
A jest macierzą funkcja zwraca wektor wierszowy Y o elementach będących max z
poszczególnych kolumn


Y = min(A)
gdy:
A jest wektorem funkcja zwraca wartość Y będącą min elementem wektora A
A jest macierzą funkcja zwraca wektor wierszowy Y o elementach będących min z
poszczególnych kolumn tablicy A
Y = mean(A)
gdy:
A jest wektorem funkcja zwraca pod nazwą Y średnią arytmetyczną jego elementów
A jest macierzą - zwraca wektor wierszowy Y o elementach będących średnimi
arytmetycznymi elementów poszczególnych kolumn tablicy A

Y = sort(A) lub Y = sort(A,’ascend’)
gdy:
A jest wektorem funkcja zwraca jako Y wektor uporządkowany rosnąco
A jest macierzą - sortuje każdą kolumnę A rosnąco


Y = sort(A, ‘descend’)
j.w. tylko dla uporządkowania malejącego

NORMY:

Y = norm(A,p)

p =1 - max suma modułów w kolumnach

=

=

n

i

ij

n

j

a

A

1

1

1

max

background image

9


p = inf max suma modułów w wierszach A

p=‘fro’ – norma Frobeniusa

Jeśli

=

6

3

1

3

2

1

1

1

1

A

wówczas


>> A_1=norm(A,1)

A_1 =
10
>> A_inf=norm(A,'inf')

A_inf =
10

>> A_fro=norm(A,'fro')
A_fro =
7.9373







SZYBKIE TWORZENIE TABLIC – OPERATOR DWUKROPEK ( : )

Tworzenie wektora wierszowego:

>> a= 1:5

% Tworzenie wektora wierszowego (to jest komentarz)

a=
1 2 3 4 5

>> b=1:2:10

b =
1 3 5 7 9

>>c = 1:-2.5:-10

=

=

n

j

ij

n

i

a

A

1

1

inf

max

∑∑

=

=

=

n

i

n

j

ij

fro

a

A

1

2

1

background image

10

c =
1.0000 -1.5000 -4.0000 -6.5000 -9.0000

Transponowanie wektora wierszowego:
>> c=c'
c =
1.0000
-1.5000
-4.0000
-6.5000
-9.0000


>> n = (1:5)’

% Tworzy wektor wierszowy i transponuje

n =
1
2
3
4
5

>> potegi = [n n.^2 n.^3 2.^n ]

% Tablica kwadratów, sześcianów i potęg liczby 2 ...

% dla w/w tablicy n

potegi =
1 1 1 2
2 4 8 4
3 9 27 8
4 16 64 16
5 25 125 32


Utworzenie tablicy wartości lnx dla danego zakresu x:

>> x = (1:0.2:2)'
x =

1.0000
1.2000
1.4000

1.6000
1.8000

2.0000

>> lnx = log(x)

lnx =
0
0.1823

0.3365
0.4700

0.5878
0.6931

lub

background image

11

>> lnx = [x log(x)]

lnx =
1.0000 0
1.2000 0.1823

1.4000 0.3365
1.6000 0.4700

1.8000 0.5878
2.0000 0.6931

ZNAK (: ) W WYRAŻENIACH INDEKSOWYCH

Wyrażenia indeksowe odnoszą się do części macierzy lub tablicy. Zapis:

A(1:k,j)

oznacza k pierwszych elementów z j-tej kolumny tablicy A.


sum(A(1:4,4))
oznacza sumę elementów leżących w 4. kolumnie tablicy A.


Dwukropek odnosi się do wszystkich elementów w wierszu lub kolumnie
macierzy / tablicy

Słowo kluczowe end odnosi się do ostatniego wiersza lub kolumny tablicy.

sum(A(:,end)) oznacza sumę wszystkich elementów leżących w ostatniej kolumnie
tablicy A.




Na przykład:

A =
1 5 7
3 5 9
1 3 4
0 6 7

>> s=sum(A(1:3,2))
s =

13 – suma trzech pierwszych elementów z drugiej kolumny macierzy A.



>> suma_3=sum(A(3:end,end))
suma_3 =
11 – suma elementów w ostatniej kolumnie macierzy A z wierszy od 3 do
ostatniego


Wyszukiwarka

Podobne podstrony:
Matlab, Podstawy Obsługi Pakietu Matlab
Matlab podstawy programowania
matlab podstawy
Matlab podstawy(1)
Matlab podstawy
Matlab podstawy
matlab podstawy
TOM MatLab podstawowe funkcje Suliga Pilarz Sowińska
Matlab Podstawy Obsługi Pakietu Matlab
Matlab (Opisy podstawowych funkcji) PL Wprowadzenie do pracy w środowisku pakietu Matlab
Podstawy dynamiki Matlab cw5
15 Podstawy automatyki Matlabid 16181 ppt
smalec,podstawy automatyzacji L,?dania symulacyjne elementów automatyki w środowisku Matlab Simulink
Symulacja układów sterowania z wykorzystaniem pakietu MATLAB, PWr W9 Energetyka stopień inż, III Sem
MATLAB ZADANIA, Materiały, Inżynieria Środowiska, Semestr 2, Informatyczne podstawy projektowania

więcej podobnych podstron