Akademia Górniczo – Hutnicza
Katedra Robotyki i Dynamiki Maszyn
Komputerowe wspomaganie prac
inżynierskich.
1. Formaty zapisu i podstawowe operacje w Matlab’ie
Matlab jest to środowisko do obliczeń numerycznych i ich wizualizacji. Jego nazwa
pochodzi od angielskich słów MATrix LABoratory.
1.1 Matlab jako kalkulator.
Matlab wykonuje wszystkie podstawowe operacje arytmetyczne i trygonometryczne. Zapis
funkcji odbywa się bezpośrednio w oknie przestrzeni roboczej matlaba. Wynik otrzymuje
się również w przestrzeni roboczej matlaba po naciśnięciu ENTER.
1.2 Podstawowe komendy wywoływane w oknie edycyjnym.
W każdej chwili można uzyskać pomoc dotyczącą danej komendy poprzez wpisanie
komendy help nazwa_komendy.
Do podstawowych komend można także zaliczyć komendy służace do operacji zapisu
zmiennych z przestrzeni roboczej na dysk i ich odczytu z dysku:
save nazwa_pliku nazwa_zmiennych
load nazwa_pliku nazwa_zmiennych
1.3 Liczby i formaty.
Matlab rozpoznaje kilka podstawowych formatów zapisu liczb.
Typ Opis
Przykład
Integer Zmienna
całkowita 1362-217954
Real Zmienna
rzeczywista
1.234-10.76
complex
Zmienna zespolona
32.21-4.3i
Inf Nieskończoność 2/0
Nan Nieokreślona
0/0
Wszystkie obliczenia w przestrzeni roboczej matlaba dokonywane są z podwójna
dokładnością, co znaczy że obliczenia są dokonywane do piętnastej znaczącej cyfry.
Otrzymane wyniki i wprowadzane dane można wyświetla w kilku różnych formatach.
Format Opis
Przykład
short Format
stało przecinkowy
ograniczony do 5 cyfr
3.1416
short e
Format zmienno przecinkowy
ograniczony do 5 cyfr
3.1416e+000
short g
Najlepszy stało lub zmienno
przecinkowy format ograniczony
do 5 cyfr
3.1416
long Format
stało przecinkowy
ograniczony do 15 cyfr
3.14159265358979
long e
Format zmienno przecinkowy
ograniczony do 15 cyfr
3.141592653589793e+000
long g
Najlepszy stało lub zmienno
przecinkowy format ograniczony
do 15 cyfr
3.14159265358979
hex Zmienna
wyświetlana w zapisie
hexagonalnym
400921fb54442d18
+ Wyświetlanie tylko znaku zmiennej
lub miejsca pustego w przypadku 0
+
bank Wyświetlanie do dwóch miejsc po
przecinku
3.14
rat
Zmienna w postaci ułamka
zwykłego
355/113
1.4 Wprowadzenie i usuwanie zmiennych z przestrzeni roboczej.
Wszystkie liczby wpisywane do przestrzeni roboczej Matlab’a są automatycznie
przyporządkowywane do zmiennej ans. Aby przyporządkować określonej zmiennej jakąś
wartość stosuje się zapis:
>> A= 21354
Zmiennej A została przyporządkowana wartość 21354. Aby zmiennej przyporządkować
zakiś ciąg znaków trzeba je umieścić w apostrofach ‘ ‘
>> A= ‘ WITAM ‘
Po wprowadzeniu zmiennych obliczenia można wykonywać odwołując się do nazw tych
zmiennych.
Aby usunąć zmienną z przestzreni roboczej używa się komendy: clear nazwa_zmiennej.
Wywołanie komendy clear bez nazwy żadnej zmiennej powoduje usunięcie wszystkich
zmiennych z przestrzeni roboczej.
Czasami gdy mamy do czynienia z wektorami, czy też macierzami chcemy uniknąć
wyświetlania ich zawartości po każdym obliczeniu czy przekształceniu, by tego uniknąć na
końcu każdego działania stawia się średnik ”;”.
W każdej chwili istnieje możliwość sprawdzenia jakie zmienne przechowywane sa
aktualnie w przestrzeni roboczej. Do wyswietlania nazw zmiennych służy polecenie who,
aby dowiedzieć się szczegółów dotyczących przechowywanych zmiiennych używa się
polecenia whos które zwraca oprócz nazw poszczególnych zmiennych także ich rozmiar
jak i rodzaj.
2. Generowanie Wektorów.
Wektory można generować na kilka sposobów:
- Wprowadzanie prosto z klawiatury.
Aby wprowadzić elementy wektora z klawiatury należy elementy należy ująć w nawiasy
kwadratowe, poszczególne elementy wektora wierszowego oddzielone są spacjami lub
przecinkami, poszczególne elementy wektora kolumnowego oddzielone są średnikami.
>> V=[ 1 2 3 4 5]
>> V=[1,2,3,4,5]
>> V=[1;2;3;4;5]
- Automatyczne generowanie wektorów
Wektory można generować poprzez podanie pierwszej wartości wektora, podanie skoku i
ostatniej wartości wektora.
>> V=[0:1:10]
- Tworzenie wektorów przy pomocy operacji logicznych i arytmetycznych z innych
wektorów i macierzy
3. Generowanie macierzy.
W Matlabie macierze można generować na kilka różnych sposobów.
- Wprowadzanie listy elementów prosto z klawiatury
Aby wprowadzić macierz z klawiatury elementy macierzy należy ująć w nawiasy
kwadratowe, poszczególne elementy są oddzielane spacjami, lub przecinkami,
poszczególne wiersze macierzy oddziela się średnikami.
- tworzenie macierzy z wektorów lub macierzy
- wczytanie macierzy z zewnętrznego pliku dyskowego.
Macierze takie mogą być zapisane w plikach binarnych lub w kodzie ASCII.
- Automatyczne generowanie macierzy
Macierze można generować poprzez podanie pierwszej wartości wiersza macierzy,
podanie skoku i ostatniej elementu w wierszu, następnie po średniku definiuje się
pozostałe wiersze.
- Konstruowanie macierzy za pomocą funkcji.
W matlabie znajduje się szereg funkcji służących do konstruowania najczęściej
spotykanych macierzy.
Nazwa Opis
eye Macierz
jednostkowa
linspace
Wektor o wartościach rozłożonych równomiernie
logspace
Wektor o wartościach rozłożonych logarytmicznie
meshgrid
Macierz dla wykresów siatkowych
ones Macierz
jedynek
rand
Macierz losowa o rozkładzie równomiernym
randn
Macierz losowa o rozkładzie normalnym
zeros
Macierz z elementami zerowymi
4. Operacje na macierzach i wektorach
1.5 Transpozycja
Istnieje możliwość transpozycji wektorów i macierzy, polecenie transpozycji zapisywane
jest przy pomocy „’„
>> C=V’
1.6 Wydobywanie elementów z macierzy.
W matlabie istnieje możliwość wydobywania poszczególnych elementów lub też grupy
elementów z macierzy i zapisywania ich w postaci osobnych zmiennych a następnie
wykorzystywania w dalszych obliczeniach.
- aby
wydobyć pojedynczy element z macierzy zapisuje się jego położenie numer
wiersza, numer kolumny, lub też podaje się numer elementu macierzy
>> C=V(2,1)
>> C=V(4)
- aby
wydobyć większą liczbę elementów z macierzy, w miejscu wpisywania numeru
wiersza/kolumny wpisuje się wektor z adresami kolejnych elementów, można
bezpośrednio stosować metody służące do budowania wektorów.
>>C=V(1:5,10) % tworzony jest wektor z elementów znajdujących się w wierszach od 1
do 5, 10 kolumny
1.7 Wybrane funkcje na macierzach.
Matlab posiada wiele funkcji ułatwiających pracę z macierzami służących do ich
przetwarzania oraz do określani podstawowych ich własności. Poniżej przedstawiono
niektóre z nich.
Funkcja Opis
diag
Tworzy macierz diagonalną
fliplr
Odwraca kolejność kolumn
flipud Odwraca
kolejność wierszy
reshape
Zmiana rozmiaru macierzy
rot90
Obrót macierzy o 90 stopni
tril Macierz
trójkątna z elementów pod główną przekątną
triu Macierz
trójkątna z elementów nad główną przekątną
expm
Macierzowa funkcja wykładnicza
log
Macierzowa funkcja logarytmiczna
sqrtm
Macierzowa funkcja pierwiastkowa
det Wyznacznik
macierzy
inv
Macierz odwrotna
lu
Rozkład na macierze trójkątne
norm
Normy wektora i macierzy
poly Współczynniki wielomianu charakterystycznego
sort
Sortuje elementy macierzy rosnąco
find
Znajduje adres elementu macierzy o zadanej wartości
size
Pokazuje rozmiar macierzy
length Pokazuje
długość wektora
Oprócz wymienionych powyżej funkcji w Matlab’ie dostępne jest wiele „standrdowych”
funkcji matematycznych:
- funkcje trygonometryszne: sin, cos, tan, atan, sinh, cosh ...
- inne funkcje podstawowe: sqrt, exp, log, log10, ...
1.8 Operacje arytmetyczne na macierzach
Na macierzach można wykonywać większość operacji arytmetycznych. Istnieją dwie
metody dokonywania obliczeń arytmetycznych macierzy. Można wykonywać operacje
arytmetyczne na macierzach zgodnie z zasadami rachunku matematycznego, lub też
wykonywać operacje arytmetyczne na poszczególnych elementach macierzy, takie
operacje nazywane są operacjami tablicowymi.
Symbol operacji
macierzowej
Nazwa funkcji
Symbol operacji tablicowej
+ Dodawanie
+
- Odejmowani
-
* Mnożenie .*
^ Potęgowanie .^
/ Dzielenie
prawostronne
./
\ Dzielenie
lewostronne
.\
1.9 Operatory relacji i operatory logiczne
W matlabie istnieje możliwość używania operatorów relacji i logicznych, których lista
została przedstawiona poniżej.
Symbol Operator
relacji
< Mniejszy
od
<=
Mniejszy lub równy
> Większy
>=
Większy lub równy
= =
Równy
-= Różny
& AND(koniunkcja)
| OR(alternatywa)
~ NOT(negacja)
xor
EXCLUSIVE OR
Wynikiem relacji i wyrażeń logicznych jest macierz o wartościach 0-false 1-true.
Nazwa
Warunek przy którym funkcja jest true
all
Wszystkie elementy wektora są niezerowe
any
Jakikolwiek element wektora jest niezerowy
isfinite
Element argumentu jest określony
isempty
Argument jest określony
ishold
Hold jest włączone
isreal
Wszystkie elementy argumentu są rzeczywiste
exist
Ustalona liczba gdy zmienna lub funkcja istnieje
find
Podaje indeksy niezerowych elementów argumentu