1

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.

2

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.

3

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: Cut, Copy, Paste, Clear 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

4

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

5

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

6

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

7

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

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

22 22 22

À

- 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

8

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/

9

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

3

a = e j2π /3 = cos(120o) + j sin(120o) = − 0,5 + j

)

2

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

3

a2 = (e j2π 3/)2 = cos(240o) + jsin(240o) = cos(−120o) + jsin(−120o) = − 0,5 − j 2

1 + a + a2 = 0

a3 = (e j2π 3/)3 = cos(360o) + jsin(360o) = 1 + j0 = 1

a* = a2

a4 = a

(a2)* = 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ć

1

1

1 

1 

2 

S =

1

a

a 

3 1 2a 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ć

10

Wykład 1: Wprowadzenie – pierwsze kroki w Matlabie

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

1

1

1 

1



2



S− = 1 a

a 



2

1

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 I012 = S IABC

U012 = S UABC

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

UABC = S-1 U012

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

UA = 0 V, UB = 400e-j2π/3 V, UC = 400e+j2π/3 V

IA = 100e-jπ/2 V A, IB = 0 A, IC = 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*

T

*

+

+

= U

I

A A

B B

C C

ABC ABC

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

P + jQ = 3 UT I*

3U I*

3U I* 3U I*

=

+

+

012 012

0 0

1 1

2 2

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

Document Outline

  • Najważniejsze polecenia plikowe i systemowe
    • Zawartość aktualnego katalogu
    • Wywołanie poleceń DOS
  • Podstawowe operacje macierzowe