background image

     Podstawy MATLAB’a dla I–go roku WPiE 

PODSTAWOWY WYMÓG     ––  

 
Uwagi podstawowe 

1. Matlab 

działa w trybie konwersacyjnym jak kalkulator inżynierski: 

działanie; ENTER; wynik 

2. Matlab 

rozróżnia duże i małe litery „A” to co innego niż „a” 

3. 

Wszystkie funkcje Matlaba wpisujemy małymi literami a ich argumenty w 
nawiasach okrągłych oddzielone przecinkami 

4. Aby 

dowiedzieć się jak dzieła dokładnie jakaś funkcja wpisujemy:  

help  nazwa_funkcji, lub  lookfor nazwa_funkcji by znaleźć inne 
pokrewne funkcje 

5. Aby 

zapoznać się z możliwościami Matlab’a wpisujemy demo 

 
 

Wprowadzanie wektorów (przykłady) 

a = -3:10 - tworzy wektor z liczb całkowitych od -3 do 10  
b = -10:3:10 – tworzy wektor z liczb od  -10 do 10 z krokiem 3 
c = linspace(-3, 2, 8) –  tworzy wektor złożony z liczb od –3 do 2 o ośmiu 
elementach (w „odstępach” linowych) 
d = logspace(-3, 2, 8) – tworzy wektor złożony z liczb od 10

-3

 do 10

2

 o ośmiu 

elementach (w „odstępach” logarytmicznych) 
max(a) – wybiera wartość maksymalną ze współrzędnych wektora 
min(a) –  wybiera wartość minimalną ze współrzędnych wektora 
sum(a) – suma elementów wektora 
prod(a) – iloczyn elementów wektora 
length(a) – długosc wektora 
 

Macierze 

a = [1  2  3] –  macierz (wektor wierszowy) o wymiarze 1 wiersz 3 kolumny 
b= [ 1  2  3; 2  3  5; 3  4  5]  – macierz o wymiarze 3 wiersze 3 kolumny (zamiast 
; można nacisnąć ENTER) 
macierze możemy „umieszczeć” jedna w drugiej np. c = [b b] - macierz o 
wymiarze 3 wiersze 6 kolumn 
macierze możemy dodawać, mnożyć (uwaga zgodność wymiarów) 
potegowanie macierzy – b^2, b^3;  
c=sqrtm(b) – c*c=b; 
podstawowe operacje arytmetyczne  + ,  -  , * ,  /   
kiedy zastosujemy operator kropki . przed operacją * to operacja będzie działać 
na każdy z elementów z osobna  – porównać b*b i b.*b; 
 
zeros (3, 4) - polecenie tworzy macierz „zer” o zadanym wymiarze 3x4 
ones (2, 3) - polecenie tworzy macierz „jedynek” o zadanym wymiarze 2x3 
eye (2,3) - polecenie tworzy macierz jednostkową o zadanym wymiarze 2x3 
rand(2,3) – wartości losowe od 0-1 
diag([1 2 4]) - macierz diagonalna (na przekątnej znajdują się wartości 1, 2, 3) 
diag(a) – tworzy wektor z przekątnej 
det(b) – wyznacznik macierzy 
inv(b) – macierz odwrotna 
[x,y]=size(b) – rozmiar macierzy  
eig( b) - oblicza wartości własne macierzy 
inv (b) - odwraca macierz  
b’ - tworzy macierz transponowaną 
a=[ ] – zerowanie macierzy 
 
Przykład „składania” macierzy z podmacierzy 
a=[1 2 3 ;4 5 6;7 8 9]; 
b=[a a.^2; zeros(size(a)) a’] 
Przykład wybierania podmacierzy 
a=[1 2 3 4; 5 6 7 8;9 10 11 12;13 14 15 16]; 
a(2:4,1:3) 
 
b=[1 2 3;4 5 6;7 8 9]; 
b (1, 2) = 2 - element macierzy będący na pozycji 1 wiersz 2 kolumna 
b(1:2,1) =[1 4]’- elementy macierzy znajdujące się od 1-szego do 2-go rzędu w 
pierwszej kolumnie 
b([1 3], [2 3]) =[2 3 ;8 9]- elementy macierzy znajdujące się w 1-szym i 2-gim 
rzędzie w 2-giej i 3-ciej kolumnie 
b(1:5) - wypisuje 5 pierwszych elementów macierzy b biorąc kolejne wiersze 
b( : ,2) - wypisuje całą drugą kolumnę macierzy b  
 

Wielomiany (przykład) 

Wielomian: 5x

4

-7x

3

+8x+30 zapisany w Matlab’ie wygląda następująco: 

p=[5 –7 0 8 –30] 
roots (p) – pierwiastki wielomianu 
conv(a,b) – mnożenie wielomianów  
a= [1 2 3 4];  
b= [4 3 2 1 ];  
conv(a,b) =   4    11    20    30    20    11     4 
deconv(a,b) dzielenie wielomianów 
[r,p,k]=residue (a,b) – rozkład na ułamki proste  
a(x)/b(x)= r

1

/(x-p

1

)+ r

2

/(x-p

2

)+.....+ r

n

/(x-p

n

) + k(x) 

polyfit – aproksymacja wielomianem stopnia n w sensie najmniejszych 
kwadratów 

ZNAJOMOŚĆ ALGEBRY MACIERZY 
 
Funkcje elementarne 

abs – wartośc bezwzględna lub moduł liczby zespolonej 
round – zaokrąglenie do najbliższej całkowitej 
sign – znak funkcji 
funkcje tryg – sin, cos, tan, asin, acos, sinh .......... 
rem – reszta z dzielenia dwóch liczb 
gcd – największy wspólny podzielnik 
log, log10 – logarytmu  
 

Wykresy 2D 

plot (a) – rysuje wykres z oś x domyślnie 1, 2, ... ilość elementów, oś y wartości 
wektora a 
plot (a, b) - rysuje wykres z oś x wartości wektora a, oś y wartości wektora b ( 
wektory a i b tej samej długości) 
plot (a, b, ‘typ linii’) tak jak powyżej ale można podać typ linii np. – ciągła, - - 
kreskowa, : punktowa,  itp.  
plot (a, b, ‘typ linii’,c ,d, ‘typ linii’, ...) kilka wykresów na jednym rysunku  
spróbować  
grid – siatka na wykresie 
hold on – nowy wykres dorysowywany jest na starym 
fplot (‘sin(x*x)/x’,[0 4*pi]) – wykres funkcji ciągłej 
loglog – skala logarytmiczna obu osi,  
semilogx - skala logarytmiczna osi x  
semilogy – skala logarytmiczna osi y 
figure(n) – tworzy nowe okno wykresu (n –te) 
clf – czyści obecny wykres 
zoom – powiększenie wykresu 
 

Wykresy 3D 

[x,y]=meshgrid(1:5;1:5) – tworzy siatkę punktów x,y wykorzystywaną do 
rysowania wykresów 3D 
surf, meshc, meshz, waterfall, pcolor – różne typy wykresów 3D 
shading flat, shading interp, shading faceted – różne typy cieniowania 
 

Polecenia systemu operacyjnego: 

patch – wyświetla ścieżki dostępu do katalogów Matlab’a 
dir – wyświetla zawartość katalogu roboczego 
pwd – wyświetla ścieżkę bieżącego katalogu 
type – zawartość pliku 
delete – usuwa określony plik 
cd – zmienia katalog 
! – po wykrzykniku możemy wpisywać każde polecenie systemu operacyjnego 
 

Zapisanie przestrzeni roboczej 

Diary – zapisuje w ASCII sesje 
Save filename –ASCII  
Save filname zmienna1 zmienna2 – ASCII 
Ottwarzanie przestrzeni roboczej 
Load filname 
who –podaje wykaz zmiennych 
what – podaje informacje o –m plikach na dysku 
wlear – czyści przestrzeń roboczą 
clear zmienna1 zmienna2 – czyści zmienne 
 

Liczby zespolone  

zapisujemy podobnie jak w zwykłym zapisie matematycznym np. 5+10i 
abs ( 2+1i) - oblicza moduł liczby zespolonej 
angle (2+1i) - oblicza argument liczby (kąt) 
conj (2+1i) - tworzy liczbę sprzężoną 
real (2+1i) - podaje część rzeczywistą liczby 
imag (2+1i) - podaje część urojoną liczby 
 

Przetwarzanie sygnałów  

Y=fft(x,n) szybka dyskretna transformata fouriera 
X=ifft(y,n) odwrotna 
fft2, ifft2, - dwuwymiarowe; 
 

Nieliczbowe wyniki obliczeń 

inf - symbol nieskończoności 
NaN – (Not a Number) symbol o nieokreślonej wartości 
 

Podstawowe operatory relacji

 <, <=,==,~=