Matlab Laboratorium 03

background image

POLITECHNIKA ŁÓDZKA

Katedra Techniki Cieplnej i Chłodnictwa










TECHNOLOGIE

INFORMATYCZNE





MATLAB


Część III


Temat: Elementy programowania



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






Spis Treści








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

2. Operatory relacji ......................................................................................................................... - 3 -

3. Operatory logiczne...................................................................................................................... - 5 -

4. Instrukcje..................................................................................................................................... - 7 -

5. Skrypty i funkcje....................................................................................................................... - 12 -

6. Literatura................................................................................................................................... - 15 -

























background image

- 3 -

1. Wstęp

MATLAB tak jak i inne współczesne języki programowania wysokiego poziomu został

wyposażony w różnego rodzaju instrukcje sterujące, które umożliwiają tworzenie algorytmów
i programów. W niniejszej instrukcji zostały omówione sposoby korzystania z operatorów relacji,
operatorów logicznych a także instrukcji. Omówiono także podstawy tworzenia plików tekstowych
tzw. M-plików.

2. Operatory relacji

MATLAB dysponuje sześcioma operatorami relacji, które pozwalają na dokonywanie

porównań pomiędzy wyrażeniami. Wynikiem porównania jest albo prawda (TRUE (1)) albo fałsz
(FALSE (0)). Poniżej zostały przedstawione operatory relacji oraz ich sposób zapisu w MATLAB-
ie:

• mniejszy (<)
• mniejszy lub równy (< =)
• większy (>)
• większy lub równy (> =)
• równy (= =)
• różny (~ =)

Sprawdźmy jak sprawują się powyższe operatory podczas porównań skalarów i wektorów. Na

początek porównajmy dwie liczby:

>> 4 < 9
ans =

1
>>

W tym przypadku odpowiedzią programu jest prawda (1) cztery jest mniejsze od dziewięciu.


>> 4 > 9
ans =

0
>>

Jeżeli odwrócimy znak, MATLAB zwróci fałsz (0), ponieważ 4 nie jest większe od 9.

W przypadku porównania skalara z wektorem, program porównuje skalara z każdym

elementem wektora. Wynikiem jest wektor o takim samym rozmiarze jak ten porównywany,
składający się z zer i jedynek np.:

>> A = [5, 7, 9];
>> 8 < A
ans =

0 0 1
>>

background image

- 4 -

Poniższy zapis oznacza, że mają być wyświetlone te elementy wektora A, które spełniają

warunek zawarty w nawiasie:

>> A(8 < A)

ans =
9

>>

Poniżej jest przedstawiony sposób wyświetlania elementów spełniających warunek,

jednocześnie z zachowaniem ich pozycji w wektorze:

>> A.*(8 < A)

ans =
0 0 9
>>

Przeanalizujmy teraz powyższy zapis. Wynikiem operacji zawartej w nawiasie jest wektor

składający się z zer i jedynek w zależności czy dany element spełnia warunek czy nie. Następnie
ten wektor jest mnożony tablicowo z wektorem A. W miejscu gdzie warunek był fałszywy
odpowiedni element macierzy A jest mnożony przez zero, a tam gdzie był prawdziwy dany element
macierzy A jest mnożony przez jeden. Dzięki temu w miejscach gdzie warunek nie był spełniony
otrzymujemy zero a w miejscach, gdzie warunek był spełniony jest wyświetlana dana liczba.

W przypadku porównywania dwóch wektorów należy pamiętać, że muszą one mieć ten sam

rozmiar, ponieważ porównywane są elementy o tych samych współrzędnych np.:

>> A = [5, 7, 9];
>> B = [1, 8, 3];

>> A < B
ans =
0 1 0

>>

W jednym wierszu można porównywać kilka liczb, ale trzeba pamiętać o kilku rzeczach. Po

pierwsze MATLAB pracuje od strony lewej do prawej. Po drugie po pierwszym porównaniu
program porównuje wynik tej operacji czyli 0 lub 1 z następną liczbą, dla lepszego zrozumienia
prześledźmy następującą operację:

>> 9 < 6 < 2

ans =
1

>>

W pierwszej kolejności MATLAB sprawdza czy 9 < 6, wynikiem tego jest fałsz czyli 0,

następnie porównuje czy 0 < 2, wynikiem jest prawda czyli 1.

Jeżeli w zapisie pojawiają się nawiasy program w pierwszej kolejności wykonuje działanie

umieszczone w nawiasach np.:

>> 9 < (6 < 2)

ans =
0

background image

- 5 -

Czyli najpierw sprawdza czy 6 < 2, wynikiem jest fałsz czyli 0, a następnie porównuje czy

9 < 0, w tym przypadku wynikiem także jest fałsz (0).

Podobne działanie jak = = ma funkcja isegual:

>> A = [8, 4, 5, 2];

>> B = [2, 5, 5, 2];
>> C = isequal(A, B)

C =

0

%dwie macierze są różne

>> B = [8, 4, 5, 2];

>> C = isequal(A, B)
C =

1

%dwie macierze są takie same

>>

3. Operatory logiczne

Poniżej przedstawiono operatory logiczne, z którymi pracuje MATLAB:

• iloczyn logiczny AND (&), (koniunkcja),
• suma logiczna OR (|), (alternatywa),
• negacja logiczna NOT (~), (zaprzeczenie),
• różnica symetryczna XOR.


Sposób działania tych operatorów został przedstawiony w Tabeli 1.

Tabela 1. Sposób działania operatorów logicznych.

A

B

(~A)

A & B

A | B

XOR(A,B)

0 0 1 0 0 0
1 0 0 0 1 1
0 1 1 0 1 1
1 1 0 1 1 0

Musimy pamiętać, że MATLAB traktuje wszystkie liczby różne od zera jako prawdę a

wszystkie zera jako fałsz. Dlatego też liczba – 3 jest logicznie prawdą a negacją będzie zero:

>> ~-3

ans =
0
>>

W przypadku wektora A, zwracany jest wektor składający się z negacji poszczególnych

elementów A:

>> A = [8, 0, -2, 0, 5];

>> ~A
ans =

0 1 0 1 0

background image

- 6 -

Operator AND zwraca prawdę tylko w przypadku, gdy obydwa elementy są TRUE,

w innym przypadku zwraca fałsz np.:

>> 5 & 0
ans =

0
>> 0 & 0

ans =
0

>> 5 & 2
ans =

1
>>

I w przypadku wektorów:

>> A = [5 0 0 3 1];

>> B = [1 2 0 4 0];
>> A & B

ans =
1 0 0 1 0

>>

Jak widać z Tabeli 1 operator OR zwraca prawdę tylko wtedy, gdy chociaż jeden

z porównywanych elementów jest TRUE np.:

>> 3 | 0

ans =
1

>> 3 | 3
ans =
1

>> 0 | 0
ans =

0
>>

Podobnie jest w przypadku wektorów:

>> A = [5 0 0 3 1];
>> B = [1 2 0 4 0];

>> A | B
ans =
1 1 0 1 1

>>

XOR działa w ten sposób, że zwraca prawdę w przypadku, gdy jeden z elementów jest

TRUE a drugi FALSE a w innych przypadkach zwraca fałsz np.:

>> A = [5 0 0 3 1];

>> B = [1 2 0 4 0];
>> xor(A, B)

background image

- 7 -

ans =
0 1 0 0 1

>>

Innymi funkcjami logicznymi, którymi dysponuje MATLAB są: all (wszystkie) i any

(jakiś). Pierwsza funkcja zwraca prawdę tylko wtedy, gdy wszystkie elementy danego wektora są
TRUE. Druga funkcja zwraca prawdę w przypadku, gdy chociaż jeden element wektora jest TRUE
np.:


>> A = [5 0 0 3 1];
>> any(A)

ans =
1
>> all(A)

ans =
0

>>

4. Instrukcje

Instrukcje, które są dostępne w MATLAB-ie ogólnie można podzielić na warunkowe,

wyboru i iteracyjne. Do pierwszych z nich zaliczamy instrukcję if-elseif-else-end, do
drugiej instrukcję switch-case-otherwise-end, a do trzeciej pętle for-end i while-
end.

Ogólna postać instrukcji if jest przedstawiona poniżej:

if

wyrażenie logiczne 1

instrukcja 1

elseif

wyrażenie logiczne 2

instrukcja

2

else

instrukcja

3

end

Sposób jej działania wygląda następująco: program sprawdza jako pierwsze „wyrażenie

logiczne 1” jeżeli jest „prawdziwe” to wykonuje „instrukcję 1”. Jeżeli „wyrażenie logiczne 1” było
„fałszywe” to program przechodzi do „wyrażenia logicznego 2” w przypadku „prawdy” wykonuje
je, w przypadku „fałszu” przechodzi dalej. Poniżej napiszemy procedurę analizującą wiek osoby
i przypisującą ją do jednej z trzech grup: dziecko, młodzież, dorosły, do wyświetlenia wyniku
posłuży funkcja disp:

>> Wiek = 14;

%wprowadzamy wiek osoby

>>

if

Wiek <= 12

%warunek 1

disp(

‘dziecko’

)

elseif

Wiek <= 18

%warunek 2

background image

- 8 -

disp(

‘mlodziez’

)

else

%pozostałe przypadki

disp(

‘dorosly’

)

end

mlodziez

%wyświetlany wynik

>>

Przy powyższym zapisie wyrażeń logicznych znaczenie ma kolejność ich występowania.

Gdyby na przykład zamienić miejscami pierwszy i drugi warunek a wielkość Wiek = 11, która jest
mniejsza niż 18, osoba byłaby zakwalifikowana do młodzieży. Dla ułatwienia pracy MATLAB
zmienia kolor słów kluczowych.

Instrukcja switch sprawdza wartość wyrażenia i w zależności od tego wyniku przypisuje

wykonanie pewnych instrukcji. Schemat instrukcji switch przedstawiono poniżej:

switch

wyrażenie

case

1

instrukcja 1

case

2

instrukcja

2

otherwise

instrukcja

3

end

Jako przykład podajmy zamianę oceny zapisanej jako cyfra na ocenę zapisaną słownie:


>>

Ocena

=

4;

%zamieniana ocena

>>

switch

Ocena

%Wyrażenie

case

1

%Ocena = 1

disp(

‘niedostateczna’

)

case

2

%Ocena = 2

disp(

‘mierna’

)

case

3

%Ocena = 3

disp(

‘dostateczna’

)

case

4

%Ocena = 4

disp(

‘dobra’

)

case

5

%Ocena = 5

disp(

‘bardzo dobra’

)

case

6

%Ocena = 6

disp(

‘celujaca’

)

end

dobra

%wyświetlany wynik

>>

Po słowach case wymieniane są wartości jakie może przybierać wielkość Ocena. I tak na

przykład, gdy Ocena równa się 2 zostanie zrealizowana druga instrukcja, która wyświetli napis
„mierna” itd. Liczby po słowach case nie oznaczają kolejnych numerów tylko możliwe wartości
wielkości Ocena.

background image

- 9 -

Pętle są to podstawowe konstrukcje stosowane w programowaniu, umożliwiają cykliczne

wykonywanie ciągu instrukcji. Pętla for jest stosowana w tych przypadkach, w których z góry
wiadome jest ile razy ma powtórzyć cykl obliczeniowy (iteracje).

Poniżej przedstawiono ogólną postać pętli for:

for

zmienna = 1:n

instrukcja

instrukcja
instrukcja

instrukcja

end

Należy pamiętać, że każda pętla musi kończyć się słowem end. Poniżej przedstawiony

przykład pętli for:

>> A = 0;
>>

for

i = 1:3

A = A + i;

end

>> A

A =
6

>>

Teraz wytłumaczymy jak działa powyższy zapis. Przed rozpoczęciem działania pętli

definiujemy początkową wartość A. Widzimy, że i przyjmuje wartości: 1, 2 i 3. Może budzić
wątpliwości równanie: A = A + i. Z punktu widzenia matematyki zapis ten jest prawdziwy (w
powyższym przypadku) tylko dla i = 0, poza tym jest bez sensu, ale w tym przypadku oznacza
on, że wartość A w następnym kroku równa się wartości A z poprzedniego kroku powiększonej o i.
Zapiszmy kolejne etapy obliczania A:

A = 0

i = 1

Pierwszy krok = A + i = 0 + 1 = 1
A = 1

i = 2

Drugi krok

= A + i = 1 + 2 = 3

A = 3

i = 3

Trzeci krok

= A + i = 3 + 3 = 6

A = 6

MATLAB umożliwia także podgląd poszczególnych etapów działania pętli, ale jest to

wskazane tylko wtedy, gdy ilość ich jest niezbyt duża. A robimy to opuszczając średnik po
równaniu definiującym A:

>> A = 0;
>>

for

i = 1:3

A

=

A

+

i

%bez średnika

end

A =
1

A =

background image

- 10 -

3
A =

6
>>

W niektórych przypadkach można otrzymać podobny efekt jak podczas działania pętli,

wykorzystując tzw. wektoryzację, czyli użycie dwukropka. Poniżej przedstawiony jest przykład
takiego działania w odniesieniu do przykładu obliczonego z użyciem pętli for:

>> A = sum(1:3)
A =

6
>>

Ważne jest, że jeżeli mamy wybór pomiędzy pierwszą a drugą metodą, zawsze powinniśmy

wybierać tę drugą (wektoryzację), ponieważ ten sposób obliczeń jest wygodniejszy dla MATLAB-a
i tego rodzaju zadania są wykonywane przez niego znacznie szybciej.

Teraz za pomocą pętli for zdefiniujemy macierz, której elementy będą liczone z zależności

uwzględniającej współrzędne danego elementu:

>> A = [];

%definiujemy macierz

>>

for

i = 1:3

%definiujemy ilość wierszy

for

j = 1:2

%definiujemy ilość kolumn

A(i, j) = i + 2*j;

end
end

>> A
A =

3

5

4

6

5

7

>>

Każdy element macierzy jest opisany przez numer wiersza i kolumny. W tym przypadku

wartość poszczególnych elementów odpowiada ich numerom wierszy plus numery kolumn
pomnożone przez dwa. I tak:

A(i, j) = i + 2 * j
A(1, 1) = 1 + 2 * 1 = 3
A(1, 2) = 1 + 2 * 2 = 5
A(2, 1) = 2 + 2 * 1 = 4
A(2, 2) = 2 + 2 * 2 = 6
A(3, 1) = 3 + 2 * 1 = 5
A(3, 2) = 3 + 2 * 2 = 7

Poprzez usunięcie średnika przy definicji macierzy A (tak jak to było pokazane

w poprzednim przypadku) możliwe jest podpatrzenie metody dochodzenia do ostatecznego wyniku
podczas działania tej procedury:


background image

- 11 -

A =
3

A =
3

5

A =
3

5

4

0

A =

3

5

4

6

A =

3

5

4

6

5

0

A =

3

5

4

6

5

7

>>

Można zauważyć, że podczas rozpoczęcia wypełniania nowych wierszy (A(2, 1),

A(3, 1)) MATLAB automatycznie dopisuje zera w kolejnych kolumnach (A(2, 2),
A(3, 2)). Jest to robione po to, żeby w każdym wierszu zgadzała się ilość kolumn.

Innym rodzajem funkcji iteracyjnej jest pętla while, która jest stosowana wtedy, gdy ilość

powtórzeń jest nam nie znana, obliczenia są wykonywane tak długo aż zajdzie dany warunek.
Ogólna postać tej pętli została przedstawiona poniżej:

while

wyrażenie logiczne


instrukcja

instrukcja
instrukcja

instrukcja

end

Pętla ta będzie działać tak długo aż „wyrażenie logiczne” będzie TRUE. Może się zdażyć, że

pętla będzie nieskończona co oznacza, że nigdy nie pojawi się FALSE i będzie działała
w nieskończoność. W takich przypadkach dobrze jest przerwać jej działanie klawiszami <Ctrl> +
<C>. Oto przykład takiej pętli:

>> A = -5;

%początkowa wartość A

>> i = 0;

%wprowadzenie pomocniczej wielkości

>>

while

A < 112

%wyrażenie logiczne

A = A + 2;

i = i + 1;

end

>>

i

%sprawdzenie ile iteracji zostało wykonanych

i =
59

>>

background image

- 12 -

Zakładamy, że ilość iteracji jest nam nieznana. Zadanie rozpoczynamy od wartości -5

i chcemy stwierdzić ile razy musimy do tej wartości dodać 2, aby nasz wynik był większy od 112.
W tym przypadku musimy wprowadzić pomocniczą zmienną i, która przy każdej iteracji zwiększa
się o jeden.

5. Skrypty i funkcje

Wszystkie powyżej wymienione instrukcje byłyby mało użyteczne jeżeli za każdym razem

musielibyśmy je wpisywać w wierszu poleceń. Aby tego uniknąć mogą one być zapisane
w zewnętrznych plikach tekstowych z rozszerzeniem *.m (M-pliki). Rozróżniamy dwa rodzaje
plików tekstowych: skrypty i funkcje. W dalszej części czytelnik sam zauważy różnicę pomiędzy
skryptem a funkcją, należy tylko dodać, że powinno się zmierzać do tworzenia funkcji. Teraz
utworzymy pierwszy skrypt, który wykorzysta powyższą procedurę. Aby utworzyć nowy M-plik
z menu pulpitu wybieramy opcję File/New/M-file.

1

%Procedura zamienia Ocenę z liczby na wyraz

2

switch

Ocena

%Wyrażenie

3

case

1

%Ocena = 1

4

disp(

‘niedostateczna’

)

5

case

2

%Ocena = 2

6

disp(

‘mierna’

)

7

case

3

%Ocena = 3

8

disp(

‘dostateczna’

)

9

case

4

%Ocena = 4

10

disp(

‘dobra’

)

11

case

5

%Ocena = 5

12

disp(

‘bardzo dobra’

)

13

case

6

%Ocena = 6

14

disp(

‘celujaca’

)

15

end

Jak widzimy każdy wiersz jest numerowany, co jest bardzo pomocne podczas pracy z M-

plikami, oprócz tego dużym ułatwieniem jest zapisywanie procedur z odpowiednimi akapitami.
Dobrze jest, początek i koniec danej instrukcji umieszczać na tym samym poziomie np. switch
i end. Nazwijmy ten plik OcenaZamiana. Inną przydatną rzeczą jest krótki opis procedury, który
będzie przypominał co ona robi. A można go wywołać następująco:

>> help

OcenaZamiana

Procedura zamienia Ocenę z liczby na wyraz
>>

Istnieje kilka metod pracy z tego rodzaju plikami: można na przykład w wierszu poleceń

zdefiniować Ocena = 3 a następnie zaznaczyć całą procedurę w M-pliku i wcisnąć przycisk F9.
Zabieg ten spowoduje, że podświetlona zawartość zostanie skopiowana do wiersza poleceń
a następnie uruchomiona. Poniżej zostanie wyświetlony wynik jej działania. Można także ją
uruchomić w sposób pokazany poniżej:

>> Ocena = 3;
>> OcenaZamiana

dostateczna

background image

- 13 -

W tym przypadku należy pamiętać, aby ścieżka była ustawiona do folderu, w którym plik

OcenaZamiana się znajduje. Można ten plik tak zmodyfikować, aby po uruchomieniu sam domagał
się podania wartości Oceny. W tym celu można wykorzystać funkcję input:

1

%Procedura zamienia Ocenę z liczby na wyraz

2

Ocena = input(

‘Podaj ocene: ‘

);

3

switch

Ocena

%Wyrażenie

4

case

1

%Ocena = 1

5

disp(

‘niedostateczna’

)

6

case

2

%Ocena = 2

7

disp(

‘mierna’

)

8

case

3

%Ocena = 3

9

disp(

‘dostateczna’

)

10

case

4

%Ocena = 4

11

disp(

‘dobra’

)

12

case

5

%Ocena = 5

13

disp(

‘bardzo dobra’

)

14

case

6

%Ocena = 6

15

disp(

‘celujaca’

)

16

end


A teraz prześledźmy jak to działa:

>>

OcenaZamiana

%uruchamiamy procedurę

Podaj

ocene:

4

%program domaga się oceny

dobra

%wyświetla wynik

>>

Tym razem przygotujmy M-plik z procedury kontrolującej wiek i zapiszmy go jako

KontrolaWieku.

1

Wiek = input(

‘Podaj wiek: ‘

);

2

if

Wiek <= 12

%warunek 1

3 disp(

‘dziecko’

)

4

elseif

Wiek <= 18

%warunek 2

5 disp(

‘mlodziez’

)

6

else

%pozostałe przypadki

7 disp(

‘dorosly’

)

8

end

Procedura ta ma jednak kilka niedociągnięć np. jeżeli podamy wiek -4 to wynikiem będzie

dziecko, jeżeli wpiszemy 2000 – dorosły. Musimy wstawić pewne ograniczenia np. wiek powinien
się zawierać pomiędzy 0 a 150. W tym celu dodamy nowy warunek:

1

Wiek = input(

‘Podaj wiek: ‘

);

2

if

Wiek <= 0 | Wiek > 150

3 disp(

‘Wiek powinien się zawierac pomiedzy 1-150’

)

4

elseif

Wiek <= 12

%warunek 1

5 disp(

‘dziecko’

)

6

elseif

Wiek <= 18

%warunek 2

7 disp(

‘mlodziez’

)

8

else

%pozostałe przypadki

9 disp(

‘dorosly’

)

background image

- 14 -

10

end

Teraz utworzymy funkcję, która będzie obliczała silnię. Słowem kluczowym, które

używamy do definiowania funkcji jest function. Następnie wpisujemy równanie, w którym
z lewej strony znaku równości jest nazwa określająca wynik a po prawej stronie znajduje się nazwa
funkcji oraz zmienne, które umieszczone są w nawiasach. Należy pamiętać, że nazwa pliku musi
być taka sama jak nazwa funkcji.

1

function

wynik = silnia(n)

2

%funkcja silnia(n)

oblicza n!

3

wynik = 1

4

for

n = 1:n

5

wynik = wynik * n;

6

end


Dla przykładu policzmy wartość silni dla 5:

>> silnia(5)

ans =
120

>>

Możemy to także sprawdzić wykorzystując funkcję liczącą silnię, którą posiada MATLAB:


>> factorial(5)

ans =
120

>>

Stworzymy teraz funkcję w skład której będzie wchodziła pętla for jak również funkcja

pobierająca dane od użytkownika – input. Jej zadaniem będzie tworzenie macierzy:

1

function

A = macierz(a, b)

2

%funkcja macierz(a, b) tworzy macierz o a-wierszach

3

% i b-kolumnach

4

for

i = 1:a

5

for

j = 1:b

6

A(i,j) = input(‘Podaj element macierzy: ‘);

7

end

8

end


Pierwsza pętla for jest odpowiedzialna za zmianę numeru wiersza, natomiast druga za

kolumny. Zobaczmy jak wygląda działanie w praktyce tej funkcji:


>>

macierz(2,3)

%2 wiersze, 3 kolumny

Podaj element macierzy: 1

%wpisujemy liczby

Podaj element macierzy: 2

Podaj element macierzy: 3
Podaj element macierzy: 4

background image

- 15 -

Podaj element macierzy: 5
Podaj element macierzy: 6

ans =
1 2 3

4 5 6
>>

Instrukcje oraz operatory przedstawione powyżej stanowią niezbędny element prawie

każdego algorytmu i programu. Z tego też względu należy zwrócić uwagę na poprawne ich
opanowane. Więcej przykładów można znaleźć w literaturze przedstawionej poniżej.




6. 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,



Wyszukiwarka

Podobne podstrony:
Matlab Laboratorium 03
Autodesk Inventor Laboratorium 03
cw3teor, Politechnika Poznańska, Elektrotechnika, Teoria obwodów, Laboratoria, 03. Źródło rzeczywist
Metody numeryczne, III sprwako matlab, LABORATORIUM Z
moc maxymalna beta, Politechnika Poznańska, Elektrotechnika, Teoria obwodów, Laboratoria, 03. Źródło
Tranzystor polowy i jego układy pracy, Szkoła, Politechnika 1- 5 sem, SEM IV, Elektronika i Energoel
sprawko-rez.zest, Semestr VII, Semestr VII od Grzesia, Urządzenia elektryczne. Laboratorium, 03.Rezy
2-3, Politechnika Poznańska, Elektrotechnika, Teoria obwodów, Laboratoria, 03. Źródło rzeczywiste. D
Diagnostyka laboratoryjna 03 2012
laboratorium 03 py
3-fazowego silnika indukcyjnego pierścieniowego, Szkoła, Politechnika 1- 5 sem, SEM IV, Maszyny Elek
Wprowadzenie do MATLABA − Laboratorium
Autodesk AutoCAD Laboratorium 03
Autodesk Inventor Laboratorium 03
matlab laboratorium
PPA 03 2013 MATLAB
Laboratorium sprawozdanie 03 id 261439

więcej podobnych podstron