Matlab_podstawy(2).pdf

(136 KB) Pobierz
Matlab_podstawy
PODSTAWY MATLABA:
Po uruchomieniu programu pojawiaj ą si ę okna:
Command Window – słu Ŝ y do komunikacji programu z u Ŝ ytkownikiem. W tym oknie
wprowadzamy polecenia i w nim program wy ś wietla wyniki oblicze ń .
Workspace – pokazuje zmienne aktualnie zadeklarowane w programie
Command History – zawiera ostatnio wprowadzane komendy
Current Directory – pokazuje zawarto ść bie Ŝą cego katalogu.
Obliczenia na liczbach prowadzimy wpisuj ą c konkretne działanie i naciskaj ą c ENTER.
Znak * oznacza mno Ŝ enia, znak / dzielenie, pot ę gowanie uzyskujemy wpisuj ą c przed
wykładnikiem pot ę gi znak ^. Separatorem dziesi ę tnym jest kropka, odpowiednikiem
mno Ŝ enia przez 10 do pot ę gi n jest dodanie na ko ń cu warto ś ci wyra Ŝ enia e. Je ś li chcemy
policzy ć warto ść dowolnej, znanej w programie funkcji, jej argumenty wprowadzamy
w nawiasie np:
sin(pi/2)
cos(5e-2)
1.
ZMIENNE W MATLABIE - MACIERZE
W Matlabie wszystkie u Ŝ ywane zmienne s ą macierzami. Przez macierz rozumiemy
zbiór warto ś ci numerycznych odpowiednio zorganizowanych w wierszach i kolumnach.
Liczba kolumn lub wierszy okre ś lana jest dowoln ą liczb ą całkowit ą , a jedynym
ograniczeniem jest rozmiar dost ę pnej pami ę ci.
Pierwszy rozmiar macierzy okre ś la liczb ę wierszy, a druga liczba słu Ŝ y do okre ś lenia liczby
kolumn. Przykładowo macierz o wymiarach 3 x 4 zawiera 3 wiersze i 4 kolumny, czyli
ł ą cznie 12 elementów.
Skalar w Matlabie jest szczególnym przypadkiem macierzy o rozmiarze 1 x 1.
Wektor o n elementach jest definiowany jako macierz zawieraj ą ca 1 wiersz ( n x 1) lub
macierz zawieraj ą ca 1 kolumn ę (1 x n ) – wektor kolumnowy.
Nazwa zmiennej w Matlabie mo Ŝ e by ć ci ą giem dowolnych cyfr i liter o długo ś ci nie
przekraczaj ą cej 19 znaków. Pierwszy znak nie mo Ŝ e by ć cyfr ą i nazwa nie mo Ŝ e zawiera ć
spacji oraz niektórych znaków np. ‘ + – . Pami ę ta ć nale Ŝ y, Ŝ e w Matlabie rozró Ŝ niane s ą du Ŝ e
i małe litery. Tak wi ę c zmienne o nazwie c i C s ą dwiema ró Ŝ nymi zmiennymi ! Podobnie
MID i Mid to tak Ŝ e dwie ró Ŝ ne zmienne.
Poni Ŝ ej przedstawiono kilka przykładów macierzy zdefiniowanych w Matlabie. Prosz ę
zwróci ć uwag ę na rol ę nawiasów kwadratowych w definicji macierzy.
c = 5.66 or c = [5.66]
c – definicja skalara czyli macierzy 1x1
x = [ 3.5, 33.22, 24.5 ]
x – wektor wierszowy czyli macierz 1x3
x1 = [ 2;
x1 – wektor kolumnowy czyli macierz 4x1
5;
3;
-1]
A = [ 1 2 4;
A – macierz o rozmiarze 4x3
2 -2 2;
4 wiersze i 3 kolumny
0 3 5;
5 4 9 ]
Dost ę p do poszczególnych elementów macierzy jest mo Ŝ liwy poprzez wywołanie typu A(i,j),
przykładowo zmiana warto ś ci jednego z elementów macierzy mo Ŝ e nast ą pi ć za pomoc ą
komendy A(4,1)=5
Macierz wy ś wietlana jest w Matlabie z zachowaniem struktury macierzy.
Macierze mog ą by ć definiowane w ró Ŝ ny sposób:
Przykład
Macierz x o rozmiarze 1x3 , o elementach: x(1)=2, x(2)=4 i x(3)=-1.
x = [ 2 4 -1 ] lub
x = [ 2,4,-1 ]
Wykonanie polecenia nast ę puje po naci ś ni ę ciu Enter. Kolejne elementy macierzy mog ą by ć
oddzielone spacjami lub przecinkami. Macierz y o rozmiarach 2x4 o elementach: y(1,1)=0,
y(1,2) = y(1,3) = 2, y(1,4) = 3, y(2,1) = 5, y(2,2) = -3, y(2,3) = 6, y(2,4) = 4 mo Ŝ e zosta ć
zdefiniowana w nast ę puj ą cy sposób:
y = [ 0, 2, 2, 3;
5, -3, 6, 4 ]
lub
y = [ 0, 2, 2, 3 ; 5, -3, 6, 4 ]
Ś rednik " ; " jest u Ŝ ywany do do rozdzielenia wierszy definiowanej macierzy je ś li definicja
wprowadzana jest w jednej linii. Warto ś ci macierzy zdefiniowane mog ą by ć równie Ŝ za
pomoc ą wyra Ŝ enia, np.:
a = [ sin(pi/2) sqrt(2) 3+4 6/3 exp(2) ]
tworzy macierz
a = [ 1.0000 1.4142 7.0000 2.0000 7.3891 ]
Nowa macierz mo Ŝ e zosta ć równie Ŝ utworzona przy wykorzystaniu wcze ś niej
zdefiniowanych macierzy. Przykładowo korzystaj ą c z poprzednio zdefiniowanej macierzy x
utworzono macierz x1 :
Polecenie:
x1 = [ x 5 8 ]
generuje macierz:
x1 = [ 2 4 -1 5 8 ]
Wyra Ŝ enie
x(5) = 8
Powoduje dodanie nowego elementu macierzy x
x = [ 2 4 -1 0 8 ]
i dodatkowo automatycznie wstawiony zostaje element x(4) równy zero. Nowa macierz mo Ŝ e
zosta ć utworzona równie Ŝ z innych macierzy. Polecenia:
c = [ 4 5 6 3 ]
z = [ y;c ]
daj ą w wyniku:
z = [ 0 2 2 3
5 -3 6 4
4 5 6 3 ]
Po ka Ŝ dej wykonanej komendzie (po naci ś ni ę ciu Enter) Matlab wy ś wietla rezultat
wykonywanej komendy. Efekt wy ś wietlania efektu działania komendy mo Ŝ na zablokowa ć
zaka ń czaj ą c lini ę polecenia ś rednikiem.
z = [ y ; c ] ;
Macierze mog ą by ć równie Ŝ generowane za pomoc ą odpowiednich funkcji konstruuj ą cych,
przykładowo:
zeros
- tworzy macierz jedynek
eye
- tworzy macierz z jedynkami na przek ą tnej
rand
- tworzy macierz z liczbami losowymi
Funkcje te wywołane z jednym parametrem tworz ą macierz kwadratow ą o zadanym
wymiarze, z dwoma odpowiedni ą macierz prostok ą tn ą .
Kontynuacja linii polecenia
W niektórych przypadkach linia polecenia jest bardzo długa i nie mie ś ci si ę w jednej linii
okna polece ń . Mo Ŝ na w takim przypadku kontynuowa ć lini ę polecenia w kolejnym wierszu
je ś li poprzedni ą lini ę zako ń czymy trzema kropkami "...".
Przykład
Polecenie:
4 + 5 + 3 ...
+ 1 + 10 + 2 ...
+ 5
ones
- tworzy macierz zerow ą
daje w wyniku
ans = 30
W tym przypadku nale Ŝ y jeszcze zwróci ć uwag ę na to Ŝ e w wyniku tej operacji nie powstała
nowa zmienna, a wynik przypisany został do zmiennej standardowej ans . Kolejna operacja
tego typu spowoduje redefinicj ę zmiennej ans .
Operator ‘:’
Operator ' : ' pozwala na wykonanie wielu operacji w Matlabie. Je ś li dwie liczby całkowite
rozdzielone s ą dwukropkiem to w wyniku wykonania takiego polecenia powstanie wektor
wierszowy składaj ą cy si ę z liczb całkowitych.
Polecenie
a = 1:8
generuje wektor
a = [ 1 2 3 4 5 6 7 8 ].
Je ś li trzy liczby (całkowite lub rzeczywiste) rozdzielone s ą dwukropkami to powstanie wektor
zawieraj ą cy ci ą g liczb narastaj ą cych monotonicznie pocz ą wszy od pierwszej a skonczywszy
na warto ś ci okre ś lonej trzeci ą liczb ą . Przyrost warto ś ci pomi ę dzy kolejnymi liczbami równy
jest drugiej liczbie wymienionej w komendzie:
Przykładowo
b = 0.0 : .2 : 1.0
generuje wektor:
b = [ 0.0 .2 .4 .6 .8 1.0 ]
Dwukropek mo Ŝ e by ć wykorzystany równie Ŝ do operacji wydzielania wektora lub macierzy z
innej macierzy.
Przykładowo je ś li
x = [ 2, 6, 8;
0, 1, 7;
-2, 5, -6 ]
To komenda
y = x(:,1)
Spowoduje utworzenie wektora kolumnowego:
y = [2
0
-2 ]
a komenda
yy = x(:,2)
tworzy:
yy = [ 6
1
5 ]
Polecenie
z = x(1,:)
generuje wektor wierszowy:
z = [ 2 6 8 ]
W wymienionych przypadkach ‘:’ oznaczał „wszystkie indeksy”. Inny przykład, definiujemy
macierz c
c = [ -1, 0, 0;
1, 1, 0;
1, -1, 0;
0, 0, 2 ]
a nast ę pnie wydajemy polecenie
d1 = c(:,2:3)
które tworzy macierz zawieraj ą c ą kolumny od drugiej do trzeciej i wszystkie wiersze:
d1 = [ 0 0
1 0
-1 0
0 2 ]
Natomiast komenda
d2 = c(3:4,1:2)
tworzy macierz o wymiarach 2x2 powstał ą z wiersza 3 ciego i 4 tego i kolumny 1 szej i 2 giej
macierzy c .
d2 = [ 1 -1
0 0 ]
Do generowania wektorów słu Ŝ y równie Ŝ funkcja linspace() , w której jako agrumenty
podajemy warto ść pocz ą tkow ą , warto ść ko ń czow ą i liczb ę wyrazów.
Zgłoś jeśli naruszono regulamin