WYKAAD 2
TEMAT
Wprowadzenie do środowiska Matlab
Dr inż. Tomasz Klekiel
Uniwersytet Zielonogórski
Wydział Mechaniczny
Zakład Bioinżynierii
STRUKTURA DANYCH
Matlab jest środowiskiem wyposażonym w interpreter instrukcji. Instrukcje działają na
zmiennych o strukturze dwuwymiarowej tablicy liczb.
Liczby są zapisywane jako dziesiętne - z kropką w roli separatora części całkowitej
od ułamkowej, i wyświetlane są z narzuconą precyzją, którą można ustalać za pomocą
komendy format. W przypadku, gdy liczba jest mała, stosowany jest mnożnik w postaci
10 do odpowiedniej ujemnej potęgi , co zapisywane jest przy użyciu litery E/e np.: 3.5600e-
4.
Każda zmienna traktowana jest jak macierz o określonych wymiarach, czyli ilości
wierszy i kolumn, a pojedyncza liczba(skalar) - jest macierzą o wymiarach 1x1.
Każdy element macierzy jest określany za pomocą jego współrzędnych w macierzy,
czyli indeksów. Przykładowo jeżeli mamy macierz o nazwie X i wymiarach 3x4, to jej
element w drugim wierszu i trzeciej kolumnie może być wskazany jako: X(2,3), a więc do
elementów macierzy uzyskuje się bezpośredni dostęp poprzez podanie indeksu bądz
indeksów danego elementu gdzie w nawiasie po przecinku podaje się kolejno numer wiersza i
kolumny. W przypadku macierzy jednowierszowych lub jednokolumnowych indeksem
podawanym w nawiasach będzie położenie danego elementu w macierzy.
W celu zadeklarowania tablicy można użyć jednej z poniższych instrukcji:
- tablica jednokolumnowa, lub jednowierszowa:
Początek : Koniec
gdzie początek i koniec określają wartość początkową i końcową tablicy, a elementy
tej tablicy są kolejno zwiększane o 1.
Początek : krok : Koniec
gdzie początek i koniec określają wartość początkową i końcową tablicy, a krok
określa różnicę wartości kolejnych elementów tablicy
- tablica dwuwymiarowa dowolnych wymiarów n x m
[ a11 a12 .& a1n; a21& a2n;& ]
gdzie kolejne elementy w wierszu oddziela się spacją bądz przecinkiem, a kolejne wiersze
oddziela się średnikiem.
- tablica jednostkowa o wymiarze n:
eye(n)
- tablica zawierająca jedynki:
ones(n) lub ones(n,m)
Programowanie zagadnień inżynierskich Wykład 2 2
- tablica zawierająca zera:
zeros(n) lub zeros(n,m)
Operatory arytmetyczne:
+
dodawanie
-
odejmowanie
*
mnożenie
/
dzielenie
\
Dzielenie modulo
^
potęgowanie
transponowanie (UWAGA: w przypadku macierzy
zespolonych nie jest to tylko zamiana wierszy i kolumn,
ale dodatkowo sprzężenie)
.*
kropka przed operatorem powoduje wykonanie
.^
operacji element po elemencie - mnożenia,
./
potęgowania lub dzielenia
Informacje dodatkowe
Warto zwrócić uwagę na znak ; (średnik), który na końcu komendy oznacza, iż nie
chcemy, by wynik jej wykonania został wyświetlony na ekranie komputera. Niekiedy chcemy
się upewnić, co będzie wynikiem danej komendy i znak ten pomijamy, jednak w przypadku
operacji wykonywanej na zmiennej dużych rozmiarów pomijanie znaku ; jest raczej mało
użyteczne.
Przydatne funkcje:
quit zakończenie pracy z pakietem Matlab (zamknięcie wszystkich okien pakietu i
skasowanie danych)
clear usuwanie z pamięci wszystkich zmiennych lub wskazanej zmiennej
clc czyszczenie okna komend
who wyświetla nazwy wszystkich zmiennych istniejących w pamięci, tzn. stworzonych w
trakcie danej sesji lub przywołanych z pliku
whos j.w. oraz ponadto pokazuje wymiary każdej ze zmiennych
help wyświetla opis podanej funkcji lub słowa kluczowego
format zmienia format wyświetlania liczb (najczęściej używane opcje to: short i long)
length zwraca ilość elementów wektora (wierszowego lub kolumnowego)
size zwraca dwuelementowy wektor (dwie liczby) - liczbę wierszy i liczbę kolumn danej
macierzy
Programowanie zagadnień inżynierskich Wykład 2 3
Funkcje matematyczne
sin sinus - kolejno dla każdej wartości macierzy podanej jako parametr wejściowy
cos kosinus - kolejno dla każdej wartości macierzy podanej jako parametr wejściowy
tan tangens - kolejno dla każdej wartości macierzy podanej jako parametr wejściowy
atan arcus tangens - kolejno dla każdej wartości macierzy podanej jako parametr wejściowy
(wynik z przedziału od -pi/2 do +pi/2, zgodnie z def. funkcji)
atan2 arcus tangens tzw. czteroćwiartkowy - kolejno dla każdej pary wartości dwóch
macierzy podanych jako parametry wejściowe (wynik z przedziału od -pi do +pi, ponieważ
podajemy licznik i mianownik, co określa ćwiartkę układu współrzędnych)
log logarytm naturalny - kolejno dla każdej wartości macierzy podanej jako parametr
wejściowy
log10 logarytm dziesiętny - kolejno dla każdej wartości macierzy podanej jako parametr
wejściowy
exp eksponenta (czyli liczba e do zadanej potęgi) - kolejno dla każdej wartości macierzy
podanej jako parametr wejściowy
sqrt pierwiastek kwadratowy - kolejno dla każdej wartości macierzy podanej jako parametr
wejściowy (zamiast tej funkcji można stosować operator potęgowania: ^(0.5) )
max zwraca wartość maksymalną spośród elementów wektora lub (w przypadku macierzy)
wektor wierszowy zawierający maksymalne elementy z kolejnych kolumn (dwukrotne
zastosowanie pozwala zatem wyznaczyć element maksymalny całej macierzy)
min j.w. - ale element minimalny
sum suma elementów wektora - w przypadku macierzy analogicznie jak max
abs moduł z podanej liczby (lub macierzy)
angle faza dla podanej liczby (lub macierzy)
Programowanie zagadnień inżynierskich Wykład 2 4
Elementy skryptów i funkcji Matlaba
Instrukcja warunkowa
if Warunek1
TAK
Warunek
Zadanie1
Zadanie 1
else
Zadanie2
end
NIE
Zadanie 2
Zagnieżdżanie instrukcji warunkowych
TAK
Warunek1
Zadanie 1
if Warunek1
Zadanie1
elseif Warunek2
NIE
Zadanie2
else
Zadanie3
Warunek2
Zadanie 2
end
NIE
Zadanie 3
Programowanie zagadnień inżynierskich Wykład 2 5
Instrukcja wyboru
TAK
case
Zadanie 1
switch switch_expr
NIE
case case_expr
Zadanie 1
TAK
case
Zadanie 2
case
{case_expr1,case_expr2,case_expr3,...}
Zadanie 2
...
NIE
otherwise
Zadanie 3
...
end
Zadanie 3
Programowanie zagadnień inżynierskich Wykład 2 6
Pętla warunkowa
while Warunek
Zadanie
TAK
end
Warunek Zadanie
NIE
while Warunek
TAK
Zadanie
Warunek Zadanie
...
break
....
break
end
NIE
countinue
while Warunek
TAK
Zadanie
Warunek
Zadanie
...
continue
....
end
NIE
Programowanie zagadnień inżynierskich Wykład 2 7
Pętla iteracyjna
Pierwszy
element
for element = wyrażenie
Następny
zadanie
element
...
NIE zadanie
Czy
end
Zadanie
ostatni?
TAK
Pierwszy
element
for element = wyrażenie
Następny
zadanie
element
...
break
NIE
Czy
.....
Zadanie
ostatni?
end
break
TAK
Pierwszy
element
for element = wyrażenie
zadanie
Następny
...
element
continue
countinue
NIE .....
Czy
end
Zadanie
ostatni?
TAK
Programowanie zagadnień inżynierskich Wykład 2 8
Obsługa błędów
try,
zadanie,
...,
zadanie,
Zadanie
catch,
Jeśli wystąpił błąd& .
&
obsługa błędu,
Zadanie
...,
Obsługa błędu
obsługa błędu,
end
Definicja funkcji
function wynik = nazwa_funkcji(parametry,...)
...
zadanie
...
end
function wynik = nazwa_funkcji(parametry,...)
...
return
...
end
Programowanie zagadnień inżynierskich Wykład 2 9
Wyszukiwarka
Podobne podstrony:
wprowadzenie Matlab SimulinkWprowadzenie Matlab Simulinkmatlab wprowadzeniematlab wprowadzenieKomp przetw danych Wprowadzenie do MATLABa 1Matlab wprowadzenieS Wprowadzenie do środowiska matlabWprowadzenie do Matlaba Mirosław KwiesielewiczKomp przetw danych Wprowadzenie do MATLABa 2Pakiet Matlab wprowadzenie w środowiskoMATLAB Wprowadzenie2 MATLAB 0 Wprowadzeniewięcej podobnych podstron