matlab.dat.txt

(24 KB) Pobierz
dr Tomasz ciężor 

Wydział Inżynierii rodowiska 
Politechnika Krakowska 


Podstawy programowania 
wjęzyku MatLab 


wg: 

 
R. Jankowski, I. Lubowiecka, W. Witkowski, Politechnika Gdańska, 
Wydział Inżynierii Lšdowej, Gdańsk 2003 
 
M.Czajka Ćwiczenia. MATLAB, wyd. Helion 2005 
 
W. Regel Obliczenia symboliczne i numeryczne w programie MATLAB, 
wyd. MIKOM, Warszawa 2004 

rodowisko i programowanie w języku MATLAB 

 
MATLAB -pakiet obliczeniowy firmy MathWorks jest przeznaczony do 
wykonywania różnorodnych obliczeń 
numerycznych. 
 
Serce pakietu stanowi interpreter języka umożliwiajšcy implementację 
algorytmów numerycznych oraz biblioteki podstawowych działań 
na 
macierzach (odwracanie, dodawanie/odejmowanie, wartoci własne itp.). 
 
Podstawowym typem danych jest macierz, stšd nazwa MATrix 
LABoratory. 
 
Pakiet posiada obszerne biblioteki dodatkowych procedur umożliwiajšce 
rozwišzywanie typowych problemów obliczeniowych. 
 
Prosta budowa okienkowa ułatwia korzystanie z programu. 
 
Łatwa i estetyczna jest wizualizacja wyników w postaci dwu-i 
trójwymiarowych wykresów. 
 
Dodatkowš 
zaletš 
pakietu MATLAB jest możliwoć 
przeprowadzenia 
obliczeń 
symbolicznych (na wzorach). 

Wprowadzenie do pracy w rodowisku 
języka MATLAB 

 
Praca w rodowisku języka MATLAB polega na wydawaniu poleceń, które 
po zatwierdzeniu wykonywane sš 
przez interpreter. 
 
Większš 
liczbę 
instrukcji można zapisać 
w zbiorze tekstowym zwanym 
skryptem (pliki z rozszerzeniem .m). 
Przykłady poleceń 


 
Podstawienie: 
ť a=3; 


powoduje utworzenie zmiennej ao wartoci 3. 
UWAGA: rednik po poleceniu powoduje, że wartoć 
będšca wynikiem nie 
będzie wywietlana na ekranie. 


ť b=sin(a) 
b= 
0.1411 


oblicza wartoć 
funkcji sinus dla zmiennej a, wynik zapisuje do zmiennej b i 
wywietla na ekranie. 

 
Jeżeli nie podano nazwy zmiennej to wynik działania jest umieszczany w 
standardowej zmiennej ans, np.: 
ť cos(pi/3) 
ans = 
0.5000 


 
Utworzona (zdefiniowana) zmienna jest pamiętana od momentu utworzenia, aż 
do chwili jej usunięcia. Możliwa jest przy tym nie tylko zmiana wartoci, ale 
również 
rozmiaru zmiennej. 

Nazwy zmiennych i informacje o nich można uzyskać 
wywołujšc funkcje who 
(wylicza zmienne) i whos (podaje nazwy, rozmiary, iloć 
zajmowanej pamięci i 
klasę 
zmiennych). 

 
Usunięcie zmiennej z pamięci: 
clear a-usuwa zmiennš 
a; 
clear-usuwa wszystkie zmienne znajdujšce się 
w pamięci. 
 
Zapisanie zmiennych na dysku: 
save nazwa_pliku(domylnie przyjmowane jest rozszerzenie .mat). 
 
Wczytanie danych z pliku dyskowego: 
load nazwa_pliku 


 
Korzystanie z podręcznej pomocy podajšcej opis funkcji: 
help nazwa_funkcji 


 
Zawartoć 
aktualnego katalogu można wywietlić 
używajšc funkcji dirlub 
ls 
 
Do zmiany katalogu służy polecenie: 
cd nazwa_katalogu 


Liczby rzeczywiste i ich formaty 

 
Podstawowym typem dla elementów macierzy wykorzystywanym przez 
MATLAB sš 
liczby rzeczywiste. 
 
Maksymalnš 
i minimalnš 
wartoć 
liczby rzeczywistej dodatniej można poznać 
za pomocš 
funkcji realmaxi realmin. 

 
Do okrelenia sposobu, w jaki liczby rzeczywiste sš 
przedstawione na ekranie 
służy polecenie format postać_liczby, gdzie postać_liczby okrela 
postać, w jakiej liczby rzeczywiste będš 
wywietlane na ekranie: 
format short  do 4 miejsca po przecinku 
format long  do 14 miejsca po przecinku 
format short e  do 4 miejsca po przecinku w zapisie cecha-mantysa 
format long e  do 14 miejsca po przecinku w zapisie cecha-mantysa 
format short g  do 4 miejsca po przecinku 
format long g  wszystkie miejsca znaczšce 
format hex  w zapisie szesnastkowym 
format bank  do 2 miejsc po przecinku 
format rat  jako ułamek zwykły 

Przykład: 

Przedstaw liczbę 
2,5 w różnej postaci używajšc funkcji format. 
ť format short 
ť 2.5 
ans = 


2.5000 
ť format short e 
ť 2.5 
ans = 

2.5000e+000 
ť format long 
ť 2.5 
ans = 

2.50000000000000 

Pomocne zmienne Matlaba 

pi wartoć 
liczby . 
date, clock aktualna data i czas 
NaN wartoć 
nieokrelona 
Inf nieskończonoć 



Liczby zespolone 

Matlab bez problemu rozpoznaje liczby zespolone, i wie, jakiego typu jest 
nowa zmienna: 

Przykład: 

ť x=2+4i 
x= 


2.0000 + 4.0000i 
ť y=-3-12i 
y= 


-3.0000 -12.0000i 
ť z=x+y 
z= 


-1.0000 -8.0000i 


Macierze 

ˇ Definicja macierzy przez wyliczenie elementów: 
Przykład: 

ťA=[2 22 1; 12 3 1]; 


lub: 

ťA=[2 22 1 
12 3 1] 
A= 


22211231 


Poszczególne elementy macierzy oddziela się 
spacjami, a wiersze rednikami lub 
umieszcza się 
je w oddzielnych liniach. 

ˇ Definicja macierzy przez wygenerowanie elementów: 
A=[min:krok:max] 


Polecenie generuje wektor poczynajšc od elementu o wartoci min, kończšc na 
elemencie o wartoci max z krokiem krok. Jeżeli parametr krok zostanie 
pominięty, przyjmuje się,iż 
krok=1. 

Przykład: 

Wygeneruj macierz dwuwierszowš 
o wyrazach od 1 do 10 w pierwszym wierszu 
i o wyrazach od 2 do 20 (co 2) w wierszu drugim. 

ť A=[1:10; 2:2:20] 


A= 
1234 5 6 78 910 
24 6 8 1012 1416 18 20 



 
Definicja macierzy wykorzystujšca elementy innych macierzy: 
Przykład: 

Utwórz macierz D budujšcjš 
ze zdefiniowanych macierzy A, B i C. 

ťA=[1 41; 2 01]; 


ť B=[3 1; 4 1]; 


ťC=[1 22 0 1;2 4 7 10]; 


ť D=[A B; C] 


D= 
14131 
20141 
12201 
24710 


UWAGA: 
Przy takim budowaniu macierzy należy pamiętać 
o zgodnoci wymiarów. 


Wymiar i wywietlanie macierzy 

 
[n,m]=size(A) zwraca liczbę 
kolumn n i wierszy m macierzy A; 
 
n=length(B) zwraca wymiar wektora B (lub większy z wymiarów 
macierzy B); 
 
A lub disp(A)  pokazuje macierz A na ekranie; 

Funkcje wspomagajšce konstruowanie macierzy 


ˇ Definicja macierzy jednostkowej: 
Przykład: 

Utwórz kwadratowš 
macierz jednostkowš 
A o wymiarze 3×3. 

ť A=eye(3) 


A= 
100 
010 
001 


ˇ Definicja macierzy wypełnionej jedynkami: 
Przykład: 

Utwórz macierz A o wymiarze 2×3 wypełnionej jedynkami. 

ť A=ones(2,3) 


A= 
111 
111 


ˇ Definicja macierzy wypełnionej zerami: 
Przykład: 

Utwórz macierz A o wymiarze 3×2 wypełnionej zerami. 

ť A=zeros(3,2) 


A= 
000 
000 


Dostęp do elementów macierzy 

ˇ Odwołanie do elementów: 
Przykład: 

ťA=[1 23; 0 98; 1 1 0] 


A= 
123 
098 
110 



ť A(2,3) odwołanie do elementu w wierszu 2 i kolumnie 3; 
ans = 

8 
ť A(3,2) odwołanie do elementu w wierszu 3 i kolumnie 2 
ans = 

1 


ť A(:,2) odwołanie do kolumny 2 
ans = 
2 
9 
1 
ť A(3,:) odwołanie do wiersza 3 


ans = 
110 
ť A(:) odwołanie do wszystkich danych w formie wektora 
ans = 


1 
0 
1 
2 
9 
1 
3 
8 
0 


ˇ Wybór największego elementu 
max(A) zwraca największy element wektora A. W przypadku gdy A jest 
macierzš, zwraca wektor wierszowy, którego elementami sš 
maksymalne 
elementy z każdej kolumny A 
Przykład: 

ť max(A) 
ans = 
198 


ˇ Wybór najmniejszego elementu 
min(A) zwraca najmniejszy element wektora A. W przypadku gdy A jest 
macierzš, zwraca wektor wierszowy, którego elementami sš 
maksymalne 
elementy z każdej kolumny A 

Przykład: 

ť min(A) 
ans = 
010 


ˇ Obliczanie wartoci redniej elementów 
mean(A) zwraca redniš 
arytmetycznš 
elementów wektora A. W przypadku 
gdy A jest macierzš, zwraca wektor wierszowy, którego elementami sšrednie 
arytmetyczne elementów z każdej kolumny A 
Przykład: 

ť mean(A) 
ans = 
0.6667 4.0000 3.6667 


ˇ Odwołanie do podmacierzy 
Przykład: 

ťA=[1 23 4 5 6; 0 9 87 6 5;1 1 0 02 2] 


A= 
123456 
098765 
110022 


ť B=A(:,[1:3 5]) utworzenie macierzy B poprzez pobranie z macierzy A 
kolumn: 1-3 oraz 5 

B= 
1235 
0986 
1102 


ť B=A([1 3],1:2:5) utworzenie macierzy B z elementów macierzy A 
leżšcych na przecięciu wierszy 1 i 3 z kolumnami 1, 3 i 5 

B= 
135 
102 



ˇ Usuwanie wektora z macierzy: 
Przykład: 

ťA=[1 23 4; 45 6 7] 


A= 
1234 
4567 


ť A(2,:)=[ ] usuwa drugi wiersz z macierzy A 
A= 

1234 
ť A(:,1:2)=[ ]-usuwa dwie pierwsze kolumny z macierzy A 
A= 

34 


Działania na macierzach 

ˇ Suma i różnica macierzy 
Przykład: 

Zdefiniuj dwie macierze A i B, a następnie oblicz ich sumę, różnicę 
oraz dodaj do 
elementów macierzy A liczbę 
2. 
Definicja macierzy: 


ťA=[1 -1 2; -23 1] 
A= 


1-1 2 -23 1 
ťB=[1 11; 0 -22] 
B= 


111 
0-2 2 


Suma: 
ť A+B 
ans = 
2 
-2 
0 
1 
3 
3 

Różnica: 

ť A-B 
ans = 
0-2 1 
-2 5-1 



Dodanie do elementów macierzy A liczby 2: 

ť A+2 


ans = 
314 
053 


ˇ Mnożenie macierzy 
Przykład: 

Zdefiniuj dwie macierze A i B, a następnie oblicz ich iloczyn oraz pomnóż 
elementy macierzy A przez 2. 

Definicja macierzy: 

ťA=[1 10; 2 11] 


A= 
110 
211 


ť B=[2; 2; 2] 


B= 
2 
2 
2 


Iloczyn macierzowy: 

ť A*B 


ans = 
4 
8 


Iloczyn macierzy przez liczbę: 

ť A*2 


ans = 
220 
422 



ˇ Odwracanie i transpozycja 
Przykład: 

Zdefiniuj macierz A, a następnie wyznacz macierz odwrotnš 
do niej i dokonaj 
transpozycji. 

ťA=[1 23; 0 98; 3 4 7] 


A = 
1 2 3 
0 9 8 
3 4 7 

ťinv(A) zwraca macierz odwrotnš 
do A 

ans = 
-15.5000 1.0000 5.5000 
-12.0000 1.0000 4.0000 
13.5000 -1.0000 -4.5000 


ť A transponuje macierz A 

ans = 
103 
294 
387 


Przykład 

Zdefiniuj wektor kolumnowy A, a następnie oblicz sumę 
kwadratów elementów 
tego wektora. 

ť A=[1 2 3] 


A= 
1 
2 
3 


ť A*A 
ans = 
14 



Dział...
Zgłoś jeśli naruszono regulamin