background image

 

POLITECHNIKA ŁÓDZKA 

Katedra Techniki Cieplnej i Chłodnictwa 

 

 
 
 
 
 
 
 
 
 
 

TECHNOLOGIE 

INFORMATYCZNE 

 
 
 
 
 

MATLAB 

 
 

Część I 

 
 

 Temat:   Środowisko programu, podstawowe operacje 

 

 
 
 

 Opracował: dr inż. Artur Gutkowski 

 
 
 
 
 
 
 

Łódź - 2008

 

 

Katedra Techniki Cieplnej i Chłodnictwa 

90-924 Łódź; ul. Stefanowskiego 1/15 
tel. 042 631 23 12; 042 631 23 11; fax 042 636 74 81; e-mail: k15@p.lodz.pl

 

 

background image

 

2

 
 
 
 
 
Spis Treści 

 
 
 
 
 
 
 
1. Wstęp ...............................................................................................................................................3 

2. Wygląd MATLAB-a ........................................................................................................................3 

3. Wprowadzanie liczb i proste operacje na nich.................................................................................5 

4. Wprowadzanie łańcuchów i proste operacje na nich.....................................................................11 

5. Literatura........................................................................................................................................13 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

 

3

1. Wstęp 

 

MATLAB jest obecnie jednym z najczęściej wykorzystywanych programów do obliczeń 

naukowych i technicznych. Czynnikiem odpowiedzialnym za tą popularność jest w głównej mierze 
prostota jego obsługi oraz szeroka baza bibliotek, którymi dysponuje. Pierwsza wersja programu 
pojawiła się w 1985, ale jego początki sięgają lat siedemdziesiątych. Innowacyjną zmianą, 
odróżniającą go od innych aplikacji tego typu było traktowanie każdej liczby jako macierzy 
(pojedyncza liczba jest macierzą o wymiarach 1×1), stąd też wzięła się nazwa pakietu (MATrix 
LABoratory). Oprócz obliczeń macierzowych pozwala on także na analizę numeryczną, 
przetwarzanie sygnałów, obliczenia symboliczne oraz obróbkę obrazów. Wyniki pracy MATLAB’a 
mogą być przedstawione za pomocą dwu lub trójwymiarowych wykresów a nawet filmów 
animowanych. 

Pracę z MATLAB’em możemy podzielić na dwa podstawowe tryby: bezpośredni i pośredni. 

Pierwszy tryb przypomina dialog. Użytkownik w oknie poleceń pisze komendę lub „zapytanie”  
a pakiet wyświetla wynik lub „odpowiedź”. Pośredni tryb polega na uruchomieniu programu 
napisanego w języku pakietu MATLAB. Drugi sposób wykorzystujemy zwłaszcza wtedy, gdy 
podczas pracy często pojawia się problem wielokrotnego wpisywania (z wiersza poleceń) szeregu 
tych samych poleceń, proces ten może być zautomatyzowany poprzez stworzenie m-pliku (plik  
z rozszerzeniem .m). M-pliki są skryptami (plikami tekstowymi) obsługiwanymi przez MATLAB. 
Lista poleceń znajdująca się w takim pliku jest uruchamiana jedną komendą. W skrypcie może 
znajdować się procedura, funkcja lub wiele funkcji. Do napisania skryptu nie potrzebujemy 
MATLABA, może to tego celu posłużyć prawie każdy edytor tekstowy np. Notepad, lub Wordpad. 
 

W tym opracowaniu skoncentrujemy się na podstawowych operacjach na liczbach  

i łańcuchach, które także mogą być wykorzystywane podczas pracy z macierzami. 
 
 

2. Wygląd MATLAB-a 

 

Po otwarciu MATLABA-a ukazuje się domyślny interfejs (rys. 1) składający się z kilku 

podstawowych okien: 
 

 

 

Rys. 1. Domyślny interfejs MATLAB-a. 
 

background image

 

4

- Command Window – okno poleceń, 
- Command History – okno poprzednich poleceń, 
- Current Directory – okno katalogu roboczego, 
- Workspace – informacje o zmiennych w przestrzeni roboczej. 
 

Sercem programu jest okno poleceń (Command Window) (rys. 2), to tutaj wpisujemy 

większość poleceń i funkcji, także tutaj otrzymujemy odpowiedzi i wyniki. 
 

 

 

Rys. 2. Okno poleceń. 
 

Command History (rys. 3) pokazuje wszystkie komendy, które zostały wpisane w oknie 

poleceń. W oknie tym nie ma wyników ich działania. 
 

 

 

Rys. 3. Okno historii. 
 

Okno katalogu roboczego (Current Directory) (rys. 4) zawiera opcje, które ułatwiają 

otwieranie, edytowanie i zapisywanie plików. 
 

background image

 

5

 

 

Rys. 4. Okno katalogu roboczego. 
 

Workspace (rys. 5) pokazuje zmienne, które zostały stworzone w danej sesji. Można tam 

znaleźć także informacje dotyczące ich rozmiaru oraz rodzaju. 
 

 

 

Rys. 5. Okno przedstawiające informacje o zmiennych. 
 
 

3. Wprowadzanie liczb i proste operacje na nich 

 

Do podstawowych działań arytmetycznych w MATLAB-ie wykorzystujemy dwa rodzaje 

operatorów: macierzowe i tablicowe (Tabela 1). Pierwsze wykonują operacje na całych macierzach 
drugie na konkretnych elementach macierzy. 
 
Tabela 1. Operatory wykorzystywane w MATLAB-ie. 

 

Operator 

macierzowy 

Opis 

Operator 

tablicowy 

+ dodawanie + 

– odejmowanie – 
* mnożenie .* 

/ dzielenie 

prawostronne ./ 

\ dzielenie 

lewostronne .\ 

^ potęgowanie .^ 

’ sprzężenie nie 

ma 

.’ transpozycja 

nie 

ma 

 

background image

 

6

Zawsze musimy zdawać sobie sprawę o jakie działanie nam chodzi, w pewnych przypadkach 

nie będzie miało znaczenia, który z operatorów użyjemy np. gdy będziemy chcieli pomnożyć przez 
siebie dwie liczby (dwie macierze jednostkowe). 
 

Po uruchomiania MATLABA-a pojawia się symbol zachęty (>>), oznacza on, że program 

czeka na wpisanie polecenia, które zatwierdzane jest klawiszem ENTER. 
 
Spróbujmy dodać do siebie dwie liczby 
 
>> 2 + 4 
ans = 

>> 

 

Widzimy, że MATLAB wykonał operację, a wynik przypisał do tymczasowej zmiennej ans. 

Gdybyśmy chcieli otrzymany wynik podzielić przez 2, możemy to zrobić następująco 
 
>> ans/2 
ans = 

 3 
>> 
 

Istnieją dwa znaki dzielenie prawostronny i lewostronny, operacje te dają różne wyniki np.: 

 
>> 15/3 
ans = 

 5 
>> 15\3 
ans = 

 0.2000 
>> 
 

Dużym ułatwieniem podczas pracy z MATLAB-em jest to, że nie wymaga on deklaracji 

zmiennych, czynność ta jest wykonywana automatycznie (program przydziela jej domyślny obszar 
pamięci) 
 
>> dlugosc = 5 
dlugosc = 

 5 
>> 
 

Każda nazwa powinna się rozpoczynać od litery alfabetu, po której może być umieszczony 

dowolny znak alfanumeryczny (maksymalna ilość znaków – 31). Należy pamiętać,  że MATLAB 
rozróżnia małe i duże litery. 

Po zatwierdzeniu ENTER-em MATLAB wyświetla nazwę zmiennej w kolejnym wierszu  

a w następnym jej wartość. Jeżeli chcemy uniknąć ponownego wyświetlania nazwy i przypisanej jej 
wartości, na końcu wyrażenia wstawiamy średnik np. 
 
>> dlugosc = 5; 
>> szerokosc = 6; 

>> pole_pow = długość * szerokosc 
pole_pow = 
 30 

>> 

background image

 

7

Gdy podczas pracy postanowimy zmienić wartość zdefiniowanej poprzednio wielkość, 

MATLAB przeprowadzi to w sposób dynamiczny jednocześnie przyporządkowując jej wymagany 
obszar pamięci np.: 
 
>> dlugosc = 5; 
>> szerokosc = 6; 

>> pole_pow = długość * szerokosc 
pole_pow = 
 30 

>> 
>> pole_pow = 2340   

%Ponowne zdefiniowanie wielkości pole_pow 

pole_pow = 
 2340 

>> 
 

Jeżeli w oknie poleceń, lub w skrypcie chcemy umieści komentarz, który nie będzie widoczny 

dla interpretera MATLABA-a to poprzedzamy go znakiem %. 
 

Istnieje także możliwość zapisu kilku instrukcji w jednej linii – oddzielamy je przecinkiem. 

 
>> a = 2; , b = 3; 

>> a + b 
ans = 

 5 
>> 
 

MATLAB wyświetla domyślnie liczby z dokładnością do czterech cyfr po przecinku. Jeżeli 

chcemy zmienić postać prezentowanych liczb możemy to zrobić za pomocą polecenia format. 
Dyrektywa ta zmienia tylko sposób wyświetlania liczb a nie ma wpływu na dokładność obliczeń 
(wszystkie obliczenia wykonywane są w podwójnej precyzji). Spróbujmy prześledzić sposób 
wyświetlania przez MATLAB następującej liczby: 
 
>> a = 1.2345678910 
a = 

 1.2346 
>> 

format 

long 

      

%zmieniamy format 

>> a 
a = 
 1.23456789100000 

>> 

format 

short 

     

%zmieniamy format 

>> a 

a = 
 1.2346e+000 

>> 

format 

long 

     

%zmieniamy format 

>> a 
a = 

 1.234567891000000e+000 
>> 
 

Oczywiście można to także zapisać w taki sposób: 

 
>> a = 1.2345678910 
a = 

 1.2346 

background image

 

8

>> 

format 

long, 

     

%zmieniamy format 

a = 

 1.23456789100000 
>> format short e, a 

 

 

 

 

%zmieniamy format 

a = 

 1.2346e+000 
>> format long e, a  

 

 

 

 

%zmieniamy format 

a = 
 1.234567891000000e+000 

>> 
 

W Tabeli 2 zestawiono funkcje formatujące sposób wyświetlania wyników. 

 
Tabela 2. Rodzaje formatowania w MATLAB-ie. 

 

Polecenie Opis 

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 short g 

5 cyfr, reprezentacja stało- lub przecinkowa 

format long g 

15 cyfr, reprezentacja stało- lub przecinkowa 

format hex 

liczba w układzie szesnastkowym 

format bank 

2 liczby dziesiętne 

format rat 

przybliżona wartość liczby w postaci ułamka 

format + 

informacja o znaku liczby 

 

Jeżeli wpisywana zależność jest zbyt długa możemy ją przenieść do następnego wiersza 

wstawiając po znaku operacji trzykropek (…) np. 
 
>> a = 1/10 + 2/10 + 3/10 + 4/10 +5/10 + ... 
6/10 + 7/10 + 8/10 + 9/10 

a = 
 4.5000 

>> 
 

Spróbujmy teraz policzyć objętość walca znając jego promień i wysokość  (

h

r

V

=

2

π

). 

Załóżmy, że promień wynosi 2cm (4cm) a wysokość 10cm. 
 
>> Promien = 2; 
>> Wysokosc = 10; 
>> Objetosc = pi * Promien * Promien * Wysokość 

%pi stała MATLAB-a 

Objętość = 
 125.6637 

>> 
>> Promien = 4; 

 

 

 

%zmieniamy wartość promienia 

>> Objetosc = pi * Promien * Promien * Wysokość 

%używamy

 

%klawiszy 

Objętość =  

 

 

 

 

 

 

 

  

%do ponownego 

 502.6548 

     

%przywołania tej komendy 

 
 
 

background image

 

9

Aby uniknąć wpisywania tych samych komend, możemy do nich wrócić za pomocą 

kombinacji klawiszy i użyć ich w nie zmienionej formie lub je zmodyfikować. W Tabeli 3 podano 
kombinacje klawiszy służące do edycji linii poleceń. 
 
Tabela 3. Kombinacje klawiszy służące do edycji linii poleceń w MATLAB-ie. 

 

Kombinacja klawiszy 

Funkcja 

Przywołanie poleceń 

↑ <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 jedne słowo 

<Ctrl> + ← 

<Ctrl> + <L> 

Przesuwa w lewo o jedne 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ę 

 

Nie jest konieczne wpisywanie wartości liczbowej π istnieje w MATLAB-ie funkcja 

specjalna pi, która robi to za nas. Inne funkcje specjalne zostały podane w Tabeli 4. 
 
Tabela 4. Zmienne specjalne i stałe w MATLAB-ie. 

 

ans 

zmienna robocza 

pi 

3.1415926…. 

i, j 

jednostka liczby urojonej - 

1

 

eps 

precyzja zmiennoprzecinkowa - 

52

2

=

ε

 

realmin  najmniejsza dostępna liczba rzeczywista - 

1022

2

 

realmax  największa dostępna liczba rzeczywista - 

1023

2

)

2

(

ε

 

inf 

nieskończoność  

NaN 

wartość nie oznaczona – (not a number) 

 

Nazwy te nie są jednak zastrzeżone dlatego jest możliwość zmiany ich wartości. Znak inf 

pojawia się na przykład przy dzieleniu przez zero. 
 
>> 2/0 

Warning: Divide by zero. 
ans = 

 Inf 
>> 
 

Wyrażenie NaN pojawia się przy działaniach typu 0/0 i Inf-Inf. 

 

Jeżeli chcemy usunąć z przestrzeni roboczej MATLAB-a jakąś zmienną robimy to za pomocą 

komendy clear. Komenda clc czyści okno poleceń. 

background image

 

10

>> clear Promien 

    

%usuwa z pamięci roboczej zmienną „Promien” 

>> clear all   

    

%usuwa z pamięci roboczej wszystkie zmienne 

>> 
 

Podczas wprowadzania części urojonej liczby zespolonej, nie stosujemy znaku mnożenia. Do 

wyświetlenia części rzeczywistej i urojonej służą dwie funkcje real i imag. 
 
>> a = 1 + 2i; 

>>real(a)  

 

%wyświetla część rzeczywista liczby zespolonej 

ans = 

 1 
>>imag(a)  

 

%wyświetla część urojona liczby zespolonej 

ans = 

 2 
>> 
 

Wartość bezwzględną liczby (moduł) obliczamy za pomocą funkcji abs 

 
>> abs(2) 
ans = 

 2 
>> abs(-2) 

ans = 
 2 

>> abs(1 + 2i) 
ans = 

 2.2361 
>> 
 

Oczywiście MATLAB zawiera dużo więcej funkcji matematycznych. Kilkanaście z nich 

zostało przedstawionych w Tabeli 5. 
 
Tabela 5. Elementarne funkcje matematyczne w MATLAB-ie. 

 

Nazwa funkcji 

Objaśnienie 

sqrt(x) 

pierwiastek 

abs(x) 

wartość bezwzględna 

exp(x) 

e do potęgi x 

log(x) 

logarytm naturalny 

log2(x) 

logarytm o podstawie 2 

log10(x) 

logarytm o podstawie 10 

sign(x) 

zwraca -1 jeżeli x<0, 0 jeżeli x=0 i 1 jeżeli x>0 

sin(x), cos(x), tan(x), 

cot(x) 

funkcje trygonometryczne 

sinh(x), cosh(x), tanh(x), 
coth(x) 

funkcje hiperboliczne 

asin(x), acos(x), atan(x), 

acot(x) 

funkcje odwrotne do trygonometrycznych 

gcd(x, y) 

największy wspólny podzielnik 

lcm(x, y) 

najmniejszy wspólny podzielnik 

rem(x, y) 

reszta z dzielenia 

 
 

background image

 

11

 Oto 

przykład użycia funkcji matematycznych służących do obliczenia poniższych wielkości: 

 

2

3

=

x

2

/

2

2

1

x

e

y

=

π

 

 
>> x = sqrt(3)/2 
x = 

 0.8660 
 

>> y = exp(-(x^3)/2)/sqrt(2*pi) 
y = 

 0.2883 
>> 
 

MATLAB udostępnia także szereg funkcji służących do zaokrąglania, (patrz przykład poniżej 

i Tabela 6). 
 
>> A = 2.31; 
>> ceil(A) 

ans = 
 3 
>> floor(A) 

ans = 
 2 

>> fix(A) 
ans 

 2 
>> round(A) 
ans 

 2 
>> 
 
Tabela 6. Funkcje zaokrągleń w MATLAB-ie. 

 

Funkcja Opis 

ceil(x) 

zaokrągla w górę (+∞) 

floor(x) 

zaokrągla w dół (–∞) 

fix(x) 

zaokrągla w kierunku zera 

round(x) 

zaokrągla do najbliżej liczby całkowitej 

 
 

4. Wprowadzanie łańcuchów i proste operacje na nich 

 

Możemy także wprowadzać do MATLAB-a tekst (string) jako ciąg znaków (characters)  

w tym celu używamy apostrofów np. 
 
>> A = ‘K’ 
A = 


>> 
 
albo 

background image

 

12

>> B = ‘Lodz to ciekawe miasto.’ 
B = 

Lodz to ciekawe miasto. 
>> 
 

Możliwe jest dodawanie do siebie wyrazów (funkcja strcat) np. 

 
>> A = ‘Lodz’; 
>> B = ‘to ciekawe miasto.’; 

>> C = strcat(A, B) 
C = 
Lodzto ciekawe miasto. 

>> 
 

Widzimy,  że potrzebny jest odstęp pomiędzy pierwszym a drugim członem, możemy to 

uzyskać wstawiając spację za pierwszym wyrazem a apostrofem, lub w drugim wyrazie za 
apostrofem a początkiem wyrazu. 
 
>> A = ‘Lodz ’; 

>> B = ‘to ciekawe miasto.’; 
>> C = strcat(A, B) 

C = 
Lodz to ciekawe miasto. 

>> 
 

Bardzo często będzie wykorzystywana funkcja ischar w celu sprawdzenia czy dana 

wielkość jest znakiem (łańcuchem) czy liczbą. Funkcja ta zwraca: prawdę (1) jeżeli jest to wyraz,  
w pozostałych przypadkach – fałsz (0). 
 
>> A = ‘Lodz’; 

>> B = 5; 
>> ischar(A) 

ans = 
 1 

>> ischar(B) 
ans = 
 0 

>> 
 

Możemy także zmieniać litery w wyrazie na małe (lower) lub duże (upper), także tutaj 

może być stosowana funkcja length liczącą ilość znaków w wyrażeniu lub macierzy. 
 
>> A = ‘Lodz’ 
ans = 

Lodz 
>> lower(A) 
ans = 

lodz 
>> upper(A) 

ans = 
LODZ 

>> length(A) 
ans = 

 4 

background image

 

13

Odwołanie się do poszczególnych znaków w wyrażeniu może być zrobione następująco: 

 
>> A = ‘Lodz’; 
>> A(1) 

ans = 

>> B = A(2) 

B = 

>> 
 

Jak z powyższego wynika operacja ta wyświetla znaki łańcucha odpowiadające liczbom 

umieszczonym w nawiasie, licząc od lewej strony łańcucha. 
 
 

5. Literatura 

 
1. 

http://www.mathworks.com 

2. 

Kuncicky D. C. 

MATLAB programming, Person Education, Inc, 2004, 

3. 

Mrozek B., Mrozek Z. 

MATLAB i Simulink – Poradnik użytkownika, Helion, Warszawa, 2004, 

4. 

Zalewski A., Cegieła R. 

MATLAB – obliczenia numeryczne i ich zastosowanie, Wydawnictwo 

Nakom, Poznań, 1996,