Matlab - skalary, macierze.pdf

(33 KB) Pobierz
Microsoft Word - MATLAB - folia1.doc
MATLAB – skalary, macierze, liczby zespolone, standardowe funkcje
Czym jest MATLAB ?
Jest to proste
rodowisko ł cz ce obliczenia, wizualizacj i programowanie.
MATLAB = MATrix LABoratory (matrix – macierz)
Typowe zastosowania pakietu to:
·
obliczenia matematyczne,
·
algorytmy numeryczne,
·
modelowanie i symulacja,
·
analiza danych i wizualizacja,
·
grafika in ynierska,
·
aplikacje z wykorzystaniem GUI (graficznych interfejsów u
ytkownika).
Pakiet MATLAB składa si z pi ciu podstawowych elementów:
j zyk MATLAB – j zyk wysokiego poziomu, umo liwiaj cy tworzenie zarówno małych
programów jak i kompletnych aplikacji
·
rodowisko robocze MATLAB-a – zestaw narz dzi do zarz dzania zmiennymi w
przestrzeni roboczej, m-plikami, aplikacjami MATLAB-a oraz do importowania i
eksportowania danych
·
trójwymiarowych wykresów, funkcje przetwarzania obrazu i tworzenia animacji oraz wiele
niskopoziomowych polece umo liwiaj cych pełn kontrol nad grafik
·
biblioteka funkcji matematycznych – obejmuje zarówno funkcje podstawowe (np.
sumowanie, funkcje trygonometryczne), funkcje macierzowe (odwracanie, liczenie
wyznacznika) jak i wiele specjalistycznych funkcji matematycznych, np. funkcje Bessela,
FFT
·
interfejs API – biblioteka umo liwiaj ca tworzenie programów w j zykach C i Fortran,
współpracuj cych z programami napisanymi w MATLAB-ie
Tryby pracy z pakietem MATLAB:
·
bezpo redni – typowy tryb roboczy, umo liwiaj cy prowadzenie dialogu pomi dzy
u
ytkownikiem a pakietem na zasadzie: pytanie – odpowied
·
po redni – za pomoc uruchomienia programu napisanego w j zyku pakietu MATLAB,
czyli tzw. skryptu
Praca z programem:
Po uruchomieniu pakietu mo
na bezpo
rednio wydawa polecenia w oknie MATLAB-a. O
gotowo
ci systemu
wiadczy widoczny w wierszu polece tzw. znak zach ty ( >> ). Polecenia
zatwierdza si klawiszem <ENTER>.
help - system pomocy (wy
wietla list katalogów Matlaba wraz z ich opisem
w formacie katalog\temat).
help temat - podaje list wszystkich polece odnosz cych si do danej grupy,
np. help general - polecenia ogólne, help ops – operatory i specjalne znaki.
help nazwa_polecenia - pomoc dla konkretnego polecenia (podczas wy
wietlania informacji
wietlana jest du ymi literami).
exit , quit - zako czenie pracy z programem,
ci programu.
Uwaga: zwróci szczególnie uwag na: Visualization, Language/Graphics .
demo - interaktywna demonstracja pozwalaj ca pozna mo
liwo
1
·
system graficzny – zawieraj cy funkcje wysokiego poziomu do tworzenia dwu- i
o danym poleceniu jego nazwa wy
8161760.030.png
Kombinacja klawiszy
Kombinacje klawiszy edycji linii polece
Funkcja
przywołanie polecenia
­, <Ctrl>+<P>
przywołuje poprzedni lini (komend )
¯
, <Ctrl>+<N>
przywołuje nast pn lini (komend )
przesuni cie kursora
¬
, <Ctrl>+<B>
przesuwa w lewo o jeden znak
®
, <Ctrl>+<F>
przesuwa w prawo o jeden znak
<Ctrl>+
®
, <Ctrl>+<R>
przesuwa w prawo o jedno słowo
<Ctrl>+
¬
, <Ctrl>+<L>
przesuwa w lewo o jedno słowo
<Home>, <Ctrl>+<A>
przesuwa na pocz tek linii
<End>, <Ctrl>+<E>
przesuwa na koniec linii
usuwanie
<Del>, <Ctrl>+<D>
usuwa znak w miejscu kursora
<Backspace>, <Ctrl>+<H>
usuwa znak przed kursorem
<Ctrl>+<K>
usuwa do ko ca linii
<Esc>, <Ctrl>+<U>
usuwa cał bie c lini
Podstawowym typem danych w MATLAB-ie jest macierz dwuwymiarowa.
W szczególnym przypadku mo e to by :
Zmienne i polecenia
>> a = 2 <Enter>
a - nazwa zmiennej (musi rozpoczyna si liter i mo e składa si z dowolnej liczby liter, cyfr i
lenia). Potwierdzeniem wykonania komendy jest wy
wietlenie na ekranie nazwy
zmiennej i jej nowej warto
ci:
a =
2
Je
li na ko cu polecenia umie
cimy znak
rednika, to potwierdzenie nie b dzie wy
wietlane, np.
>> b = -3;
Je
li chcemy sprawdzi zawarto
zmiennej, to wpisujemy w oknie polece jej nazw :
>> a
Je
li wpiszemy polecenie Matlaba nie okre
laj c nazwy zmiennej wynikowej, to wynik operacji
b dzie przechowywany w standardowej zmiennej roboczej ans .
>> sqrt(a)
ans =
1.4142
Polecenie powinno mie
ci si w jednym wierszu. Je
li jest dłu
sze, mo
na zako czy wiersz
trzema kropkami i kontynuowa w nast pnym
>> obecny_wynik = poprzedni_wynik ...
>>
+ alfa * (1 – beta + fi * (3*gamma –1 ))
wyniki nie b d wy
li chcemy napisa kilka polece w jednym wierszu, oddzielamy je
wietlone) lub przecinkami (wyniki si pojawi ).
rednikami (wówczas ich
>> x=1; y=2*x; z=y^3;
2
- skalar – macierz o rozmiarze 1 x 1,
- wektor wierszowy – macierz o jednym wierszu,
- wektor kolumnowy – macierz o jednej kolumnie.
znaków podkre
Je
8161760.031.png 8161760.032.png 8161760.033.png 8161760.001.png
Liczby w MATLAB-ie mo
ywaj c opcjonalnie znaku + lub - oraz kropki dziesi tnej), np.
na wpisywa w postaci:
-14,57 >> c = -14.57
- zmiennopozycyjnej (z u yciem znaku e lub E poprzedzaj cego wykładnik pot gi 10), np.
-7,351·10 6 >> d = -7.351e6
5,43·10 -4
>> d = 5.43e-4
Liczby zespolone
Liczby zespolone mo na wprowadza w dwojaki sposób:
>> z = 3 + 4j
lub >> z = 3 + 4i
Przy wy
wietlaniu przy cz
ci urojonej zawsze wyst puje i .
Ła cuchy znaków
Zmiennym mo na przypisywa tak e ła cuchy znaków, tekst umieszczany jest wtedy
w apostrofach:
>> napis = ‘to jest tekst‘;
Do wy
wietlenia tekstu lub zmiennej zawieraj cej ła cuch znaków słu y polecenie
disp .
>> disp(‘fragment tekstu‘);
>> disp(napis);
Je
li chcemy sprawdzi jakie zmienne znajduj si w przestrzeni roboczej, to
mo emy u y jednego z poni szych polece :
who - podaje tylko nazwy zmiennych,
whos - podaje informacj rozszerzon .
Inne przydatne polecenia
clear - usuwa wszystkie zmienne z przestrzeni roboczej,
clear lista_zmiennych - usuwa z przestrzeni roboczej tylko te zmienne, których nazwy
znalazły si na li
cie,
clc - czy
ci okno polece MATLAB-a i ustawia kursor w lewym górnym rogu,
Formaty liczb - polecenie format (polecenie to zmienia tylko sposób wy
wietlania liczb, nie ma
natomiast wpływu na dokładno
oblicze )
format short - 5 cyfr, reprezentacja stałoprzecinkowa,
format long - 15 cyfr, reprezentacja stałoprzecinkowa,
format short e - 5 cyfr, reprezentacja zmiennoprzecinkowa,
format long e - 15 cyfr, reprezentacja zmiennoprzecinkowa,
format rat - wypisywanie liczb w postaci ułamka,
format - powrót do standardowych ustawie .
Operatory arytmetyczne
dodawanie
+
odejmowanie
mno enie
*
dzielenie
/
pot gowanie ^
Dodatkowo stosujemy nawiasy ( oraz ) , je
li sytuacja tego wymaga. W zagnie d eniach u ywamy
wył cznie nawiasów ( oraz ).
np.
2
4
-
3
2
93
>> (2.7^4–2.93^(1/3))/(3.14^1.5)
3
14
1
.
3
- stałopozycyjnej (u
8161760.002.png
1
np.
4
5
.
17
-
2
.
91
3
-
3
>> 5.17^(1/4) –2.91^(1/3) – 3
Funkcje matematyczne
Argumentami poni szych funkcji mog by liczby (w tym tak e zespolone) oraz macierze. W
Funkcja
Opis
sin(x), cos(x), tan(x), cot(x)
Funkcje trygonometryczne: sinus, cosinus, tangens,
cotangens; argument podawany jest w radianach (mo na
wykorzysta stał pi okre
laj c liczb
p
)
sqrt(x)
x – pierwiastek kwadratowy
exp(x)
e x
log(x)
ln x – logarytm naturalny
log2(x)
log 2 (x) – logarytm o podstawie 2
log10(x)
log 10 (x) – logarytm dziesi tny
abs(x)
warto
bezwzgl dna lub moduł liczby zespolonej
angle(x)
argument liczby zespolonej
real(x), imag(x)
cz rzeczywista i urojona liczby zespolonej
conj(x)
liczba zespolona sprz ona
ceil(x)
zaokr glenie liczby w gór
floor(x)
zaokr glenie liczby w dół
round(x)
zaokr glenie liczby do najbli
szej całkowitej
Definiowanie macierzy
·
elementy w wierszu macierzy oddzielamy spacj lub przecinkiem,
·
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
Przykłady:
a) macierz
A
=
0
2
-
10
7
6
1
>> A=[0 2 –10; 7 6 1]
lub
>> A=[0 2 –10
>> 7 6 1]
b) wektor wierszowy B=[1 0 –2 3]
>> B=[1 0 –2 3]
3
c) wektor kolumnowy
C
=
2
5
>> C=[3; 2; 5]
lub
>> C=[3
>> 2
>> 5]
4
drugim przypadku funkcja wykonywana jest oddzielnie na ka dym elemencie macierzy.
8161760.003.png 8161760.004.png 8161760.005.png 8161760.006.png 8161760.007.png 8161760.008.png 8161760.009.png 8161760.010.png 8161760.011.png 8161760.012.png 8161760.013.png 8161760.014.png 8161760.015.png 8161760.016.png 8161760.017.png 8161760.018.png 8161760.019.png 8161760.020.png 8161760.021.png 8161760.022.png 8161760.023.png 8161760.024.png 8161760.025.png 8161760.026.png 8161760.027.png 8161760.028.png
d) macierz o warto ciach zespolonych
D
=
2
+
3
i
-
1
+
1
i
3
-
7
i
2
i
>> D=[2 –1; 3 0]+i*[3 1.5; -7 2]
lub
>> D=[2+3i -1+1.5i; 3-7i 2i]
Wykorzystanie dwukropka do generowania macierzy
min:max - generuje wektor wierszowy zawieraj cy liczby całkowite z przedziału
< min , max >,
min:krok:max - generuje wektor wierszowy zawieraj cy liczby od min do max
>> B = 1:4
o warto ciach zmieniaj cych si o krok,
>> C = 5:3:15
B =
C =
1 2 3 4
5 8 11 14
>> A = [1:4; 1:0.5:2.5]
A =
1.0000 2.0000 3.0000 4.0000
1.0000 1.5000 2.0000 2.5000
równa zeru),
ones(n) - macierz o rozmiarze n x n o wszystkich elementach równych 1 ,
zeros(n) - macierz o rozmiarze n x n o wszystkich elementach równych 0 ,
rand(n) - macierz o rozmiarze n x n wypełniona liczbami pseudolosowymi z przedziału <0,1> ,
Powy sze funkcje generuj macierze kwadratowe ( n x n ), dla macierzy prostok tnych nale y poda
dwa argumenty, np. ones(n,m) n - liczba wierszy, m - liczba kolumn
Odwołania do elementów macierzy
Do elementu macierzy A znajduj cego si w wierszu o indeksie i oraz kolumnie
yciu jednego indeksu:
- je li A jest wektorem, to odwołanie A(i) oznacza odwołanie do i -tego elementu wektora,
na odwoływa si tak
e przy u
- je li A jest macierz dwuwymiarow , to odwołanie A(i) oznacza odwołanie do wektora
kolumnowego uformowanego z kolejnych kolumn oryginalnej macierzy, umieszczonych jedna
pod druga, np.
>> A = [1 2 3; 4 5 6; 7 8 9];
>> A(2,3)
ans =
6
>> A(6)
ans =
8
Wykorzystuj c dwukropek mo na odwoływa si do wybranych fragmentów macierzy:
A(i,:) - i -ty wiersz macierzy A ,
A(:,j) - j -ta kolumna macierzy A ,
A(:) - cała macierz w postaci wektora kolumnowego,
A(i,j:l) - elementy i -tego wiersza macierzy A o numerach od j do l ,
5
Generowanie macierzy specjalnych
eye(n) - macierz jednostkowa o rozmiarze n x n (jedynki na głównej przek tnej, reszta elementów
o indeksie j odwołujemy si poprzez A(i,j) . Elementem takim mo na posługiwa si
jak ka d inn zmienn .
Do elementów macierzy mo
8161760.029.png
Zgłoś jeśli naruszono regulamin