MatLab- ćw.1, ElektronikaITelekomunikacjaWAT, Semestr 1, Metodyka i technika programowania1, MTP1


Wojskowa Akademia Techniczna

im. Jarosława Dąbrowskiego

0x01 graphic

Wydział Elektroniki

Temat zajęć: Matlab - Ćwiczenia podstawowe

Ćwiczenie wykonał: Jan Dułowicz

Grupa: E3X2N1

Data: 26.10.2013 r.

Celem poprzedniego labolatoria było przedstawienie podstawowych funkcji programu MatLab. Na niniejszym sprawozdaniu znajduję się zobrazowanie wyników wpisanych w edytorze programu ukazanych w „Command Window”.

Program MatLab jest środowiskiem uniwersalnym, poznawa na przeprowadzenie zarówno prostych jak i bardzo złożonych obliczeń matematycznych.Posiada on wielką bazę danych, w której znajduję się wiele podręczników przydatnych jako pomoce dydaktyczne w opanowaniu programu oraz rozszerzeniu wiedzy na jego temat.

Uwagi:

- W oknie Command Window nie pokazują się komentarze oznaczone zielonym kolorem, ukazane w mojej pracy. Wprowadziłem je, żeby praca była czytelniejsza.

- Funkcja `clear all' usuwa wszystkie zmienne, tak więc odczyt funkcji od numeru 1 do 7 jest niemożliwy.

- Wnioski także nie występują w Command Window i zostały wpisane tłustym drukiem.Są one istotną analizą wyników przedstawionych w programie.

Treść przedstawiona w Command Window

% 9. Wartość NaN i Inf

Wynik_1 =

NaN

Wynik_2 =

NaN

Wynik_3 =

Inf

Wniosek 1: NaN (Not a Number jest generowana przy próbie wykonania działań typu 0/0 lub Inf-Inf),

Inf (Inifinity - nieskończoność - jest generowana przez dzielenie liczby różnej od 0 przez zero,

lub przez działanie na wartościach, które wykraczają po za największą możliwą

wartość rzeczywistą)

% 10. Formaty wyświetlania

Format_short =

0.6667

Format_long =

0.666666666666667

Format_long_e =

6.666666666666666e-01

Format_rat =

2/3

Wniosek 2: Format_short - Jest to format stałoprzecinkowy, który w przypadku liczby niewymiernej wyświetla jej wynik przybliżony do czterech miejsc po przecinku.

Format_long - Jest to format stałoprzecinkowy, który w przypadku liczny niewymiernej wyświetla jej wynik przybliżony do maksymalnie czternastu miejsc po przecinku.

Format_long_e - Jest to format zmiennoprzecinkowy, który stosuje notację wykładniczą (e-01 oznacza *10^-1).

Format_rat - Liczby w tym formacie są zapisywane za pomocą ułamka dziesiętnego.

% 11. Liczby zespolone

Liczba_zesp_1 =

5 + 7i

Liczba_zesp_2 =

3 + 2i

Liczba_zesp_3 =

4 + 1i

Wniosek 3: W przypadku działań na liczbach zespolonych (w tym przypadku sumy) program wyświetla wynik w postaci zespolonej. Uwaga - na postać wyniku ma wpływ aktualny format wyświetlania liczb.

% 13. Definicja wektora.

A =

1 4 8 1

B =

1 4 8 1

C =

1 4 8 1

Wniosek 4: Użycie przecinków w zapisie wektora nie wpływa na jego wynik kocowy w Command Window.

% 14. Tworzenie macierzy pustej

A =

[]

Wniosek 5: Definicją macierzy pustej w środowisku MatLab jest nawias kwadratowy.

% 15. Generowanie wektora o strukturze min:krok:max

A =

0 2 4 6 8 10

Wniosek 6: Przypadku generowania wektora występuje pewne objaśnienie. Mianowicie w przypadku wektora o postaci A=[0:2:10] - 0 jest wartością minimalną, liczbe 2 dodaje się do następnego elementu wektora, a wartość 10 jest wartością maksymalną.

% 16. Generowanie wektora o strukturze min:max

A =

Columns 1 through 10

0 1 2 3 4 5 6 7 8 9

Column 11

10

Wniosek 7: Struktura tego wektora różni się od wektora o strukturze `min:krok:max' tym, że wartość `krok' nie jest podana i program domyślnie dodaje liczbe 1 do następnego elementu wektora.

% 17. Generowanie macierzy ciąg dalszy

A =

1 2 3 4 5 6 7 8 9 10

1 3 5 7 9 11 13 15 17 19

Wniosek 8: W przypadku komendy o postaci A=[1:10;1:2:20] program rozróżnia dwa wektory, które oddzielone są od siebie poprzez średnik. Zatem wynikiem komendy będą dwa wektory - jeden o postaci `min:max', a drugi o postaci `min:krok”max'. Uwaga: W przypadku drugiego wektora wartość minimalna jest równa 1, krok 2, a maksimum 20. Analogicznie ostatnim elementem będzie wartość 19, ponieważ

% 18. Generowanie macierzy na podstawie innych macierzy

A =

1 4 1

2 0 1

B =

3 1

4 1

C =

1 2 2 0 1

2 4 7 1 0

D =

1 4 1 3 1

2 0 1 4 1

1 2 2 0 1

2 4 7 1 0

Wniosek 9: Wygenerowana macierz jest połączeniem macierzy A, B oraz C. W dwóch pierwszych wierszach macierzy D są umieszczone macierz A oraz B, a w trzecim i czwartym wierszu macierz C.

% 19. Generowanie macierzy - technika mieszana

A =

1 2 3

4 5 6

B =

1 2 3 1

4 5 6 2

1 2 3 4

Wniosek 10: W tym przypadku macierz B jest zasadniczo połączeniem 3 różnych macierzy.

Zapis: B=[A, [1;2]; 1:4] oznacza, że - od pierwszego do drugiego wiersza oraz od pierwszej do trzeciej kolumny pojawia się macierz A. Następnie macierz [1;2] jest dopisana w czwartej kolumnie. Ostatnim elementem jest wektor typu `min:max' o postaci [1:4] wpisany do trzeciego wiersza.

% 20. Tworzenie macierzy jednostkowej

A =

1 2 3

4 5 6

7 8 9

ans =

1 0 0

0 1 0

0 0 1

Wniosek 11: Macierz jednostkowa po swojej przekątnej, zaczynającej się od lewego górnego elementu same jedynki, a reszta elementów to zera. Komenda eye(size(A)) tworzy macierz jednostkową na podstawie macierzy A (rozmiar macierzy jednostkowej i macierzy A jest taki sam)

% 21. Macierze złożone z samych jedynek i zer

ans =

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

ans =

1 1 1

1 1 1

ans =

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

ans =

0 0 0

0 0 0

Wniosek 12: Komenda ones(5) tworzy macierz 5 X 5 złożoną z samych jedynek. W przypadku komendy

ones(2,3) liczba 2 oznacza ilość wierszy macierzy, a liczba 3 ilość kolumn. Jeśli występuje przy komendzie jedynie jedna wartość liczbowa to oznacza ona zarówno liczbe kolumn jak i wierszy.

Macierze złożone z samych zer tworzy się podobnie jak macierze złożone z samych jedynek z tą różnicą, że stosuje się komende zeros (np. Komenda zeros(5) tworzy macierz 5 X 5 złożona z samych zer.)

% 22. Generacja liczb pseudolosowych

a =

664/815 717/785 408/1465

1298/1433 1493/2361 1324/2421

751/5914 694/7115 338/353

b =

687/712 6271/6461 614/1265

589/3737 581/607 1142/1427

c =

454/2215 1123/797 1129/935

399/3214 1797/1268 1839/2564

1229/825 139/207 895/549

d =

2223/4547 511/703 983/3345

507/490 291/959 681/865

Wniosek 13: Komenda a=rand(3) tworzy macierz 3 X 3 z liczb pseudolosowych (liczby losowe z zakresu od 0 do 1) zapisanych za pomocą formatu `Format_rat”. Podobnie jak w przypadku tworzenia macierzy złożonych z jedynek wartość liczbowa oznacza rozmiar macierzy (np. b=rand(2,3) tworzy macierz liczb pseudolosowych o dwóch wierszach i trzech kolumnach). Są to macierze o rozkładzie liczb równomiernym. Komenda c=randn działa podobnie z tym, że tworzy macierze o rozkładzie liczb nie równomiernym

% 23. Dostęp do elementów macierzy

A =

1 2 3

4 5 6

7 8 9

Wynik_1 =

6

Wynik_2 =

1 2

4 5

Wynik_3 =

4 5

Wynik_4 =

4 5 6

Wynik_5 =

1 2 3

7 8 9

Wniosek 14: W przypadku macierzy A=[1 2 3; 4 5 6; 7 8 9] istnieje możliwość dostępu do jej poszczególnych elementów za pomocą poszczególnych komend. Komenda `Wynik_1=A(2,3)' wyświetla wartość liczbową macierzy A występującą w jej drugim wierszu i trzeciej kolumnie. Komenda Wynik_2=A(1:2,1:2) tworzy podmacierz macierzy A złożoną od pierwszej do drugiej wartości pierwszego wiersza oraz z dwóch pierwszych wartości drugiego wiersza macierzy A.

Wynik_3=A(2,1:2) oznacza wyświetlenie dwóch pierwszych wartości z drugiego wiersza macierzy A.

Komenda `Wynik_4=A(2,:)' wyświetla zawartośc całego drugiego wiersza macierzy A.

Komenda `Wynik_5=A([1 3],:)' Wyświetla cały pierwszy i trzeci wiersz macierzy A.

% 24. Wyświetlanie macierzy

1 2 3

4 5 6

7 8 9

Dowoly napis

Wniosek 15: `Komenda disp(A) disp('Dowolny napis')' wyświetla macierz A (została ona zdefiniowana w poprzednim przykładzie dlatego jest taka sama) oraz możliwość dowolnego komentarza do niej (np. jeśli zamiast wpisania `Dowolny napis' wpisać Macierz A - ta nazwa zostałaby wyświetlona pod macierzą A.

% 25. Rozmiar macierzy

A =

1 2 3

4 5 6

liczba_wierszy =

2

Liczba_kolumn =

3

Wniosek 16: Pragnąc wyświetlić opis ile powyższa macierz A ma wierszy i kolumn należy użyć komendy [Liczba_wierszy, Liczba_kolumn]=size(A). W tym przypadku zasadniczo funkcja `size(A)' sprawdza rozmiar danej macierzy, ale żeby zapis był bardziej klarowny należy przypisać nazwy do wyników ( czyli zamiast `size(A)' użyć `[Liczba_wierszy, Liczba_kolumn]=size(A)'.

% 26. Długość wektora

A =

1 2 3 4 5 6 7 8 9

Dlugosc_wektora =

9

Wniosek 17: Aby otrzymać długość wyżej podanego wektora A należy użyć funkcji `Dlugosc_wektora=length(A)'. Podobnie jak w przypadku poprzedniego przykładu pierwszy człon funkcji pełni funkcje estetyczną (czyli zasadniczą funkcją jest `length(A)').

% 27. Suma i różnica macierzy

A =

1 2 3

4 5 6

B =

7 8 9

3 5 1

C =

8 10 12

7 10 7

D =

-6 -6 -6

1 0 5

Wniosek 18: W powyższym przykładzie macierz C jest sumą macierzy A i B, a macierz D różnicą macierzy A i B.

Dodawanie macierzy w środowisku MatLab można otrzymać poprzez komende (w tym przypadku) C=A+B.

Odejmowanie wygląda tak samo, różni się tylko znakiem. Pomimo tego, że funkcja jest prosta w zastosowaniu należy pamiętać, że dodawanie i odejmowanie macierzy nie może się odbyć jeśli ilość wierszy lub kolumn macierzy dodawanych różni się od siebie.

% 28. Mnożenie macierzy (NIE JEST PRZEMIENNE)

A =

1 2 3

4 5 6

B =

1 2

4 5

6 2

Iloczyn_AB =

27 18

60 45

Iloczyn_BA =

9 12 15

24 33 42

14 22 30

Wniosek 19: Mnożenie w środowisku MatLab w zapisie funkcji różni się od dodawania jedynie znakiem. Należy zaznaczyć, iż można mnożyć macierze o różnych rozmiarach, ale mnożenie macierzy nie jest przemienne i działanie (przykładowo) C=A*B będzie miało inne rozwiązanie niż C=B*A.

% 29. Transpozycja macierzy

A =

1 2 3

4 5 6

A_T =

1 4

2 5

3 6

Wniosek 20: Transpozycja jest w istocie zamianą wierszy macierzy na kolumny. W środowisku MatLab komenda A_T=A' oznacza transpozycje macierzy A. Można zauważyć, że A' to zapis macierzy A w formie transpozycji.

% 30. Mnożenie tablicowe (ELEMENT PO ELEMENCIE)

A =

1 2

4 5

B =

3 4

2 3

Mnozenie_tablicowe =

3 8

8 15

Wniosek 21: Mnożenie tablicowe można zastosować, jeśli rozmiary macierzy mnożonych są takie same, gdyż mnoży ono elementy o tych samych pozycjach (wiersz oraz kolumna elementu). Uzyskać je można poprzez komendę `A.*B'

% 31. Dzielenie tablicowe (ELEMENT PO ELEMENCIE)

A =

6 4

8 2

B =

3 2

4 1

Dzielenie_tablicowe =

2 2

2 2

Wniosek 22: Dzielenie talicowe odbywa się na takich samych zasadach jak mnożenie tablicowe, jednak z innym znakiem.

% 32. Potęgowanie tablicowe

A =

6 4

8 2

Potega =

36 16

64 4

Wniosek 23: Podobnie jak w przypadku mnożenia tablicowego potęgowanie tablicowe wymaga takich samych rozmiarów macierzy. Komenda `Potega=A.^2' powoduje ukazanie macierzy, która jest złożona z Macierzy A, której każdy element został poddany działaniu (do potęgi drugiej). W przypadku zastosowania komendy `Potega=A.^3' powstanie macierz złożona z macierzy A, której każdy elementy został pomnożony trzykrotnie przez samego siemie.

% 33. Definiowanie łańcucha

a =

LAŃCUCH

% 34. Tworzenie macierzy, której wierszami są łańcuchy

b =

Pierwszy wiersz macierzy

Drugi wiersz macierzy

Trzeci wiersz macierzy

LAŃCUCH

%35. Puste znaki i łączenie łąńcuchów

asa sas

L1 =

Łańcuch pierwszy

L2 =

Łańcuch drugi

L3 =

Łańcuch trzeci

Lancuch_caly =

Łańcuch pierwszy Łańcuch drugi Łańcuch trzeci

Wniosek 24: Komenda `disp(['asa' blanks(30) 'sas'])' tworzy dwa napisy oddalone od siebie o wartość `blanks'. Oznacza to, że wartość 30 w tym przypadku wyznacza ilość pustych znaków między nimi.

Komenda Lancuch_caly=[L1 L2 L3] przywołuje poprzednio zapisane łańcuchy jako całość ukazaną w jednym wierszu.

% 36. Wydobywanie kodów ASCI znaków łańcucha

Znaki_ASCI =

68 111 109

Wniosek 25: Dzięki programowi MatLab można zapisać wyrazy za pomocą kodów ASCI. W tym przypadku zakodowany został wyraz `Dom'. Kodowanie ASCI można osiągnąć poprzez funkcje `Znaki_ASCI=abs'

Uwaga: Należy pamiętać, że wielkość liter ma wpływ na wartość kodu dla danej liczby. Kod ASCI nie pokazuje polskich znaków.

% 37. Generowanie komunikatów

A =

19667/1000

opis =

Zmienna A = 19.667

Wniosek 26: W programie MatLab można stosować opisy. Jest to przydatne w tym przypadku, żeby przedstawić wartość liczbową bardziej estetycznie. Jeśli chcemy, żeby program wyświetlił liczbę A o wartości 19.667 to zostanie ona przedstawiona w formacie `Format_rat' (chyba, że wcześniej został zastosowany inny format). Komenda aktywująca opis ma postać `opis=['Zmienna A = ', num2str(A)]'

% 38. Wprowadzanie danych

Wprowadź wartość zmiennej A:

Wniosek 27: W środowisku MatLab można przypisać wartość do każdej zmiennej. Jest to wydajne, ponieważ program wczytuje i zapamiętuje wartość każdej wprowadzanej liczby i w każdej chwili można przywołać pożądaną wartość. Po użyciu komendy `A=input('Wprowadź wartość zmiennej A: ')' program poprosi nas o podanie wartości, jaką chcemy przypisać do liczby.



Wyszukiwarka

Podobne podstrony:
Hubert Bielacki Sprawozdanie.2, ElektronikaITelekomunikacjaWAT, Semestr 1, Metodyka i technika progr
Część I Metodyka i Techniki Programowania
MATLAB cw 15 19 Metody numer
cw 8, Materiały PWR elektryczny, semestr 3, FIZYKA 2, sprawka, sprawka 2009r
Cw 3 puste, Politechnika Poznańska, Elektrotechnika, Semestr II, Semestr 2, Ćwiczenia labolatorium 2
Cw 2 puste, Politechnika Poznańska, Elektrotechnika, Semestr II, Semestr 2, Ćwiczenia labolatorium 2
Cw 1 puste, Politechnika Poznańska, Elektrotechnika, Semestr II, Semestr 2, Ćwiczenia labolatorium 2
Cw 2 puste(1), Politechnika Poznańska, Elektrotechnika, Semestr I, Ćwiczenia labolatorium 2 semestr
opracowanie cw 9, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki
Opracowanie Cw 7, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki
Elektronika, ćw 2, INFORMATYKA semestr 3
Cw 25 - Wyznaczenie rownowaznika elektrochemicznego miedzi, AKADEMIA TECHNICZNO-ROLNICZA W BYDGOSZCZ
Ogólna metodologia nauk, Studia dalekowschodnie, Rok I semestr II, Metody i techniki badań społeczny
program przedmiotu metody i techniki reklamy edukacja studia niestacjonarne
Lab. Z I PTŚ, Politechnika Poznańska, Elektrotechnika, Semestr IV, semestr 4, Podstawy techniki swie
Notatki z E. Babbiego, Studia dalekowschodnie, Rok I semestr II, Metody i techniki badań społecznych
A18I II Metody - techniki projekcyjne i analiza, Studia, Psychologia, SWPS, 2 rok, Semestr 04 (lato)

więcej podobnych podstron