background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

Podstawowa literatura 

1. Bogumiła Mrozek, Zbigniew Mrozek, „Matlab - uniwersalne środowisko do obliczeń 

naukowo-technicznych”, Wyd. PLJ, Warszawa 1996.

2. Jerzy Brzózka, Lech Dorobczyński, "Programowanie w Matlab", MIKOM, Warszawa 

1998.

3. Stanisław   Osowki,   Andrzej   Toboła,   „Analiza   i   projektowanie   obwodów   z 

zastosowaniem języków  MATLAB i PCNAP”, Oficyna Wyd. Polit. Warszawskiej, 
Warszawa 1995.

Najkrótsza charakterystyka Matlaba

MATLAB   jest   interakcyjnym   pakietem   programów   do   obliczeń   numerycznych, 

ukierunkowanym   na   zastosowania   inżynierskie.   MATLAB   jest   skrótem   od   MATrix 
LABoratory. MATLAB został napisany w języku C przez firmę MathWorks.
Dostępne   są   wersje   MATLAB-a   pracujące   w   systemach   operacyjnych:   DOS,   UNIX, 
XWindows, Windows

Podstawowe operacje macierzowe zostały bezpośrednio zaimplementowane w języku C 

jako   funkcje   podstawowe   wbudowane   do   Matlaba   i   są   dostępne   dla   użytkownika   po   ich 
wywołaniu. Oznacza to mi.in., że duża litera i ta sama mała litera w nazwie funkcji są różnymi 
nazwami. 

Większość działań i operacji dostępnych jest w postaci m._plików funkcyjnych.
Podstawowe   m._pliki   znajdują   się   w   katalogu   głównym.   Pliki   wyspecjalizowane 

umieszczone są w podkatalogach tematycznych (toolbox).

Inżynier elektryk może być zainteresowany m.in. następującymi toolboxami: Control 

System Toolbox – teoria sterowania, Optimization Toolbox – optymalizacja , Signal Processing 
Toolbox – przetwarzanie sygnałów, SIMULINK  - graficzne modelowanie i symulacja.

Uwaga

Wykłady   z   programowania   w   Matlabie   są   dostosowane   do   wymagań   wersji   4.2.  

Jedynie   w   niektórych   przypadkach   –   tam   gdzie   to   okazało   się   być   niezbędne   –   do  
uruchomienia programów wymagana jest co najmniej wersja 5.3.

Wszystkie programy w wersji 4.2 mogą być uruchomione bez przeszkód w wersjach  

nowszych.

10 pierwszych kroków w Matlabie

Krok 1-szy

Każdy użytkownik Matlaba powinien pracować w sowim własnym katalogu. W tym 

celu na początku zajęć należy założyć na dysku twardym swój unikalny katalog, np.

c:\nazim.iwe

gdzie naz oznacza 3 pierwsze litery nazwiska,  imi – 3 pierwsze litery imienia., iwe – symbol 
nazwy przedmiotu.

1

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

Aby uniknąć błędnej interpretacji nazwy katalogu przez starsze wersje Matlaba, nazwa 

powinna mieć 8 znaków ASCII i 3 znaki rozszerzenia ASCII.  Nie wolno używać polskich 
liter!

Krok 2-gi

Kliknąć   na   ikonie   Matlaba.   Po   uruchomieniu   Matlaba   pojawi   się   okno   poleceń 

/Command Window/ wraz ze znakiem zachęty:
>>

Oznacza to, że użytkownik może wprowadzić polecenia oddzielone przecinkami lub 

średnikami. Po napisaniu polecenia należy nacisnąć klawisz Enter.

Krok 3-ci

Pracę należy rozpocząć od skierowania Matlaba do własnego katalogu

cd c:\nazimi.iwe

Gdy tekst nie mieści się w jednej linii można przejść do następnej wpisując 3 kropki ... 

przed naciśnięciem klawisza Enter , następnie kontynuować tekst polecenia w kolejnej linii. 
Na przykład polecenie 
function [a,b,c]=test(x,y,z,A,B,C) <ENTER>
jest równoważne poleceniu
function[a,b,c]= ... <ENTER>

test(x,y,z,A,B,C) <ENTER>

Należy tu także zwrócić uwagę, że duże litery są innymi nazwami aniżeli te same małe litery.

Krok 4-ty

Z   podstawową   obsługą   Matlaba   najszybciej   można   się   zapoznać   uruchamiając 

program demonstracyjny Matlaba
>> demo
Uruchamia ono zestawy programów pokazujących podstawowe operacje Matlaba.

Krok 5-ty

Dodatkowe informacje o danej wersji Matlaba można uzyskać poprzez wykonanie 

takich poleceń jak :

whatsnew , info , ver , intro , help help 

Krok 6-ty

Możliwości   grafiki   w  MATLAB-ie  można   wstępnie   ocenić,   wykonując   próbny 

rysunek wielomianu dwu zmiennych, za pomocą polecenia:
>> peaks

Krok 7-my

Szybkość   działania   własnego   komputera   w   środowisku   Matlaba   można   poznać 

wypisując polecenie 
>> bench 
Polecenie testujące bench bada oddzielnie czasy wykonywania typowych algorytmów. Może 
służyć   do   oceny,   czy   posiadany   komputer   jest   odpowiednio   skonfigurowany   z   punktu 
widzenia szybkości obliczeń i przetwarzania grafiki w Matlabie. 

2

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

Krok 8-my

Okno poleceń Matlaba można wyczyścić poleceniem

>> clc 
Polecenia  MATLAB-a  są wprowadzane w trybie tekstowym. Jednakże pisanie z klawiatury 
długich   sekwencji   poleceń   lub  komplikowanych  wyrażeń   matematycznych  jest  uciążliwe. 
Dlatego   polecenia   grupuje   się   w   plikach   zewnętrznych   /zapisywanych   na   dysku/   z 
rozszerzeniem *.m. Pliki z  rozszerzeniem *.m mają znaczenie specjalne i nazywa się je m - 
plikami .

M-pliki  można   tworzyć   korzystając   z   dowolnego   edytora   ASCII.   W   żadnym 

przypadku nie może to być edytor wprowadzający widzialne lub niewidzialne znaki sterujące 
(Word, Acrobat, itp). 

W   przypadku,   gdy  MATLAB  współpracuje   z   MS   Windows   można   tworzyć   i 

modyfikować m-pliki korzystając z opcji  FILE  głównego menu okna poleceń.

Tworząc  m-plik,   z   menu   opcji  FILE  należy   wybrać  New   /   M-file.   W   rezultacie 

otworzy się okno edycyjne, w którym można zapisać tekst m-pliku. Aby zapamiętać ten tekst, 
trzeba z menu wybrać komendę Save as .. . Możliwe  jest  wtedy  zapisanie nowopowstałego 
pliku i zapamiętanie go na  dysku .

W przypadku, gdy m-pliki już istnieją można je wczytać za pomocą opcji Open  M - 

file ... . Powoduje to otwarcie okna zawierającego wykaz plików z rozszerzeniem *.m . 

Krok 9-ty

Okno poleceń posiada nagłówek MATLAB Command Window i zawiera rozwijane 

menu.

Operacje na plikach dostępne w rozwijanym menu

File – rozwinięcie menu

New / M-file - otwiera okno edycyjne dla utworzenia nowego m-pliku
New / Figure - otwiera okno graficzne
New / Model - otwiera okno Untitled dla tworzenia nowego modelu SIMULINK-a
Open M-file ... -otwiera istniejący plik celem jego edycji
Run M-file ... - uruchamia m-plik
Print - wykonuje wydruk m-pliku (parametry ustawia się w Printer Setup .. )
Exit MATLAB - ( quit ) – koniec sesji Matlaba

Edycja

Edit  -   umożliwia   kopiowanie   wybranych   informacji   do   bufora.   Współpracę   z   buforem 
realizuje się za pomocą opcji: CutCopy, PasteClear Session

Opcje okna poleceń
Options
 lub Preferences- pozwala na wybór edytora oraz parametrów związanych z 

edycją   poleceń   i   odpowiedzi   pakietu.   Są   to   ustawienia   formatu   wartości   numerycznych, 
koloru i wielkości czcionki znaków na ekranie.

Lista otwartych okien
Windows
 - wyświetla wszystkie otwarte okna w postaci rozwiniętego menu .

Pomoc

3

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

Help  - zapewnia szybką informację o wybranych elementach składowych Matlaba. 

Objaśnienia zgrupowane są w zestawach tematycznych , dostępny jest także spis alfabetyczny 
poleceń i funkcji.

Krok 10-ty

Polecenie
help nazwa

wypisuje opis polecenia, funkcji, operacji, itp., np.

help svd

powoduje wypisanie najważniejszych informacji dotyczących dekompozycji SVD (definicje, 
ograniczenia, sposoby wywołania).

Zawartość plików tekstowych może być wyświetlona za pomocą polecenia
type nazwa_pliku_tekstowego

Powoduje ono wyświetlenie zawartości pliku. Jeżeli tekst przekracza stronę ekranową, to 
można włączyć stronicowanie podając polecenie

more on

Kolejne   stronice   tekstu   można   wyświetlać   naciskając   klawisz   spacji,   a   przerwanie 
wyświetlania - naciskając klawisz "Q". Odwołanie stronicowanie następuje przez

more off
Polecenie
which nazwa_m-pliku

lub

which nazwa_m-funkcji

powoduje  wyświetlenie  ścieżki  dostępu  do m-pliku  lub  m-funkcji  (nazwy podaje  się bez 
rozszerzenia *.m).

Nazwy   zmiennych   i   ilość   wolnej   pamięci   jest   udostępniana   za   pomocą   funkcji 

standardowej

who
Wybrane zmienne można usunąć z pamięci za pomocą polecenia
clear nazwy_usuwanych_zmiennych

np. clear c A

Najważniejsze polecenia plikowe i systemowe

Poniżej podane najczęściej stosowane polecenia systemowe w oknie poleceń Matlaba
pwd

- zwraca pełną ścieżkę określającą aktualny katalog

P = path

- zwraca nazwy katalogów, do których ma dostęp MATLAB

dir (lub ls)

- nazwy plików w aktualnym katalogu

dir nazwa katalogu - wyświetla nazwy plików w katalogu o podanej nazwie
cd

- przejście do danego katalogu

cd \

- przejście z dowolnego poziomu do głównego katalogu

cd ..

- przejście o jeden poziom wyżej w drzewie katalogowym

del

- usuwa plik o podanej nazwie

home

- ustawia kursor w lewym górnym rogu okna poleceń

!tree

- wyświetla strukturę drzewa katalogowego w katalogu

4

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

Zapamiętywanie historii całej sesji obliczeniowej

Pojawienie się polecenia
diary

powoduje   otwarcie   pliku  diary,   do   którego   dopisywane   są   wszystkie   operacje 
alfanumeryczne wykonywane przez program. Nie dotyczy to wyników graficznych, które 
muszą być zapamiętane w inny sposób.

Użycie polecenia  diary  z nazwą pliku spowoduje otwarcie pliku o podanej nazwie 

różnej od diary i dopisywanie do niego wyników operacji matematycznych.

Wyłączenie zapamiętywania historii sesji
Polecenie 
diary off

powoduje przerwanie zapisywania.

Zawartość aktualnego katalogu

Zawartość katalogu uzyskuje się za pomocą polecenia
dir ścieżka_i_znaki_masek(*oraz?)

lub

is ścieżka_i_znaki_masek(*oraz?)

np.

 dir c:\nazimi.iwe

lub

 is c:\nazimi.iwe

Wywołanie poleceń DOS

W   starszych   wersjach   Matlaba   można   korzystać   z   poleceń   DOS.   Jeśli   polecenia 

zostaną poprzedzone wykrzyknikiem

 ! 

to będą traktowane jako polecenia systemu DOS.
np.

!dos – przejście do sesji DOS

Powrót z DOS do okna poleceń Matlaba nastąpi po komendzie  exit  lub zamknięciu okna 
DOS.

Podstawowe operacje macierzowe

Początkujący   użytkownicy   Matlab   wykonują   często   obliczenia   macierzowe 

korzystając z okna poleceń Matlaba. Poniżej podano podstawowe operacje macierzowe,

A = [ 1 2 3; 1 0 1; 1 1 1]; 

tworzenie macierzy

lub

A = [ 1 2 3

5

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

1 0 1
1 1 1
]

Do macierzy o dowolnych wymiarach można zawsze dodać skalar, np.
 A=A+10
daje w wyniku
A =
    11    12    13
    11    10    11
    11    11    11

B = A^(-1)

- odwracanie macierzy

lub

A^(-1) 

- odwracanie macierzy

C = A + B

- dodawanie macierzy

C = A – B

- odejmowanie macierzy

Przy mnożeniu liczba kolumn macierzy A musi być równa liczbie wierszy macierzy B

C = A*B

- mnożenie klasyczne macierzy, np.

A =[
    11    12    13
    11    10    11
    11    11    11
                         ]
B=[1 2; 3 4; 5 6]

C=A*B
daje w wyniku
C =
   112   148
    96   128
    99   132

Mnożenie macierzy przez skalar

C = A*2

- każdy element macierzy A jest mnożony przez 2, np.

A = [
    11    12    13
    11    10    11
    11    11    11
                       ]
C=A*2
daje
C =
    22    24    26
    22    20    22

6

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

    22    22    22

A`

- transpozycja macierzy

C = A/B

- prawostronne dzielenie macierzy

np. 

x = A/B

- odpowiada rozwiązaniu równania macierzowego xB = A

C = A\B

- lewostronne dzielenie macierzy

np. 

x = A\B

- odpowiada rozwiązaniu równania macierzowego Ax = B

Jeżeli w wyrażeniu nie wskazano zmiennej, w której ma być zapamiętany wynik, to 

wynik zostanie umieszczony w standardowej zmiennej o nazwie

 ans

disp

- wysyła zawartość macierzy lub łańcucha do okna poleceń Matlaba. 

Uwaga!

Wartości   będą   wysyłane   na   ekran,   jeśli   polecenie   nie   zostanie   zakończone 

średnikiem.

[n,m] = size(A)

- zwraca liczbę wierszy m oraz kolumn n macierzy A

det(A)

- wyznacznik macierzy

cond(A)

-   wskaźnik   uwarunkowania   macierzy.   Im   większa   wartość 

cond(A) tym gorsze uwarunkowanie

rcond(A)

- odwrotność wskaźnika uwarunkowania macierzy. Im mniejsza 

wartość rcond(A) tym gorsze uwarunkowanie, aż do wartości zerowej

rank(A)

- rząd macierzy

length(x)

- długość wektora x

Liczby zespolone są zapisywane za pomocą symbolu i lub j, jednak nieco odmiennie od 
zapisu matematycznego
sqrt(-1)

ans =
        0 + 1.0000i

z= 3+4i

z =
   3.0000 + 4.0000i

7

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

z=3+4j

z =
   3.0000 + 4.0000i

Użytkownik   może   sam   zdefiniować   zmienną  j  w   przestrzeni   roboczej   Matlaba   i 

zapisywać liczby zespolone z wykorzystaniem mnożenia
j=sqrt(-1);
z=3+j*4;
disp(z);

Przy wyznaczaniu wartości własnych macierzy otrzymujemy wynik często w postaci 

liczb zespolonych

[X, D] = eig(A)

- wyznaczanie wartości własnych macierzy A.

Diagonalna   macierz  D  zawiera   wartości   własne  

λ

  będące   rozwiązaniem   równania 

charakterystycznego

det(A - 

λ

I) = 0 

Kwadratowa macierz X zawiera wektory własne zgodnie z równaniem charakterystycznym

AX X D

[U, S, V] = svd(A)  - analiza wartości singularnych.

Dla dowolnej macierzy rzeczywistej przeprowadzana jest dekompozycja wg relacji

A = U S V`

Diagonalna   macierz  S  zawiera   wartości   singularne   uporządkowane   według   malejących 
wartości. U i V są macierzami ortogonalnymi.

Uwaga!  Transpozycja   macierzy   o   elementach   zespolnych   oznacza   jednocześnie 

sprzeżenie elementów macierzy.

Podstawowe funkcje matematyczne MATLABA

Matlab   umożliwia   wykonywania   wielu   obliczeń   korzystających   z   podstawowych 

funkcji matematycznych

abs 

– wartość absolutna / moduł liczby zespolonej/

angle  – argument liczby zespolonej
atan

 – arcus tangens

conj

- sprzężenie liczby zespolnej

cos

 – cosinus

exp

 – exponent

imag  – część urojona liczby zespolonej
inf 

- nieskończoność /wynik dzielenia przez 0/

8

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

log

 – logarytm naturalny

max  - największa wartość
min

- najmniejsza wartość

nan

-   nieliczba   /dzielenie   0   przez   0   lub   inna   niezdefiniowana   matematycznie 

operacja/

pi

- liczba 

π

real

- część rzeczywista liczby zespolonej

sin

- sinus

sqrt – pierwiastek kwadratowy
sum

- suma

Zadania do samodzielnego rozwiązania

Zadanie 1

Przy przechodzeniu z układu fazowego A, B, C do układu składowych symetrycznych 

0, 1, 2 wykorzystuje się definicję operatora obrotu

a = e

j2 3

π

/

 =  cos(120

o

) + j sin(120

o

) = 

 0,5 + j

3

2

)

Sprawdzić następujące własności operatora a

a

2

 = (e

j2 3

π

/

)

2

 = cos(240

o

) + jsin(240

o

)  = cos(

120

o

)  + jsin(

120

o

)  = 

 0,5 

 j

3

2

1 + a + a

2

 = 0

a

3

 = (e

j2 3

π

/

)

3

 = cos(360

o

)  + jsin(360

o

)  = 1 + j0 = 1

a* = a

2

a

4

 = a

(a

2

)* = a

Zadanie 2

Macierz   przekształcenia   układu   współrzędnych   fazowych   A,   B,   C   na   składowe 

symetryczne 0, 1, 2 ma następującą postać

S

=

1

3

1

1

1

1
1

2

2

a

a

a

a

Obliczyć wyznacznik macierzy S, a następnie wyznaczyć macierz odwrotną S

-1

 . W oparciu o 

otrzymane wyniki sprawdzić, czy otrzymana macierz ma następującą postać

9

background image

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

http://zss.ie.pwr.wroc.pl/studenci

S

=

1

2

2

1

1

1

1
1

a

a

a

a

Zadanie 3

Wzory transformacji prądów oraz napięć z układu A, B, C do układu 0, 1, 2 są następujące

I

012

 = S I

ABC

 

U

012

 = S U

ABC

 

Wzory transformacji prądów oraz napięć z układu 0, 1, 2 do układu A, B, C są następujące

I

ABC

 = S

-1

 I

012

 

U

ABC

 = S

-1

 U

012

 

Z pomiarów otrzymano następujące wartości napięć i prądów

 U

A

 = 0 V,  U

B

 = 400e

-j2

π

/3

 V,  U

C

 = 400e

+j2

π

/3

 V

 I

A

 = 100e

-j

π

/2

 V A,  I

B

 = 0 A,  I

C

 = 0 A

Należy wyznaczyć wartości napięć i prądów w układzie 0,1,2.

Zadanie 4

Moc trójfazową w stanie niesymetrycznego obciążenia można obliczyć w układzie A, 

B, C z następującego wzoru

P + jQ = 

U I

U I

U I

A A

B B

C C

ABC

T

ABC

*

*

*

*

+

+

=

U

I

lub w układzie 0, 1, 2 ze wzoru

P + jQ = 3

U I

012 012

0 0

1 1

2 2

3

3

3

T

U I

U I

U I

*

*

*

*

=

+

+

Należy   sprawdzić   tożsamość   wzorów   na   moc   3-fazową   dla   wartości   napięć   i   prądów   z 
zadania 2 i 3.

10


Document Outline