tsis laboratorium1


Katedra
Podstaw
Konstrukcji
Maszyn
Wydział
Mechaniczny
Technologiczny
Teoria Systemów
Politechnika
i Sygnałów
ÅšlÄ…ska
Kierunek studiów AiR, semestr 5
ProwadzÄ…cy przedmiot
Prof. dr hab. Wojciech Moczulski
Rok akademicki 2009/10
Instrukcja do ćwiczeń laboratoryjnych
Ćwiczenie 1
Temat
Åšrodowisko Matlab. Wprowadzenie
Opracowała: dr inż. A. Timofiejczuk
ul. Konarskiego 18a
44-100 Gliwice
tel. 237 1467
fax 237 1360
http://kpkm. polsl.gliwice.pl
A0PT18P00D53-001 Gliwice 2009-10-01 - 1/10 -
I. Zadania do wykonania
Cel ćwiczenia: Zapoznanie się ze środowiskiem Matlab, w którym wykonywane będą zadania
dotyczące następnych ćwiczeń.
Zadanie 1.
Zapoznanie się ze sposobami przypisania wartości zmiennym oraz wykonywanie
działań na macierzach. Macierze:
1 2 3 5 7 8
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚2 3 4śł i ïÅ‚7 8 9 śł
ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł ïÅ‚ śł
ðÅ‚3 4 5ûÅ‚ ðÅ‚8 9 10ûÅ‚
zapisać pod zmiennymi m1 i m2.
wyznaczyć maksymalną wartość elementów tych macierzy pod zmiennymi max1 i max2,
wyznaczyć wyniki działań: m1+m2, m1/m2, m1*max1.
Zadanie 2.
Wyznaczyć rozwiązanie układu równań:
2x1 + 3x2 - 4x3 = -1
Å„Å‚
ôÅ‚
3x1 - 2x2 + 4x3 = 5
òÅ‚
ôÅ‚- x1 + 3x2 - 2x3 = -4
ół
Sprawdzić czy otrzymane rozwiązanie spełnia ten układ
Zadanie 3.
Wyznaczyć optymalne rozwiązanie układu równań  słabo sprzecznych:
2x1 + 3x2 - 4x3 = -1
Å„Å‚
ôÅ‚
3x1 - 2x2 + 4x3 = 5
ôÅ‚
òÅ‚
ôÅ‚- x1 + 3x2 - 2x3 = -4
ôÅ‚
x1 + 2x2 + 3x3 = 2
ół
Sprawdzić w jakim stopniu otrzymane rozwiązanie spełnia układ równań.
Zadanie 4.
Sporządzić wykres funkcji:
y = (x - 2)(x - 3)(x - 4) dla x " 15
;
[ ]
Zadanie 5.
Sporządzić wykres funkcji: (a) w postaci 3-wymiarowej, b) w postaci mapy warstwcowej)
z = 8 - x2 - y2 dla x "- 33 , y " - 33
; ;
[ ] [ ]
Zadanie 6.
W macierzy d1 zapisać kolejne wyrazy szeregu:
y = 2sin(240t + 2) + 3sin(150t + 3) wyznaczone dla t = 099
:
Zadanie 7.
Opracować i uruchomić funkcję wykres01(macierz), która pozwoli na wykonanie wykresu
elementów szeregu z poprzedniego zadania.
A0PT18P00D53-001 Gliwice 2009-10-01 - 2/10 -
II. Objaśnienia
1. Wstęp
MATLAB jest pakietem uniwersalnych narzędzi matematycznych pozwalających na
wykonywanie obliczeń numerycznych z wielu dziedzin.
Pakiet składa się z:
- interpretera języka programowania,
- biblioteki gotowych funkcji podstawowych,
a także
- bibliotek gotowych funkcji specjalistycznych (przyborników ang. toolboxes).
(liczba oraz rodzaje bibliotek dodatkowych zależne są od potrzeb użytkownika i
zakresu stosowania całego pakietu Matlab)
Matlab umożliwia specyficzny zapis funkcji i zmiennych co pozwala na znaczne
uproszczenie skomplikowanych algorytmów, w szczególności obliczeń macierzowych.
Ta cecha pakietu Matlab będzie szczególnie wykorzystywana na zajęciach
laboratoryjnych.
Uwaga
Zajęcia laboratoryjne z Teorii systemów i sygnałów opierają się na funkcjach
zawartych w module podstawowym i module służącym do analizy sygnałów (Signal
Processing Toolbox).
2. Zmienne
- wszystkie zmienne zadeklarowane w pakiecie Matlab sÄ… macierzami,
- pierwsze wywołanie zmiennej (przypisanie jej wartości) jest równoznaczne z jej
deklaracjÄ…
Zmienne specjalne
ans  zmienna przyjmująca wartość ostatnio wykonywanego działania,
pi  stała 3.14;
NaN  wynik drukowany dla operacji matematycznie niezdefiniowanych (nie liczba)
inf  wynik drukowany dla operacji matematycznych, których wynikiem jest
niskończoność)
Sposoby przypisywania zmiennym wartości
średnik na końcu linii powoduje, że wynik operacji nie ukaże się w kolejnym wierszu,
brak średnika powoduje wypisanie wyniku operacji w kolejnym wierszu.
przez wyliczanie elementów macierzy:
przykład objaśnienie
a=2; macierz jednokolumnowa i jednowierszowa, zawierajÄ…ca
element o wartości 2
b=[1 2 3 4 5 6]; macierz zawierająca jeden wiersz i sześć kolumn
c=[1; 2; 3; 4; 5; 6]; macierz zwierająca sześć wierszy i jedną kolumnę
( ; - w zapisie macierzy oddziela kolumny)
d=[ 1 1 1; 2 2 2]; macierz zawierajÄ…ca dwa wiersze i trzy kolumny
przez wygenerowanie elementów:
przykład objaśnienie
A0PT18P00D53-001 Gliwice 2009-10-01 - 3/10 -
e=1:1:10; macierz zawierająca jeden wiersz i dziesięć kolumn,
w których elementy przyjmują wartości od 1 do 10 z
krokiem 1 wg schematu:
e=wartość pocz.: krok: wartość końcowa
Uwaga:
pominięcie kroku (np. e=1:10) powoduje
automatyczne przyjęcie wartości kroku jako 1.
f=[10:10:70;20:20:140]; macierz zawierajÄ…ca dwa wiersze i siedem kolumn,
elementy wiersza pierwszego przyjmują wartości od
10 do 70 z krokiem 10, a elementy wiersza drugiego
wartości od 20 do 140 z krokiem 20
Uwaga:
liczba elementów w kolejnych wierszach macierzy
jest zawsze taka sama
przez budowanie z innych macierzy:
przykład objaśnienie
g=[d f] macierz zawierająca dwa wiersze i dziesięć kolumn
h=[g;e] macierz zawierająca trzy wiersz i dziesięć kolumn
Funkcje wspomagające przypisywanie wartości zmiennym
ones(m,n)
funkcja tworzy macierz, której wszystkie elementy przyjmują wartość 1, m i n
oznaczajÄ… liczbÄ™ wierszy i liczbÄ™ kolumn macierzy
a=ones(10,10); macierz zawierająca 10 wierszy i 10 kolumn, której
wszystkie elementy przyjmują wartość 1
zeros(m,n)
funkcja tworzy macierz, której wszystkie elementy przyjmują wartość 0, m i n
oznaczajÄ… liczbÄ™ wierszy i liczbÄ™ kolumn macierzy
b=zeros(1,20); macierz zawierająca 1 wiersz i 20 kolumn, której
wszystkie elementy przyjmują wartość 0
rand(m,n)
funkcja tworzy macierz, której elementy przyjmują wartości losowe o rozkładzie
równomiernym w przedziale [0,1], m i n oznaczają liczbę wierszy i liczbę kolumn
macierzy
c=rand(2,5); macierz zawierająca dwa wiersze i pięć kolumn, których
elementy przyjmują wartości losowe o rozkładzie
równomiernym
randn(m,n)
funkcja tworzy macierz, której elementy przyjmują wartości losowe o rozkładzie
normalnym ze średnią równą 0 i wariancją równą 1, m i n oznaczają liczbę
wierszy i liczbÄ™ kolumn macierzy
d=randn(10,20); macierz zawierająca dziesięć wierszy i dwadzieścia
kolumn, których elementy przyjmują wartości losowe o
rozkładzie normalnym
linspace(x1,x2,k)
macierz zawierająca jeden wiersz i k kolumn, w którym elementy przyjmują
wartości od x1 (pierwszy element) do x2 (ostatni element) z równomiernym
skokiem
A0PT18P00D53-001 Gliwice 2009-10-01 - 4/10 -
e=linspace(0,10,5); macierz jednowierszowa [0 2.5 5 7.5 10]
logspace(x1,x2,k)
macierz zawierająca jeden wiersz i k kolumn, w którym elementy przyjmują
wartości od 10x1 (pierwszy element) do 10x2 (ostatni element)
f=logspace(0,4,5); macierz jednowierszowa [1 10 100 1000 10000]
meshgrid(x1:k:x2)
macierz zawierająca siatkę punktów pozwalająca na specjalne wygenerowanie
danych dla funkcji wielu zmiennych (takie wygenerowanie danych pozwala na
nie stosowanie pętli)
[x,y]=meshgrid(-5:1:5); dwie macierze x i y (11x11); gdzie macierz x zawiera
11 jednakowych wierszy, o elementach od  5 do 5 z
krokiem , a macierz y zawiera 11 jednakowych
kolumn o elementach od  5 do 5 z krokiem 1
Odwoływanie się do elementów macierzy
Przykład: a=[1 2 3; 4 5 6; 7 8 9]
îÅ‚1 2 3Å‚Å‚
ïÅ‚4
a = 5 6śł
ïÅ‚ śł
ïÅ‚7 8 9śł
ðÅ‚ ûÅ‚
a1=a(2,2) element w drugim wierszu i w drugiej kolumnie (a1= 5)
a2=a(1:2,1:2) odwołanie się do elementów macierzy między elementami
(1,1) i (2,2) (a2=[1 2;4 5])
a3=a(3,1:2) odwołanie się do elementów od 1 do 2 w wierszu 3 (a3=[7 8])
a4=a(:,2) odwołanie się do elementów we wszystkich wierszach
macierzy i w kolumnie drugiej (a4=[2; 5; 8])
a5=a(2:3,:) odwołanie się do elementów w wierszach od 2 do 3 we
wszystkich kolumnach (a5=[4 5 6;7 8 9]
Rozmiary macierzy
Przykład: a=[1 2 3; 4 5 6], b=[10 20 30 40];
[n,m]=size(a) funkcja zwraca liczbÄ™ wierszy n=2 i liczbÄ™ kolumn m.=3
n=size(a,1) funkcja zwraca liczbÄ™ wierszy n=2
m=size(a,2) funkcja zwraca liczbÄ™ kolumn m=3
l=length(b) funkcja zwraca długość wektora l=4
lm=length(a) funkcja length zwraca większy wymiar macierzy lm=3
2. Operatory arytmetyczne
+ dodawanie / dzielenie
- odejmowanie \ dzielenie
* mnożenie ^ potęgowanie
3. Działania na zmiennych
W pakiecie Matlab wszystkie zmienne są macierzami. Działania wykonywane na
zmiennych sÄ… zgodne z tradycyjnym rachunkiem macierzowym.
A0PT18P00D53-001 Gliwice 2009-10-01 - 5/10 -
W Matlabie istnieje możliwość traktowania zmiennych jako tak zwanych danych
tablicowych. Operacje na nich realizowane polegają na wykonywaniu działań dla
kolejnych par elementów macierzy (o tych samych indeksach). Takie działania wymagają
zastosowania specjalnego operatora KROPKI.
Działania na zmiennych zgodne z rachunkiem macierzowym
Przykłady: a=[1 2 3; 4 5 6]
c=a ; transponowanie macierzy (c=[1 4;2 5; 3 6]
d=inv(a(1:2,1:2)); odwracanie macierzy, odwracana macierz jest
kwadratowa (d= [-1.6667 0.6667; 1.3333 -0.3333])
e=pinv(a) odwracanie macierzy niekwadratowych, wynikiem
wywołania funkcji jest macierz odwrotna do macierzy a,
macierz ta nie spełnia wszystkich warunków jakie spełniają
macierze odwrotne (e=[-0.9444 0.4444 -0.1111 0.1111
0.7222 -0.2222])
w=det(a(1:2,1:2) wyznacznik podmacierzy macierzy a rozpiętej między
elementami (1,1) (2,2), macierz jest macierzÄ…
kwadratowÄ…, (w=-3)
Przykłady: a=[1 2 3; 4 5 6] l=10
b=a+l dodawanie liczby do elementów macierzy (b=[ 11 12 13; 14
15 16])
c=l+a dodawanie elementów macierzy do liczby(c=[ 11 12 13; 14
15 16])
d=a-l odejmowanie liczby od elementów macierzy (d=[ -9  8  7;
-6  5 -4])
f=a-l odejmowanie elementów macierzy od liczby (e=[ 9 8 7; 6 5
4])
g=a*l; mnożenie elementów macierzy przez liczbę (g= [10 20 30;
40 50 60];
h=l*a mnożenie liczby przez elementy macierzy (h= [10 20 30; 40
50 60];
i=a/l dzielenie elementów macierzy przez liczbę (i= 0.1 0.2 0.3;
0.4 0.5 0.6])
Przykłady: a=[1 2 3; 4 5 6] b=[7 8 9;10 11 12]
e=a+b; sumowanie macierzy, liczby wierszy i kolumn w
macierzach są równe (e=[ 8 10 12; 14 16 18])
f=a-b; odejmowanie macierzy, liczby wierszy i kolumn w
macierzach są równe (f= [-6  6 -6; -6  6  6];
g=a*b ; mnożenie macierzy, liczba wierszy w macierzy pierwszej
i kolumn w macierzy drugiej jest równa,
(g=[ 50 68; 122 167])
Działania na zmiennych z zastosowaniem operatora kropki
Przykłady: a=[1 2 3; 4 5 6] b=[7 8 9;10 11 12]
c=a.+b; sumowanie elementów macierzy, liczby wierszy i kolumn
A0PT18P00D53-001 Gliwice 2009-10-01 - 6/10 -
w macierzach są równe (c=[ 8 10 12; 14 16 18])
d=a.-b; odejmowanie elementów macierzy, liczby wierszy i kolumn
w macierzach są równe (d= [-6  6 -6; -6  6  6];
e=a.*b; mnożenie elementów macierzy, liczby wierszy
i kolumn w macierzach są równe,
(e=[ 7 16 27; 40 55 72])
g=a./b dzielenie elementów macierzy a przez elementy
macierzy b, liczby wierszy i kolumn w macierzach
są równe,
(g=[ 0.1429 0.2500 0.3333; 0.4000 0.4545 0.5000])
h=a.\b dzielenie elementów macierzy b przez elementy
macierzy a, liczby wierszy i kolumn w macierzach
są równe,
(h=[ 7.0000 4.0000 3.0000; 2.5000 2.2000 2.0000])
i=a.^2 potęgowanie elementów macierzy
(i=[ 1 4 9; 16 25 36])
4. Wybrane funkcje matematyczne
funkcja opis przykład zastosowania
suma elementów wektora a=[1 2 3]
sum (dla macierzy sumy elementów b=sum(a);
w kolejnych kolumnach) wynik b=6
wartość maksymalna a=[1 2 3]
max elementów wektora b=max(a);
(dla macierzy wartości wynik b=3
maksymalne elementów w
kolejnych kolumnach)
wartość minimalna elementów a=[1 2 3]
min wektora (dla macierzy wartości b=min(a);
minimalne elementów w wynik b=1
kolejnych kolumnach)
wartości bezwzględne y=[1  20]
abs kolejnych elementów macierzy x=abs(y);
lub wektora wynik y=[1 20]
wartość średnia elementów a=[1 2 3]
mean wektora (dla macierzy wartości b=mean(a);
maksymalne elementów w wynik b=2
kolejnych kolumnach)
wartość środkowa elementów a=[1 2 3]
median wektora (dla macierzy wartości b=median(a);
środkowe elementów w wynik b=2
kolejnych kolumnach)
std odchylenie standartowe a=[1 2 3]
elementów wektora b=std(a);
(dla macierzy odchylenia wynik b=1
standartowe elementów w
kolejnych kolumnach)
sqrt pierwiastek kwadratowy y=[4 9];
A0PT18P00D53-001 Gliwice 2009-10-01 - 7/10 -
kolejnych elementów wektora x=sqrt(y);
lub macierzy wynik x=[2 3]
exp funkcja wykładnicza b=exp(2);
wynik b=7.3891
sin sinus x=sin(2*pi*t*32)
cos cosinus x=10*cos(2*pi*t*128)
tan tangens x=20*tan(2*pi*t*256)
a=rand(1,100);
hist histogram b=hist(a,10)
histogram obliczony w 10 klasach
5. Wizualizacja danych
Pakiet Matlab pozwala na wizualizację danych w postaci wielu rodzajów wykresów
dwu i trójwymiarowych. Poniżej pokazano wybrane funkcje wizualizacji danych w
postaci wykresów dwuwymiarowych oraz funkcje pozwalające na edycję tych wykresów.
funkcja opis funkcja opis
plot wykres w skali xlabel opis osi x
liniowej
loglog wykres w skali ylabel opis osi y
logarytmicznej
semilogx wykres o osi x w skali text dodawanie dowolnego
logarytmicznej i osi y tekstu w określonym
w skali liniowej miejscu (wskazanym
przez podanie
współrzędnych) na
wykresie
semilogy wykres o osi y w skali gtext dodawanie dowolnego
logarytmicznej i osi x tekstu w określonym
w skali liniowej miejscu (wskazanym
myszkÄ…) na wykresie
title tytuł wykresu grid wywołanie siatki na
wykresie
axis zakres zmienności osi subplot podwykres
możliwość rysowania
kilku wykresów w
jednym oknie w
układzie
macierzowym
bar wykres słupkowy hold zapamiętanie
poprzedniego wykresu
następny wykres
zostaje utworzony w
nowym oknie
plot3 wykres funkcji dwóch surf wykres powierzchnio-
zmiennych w skali wy funkcji dwóch
liniowej zmiennych
Style i kolory linii na wykresie
A0PT18P00D53-001 Gliwice 2009-10-01 - 8/10 -
symbol kolor symbol rodzaj linii
y żółty . punkt
m karmazynowy o okrÄ…g
c beżowy x x
r czerwony + plus
g zielony * gwaizdka
b niebieski - linia ciągła
w biały : linia kropkowana
k czarny -. linia kropka - kreska
-- linia przerywana
Przykłady wywołania funkcji wizualizacji
x=linspace(1,500,100)
plot(x);
hold on;
plot(x,y, r+);
hold off;
title( Przebieg sygnału harmonicznego );
ylabel( amplituda );
text( Position ,[20,4], String , zjawisko rezonansu );
grid
axis([0 10 010]);
subplot(3,1,1);
6. Polecenia edytora
Sekwencja klawiszy Działanie
Up-Arrow, Ctrl-P przywołanie poprzedniej komendy
Down-Arrow, Ctrl-N przywołanie następnej komendy
Left-Arrow, Ctrl-B przesunięcie kursora w tył o jeden znak
Right-Arrow, Ctrl-PF przesunięcie kursora w przód o jeden znak
Ctrl-Left-Arrow przesunięcie kursora w tył o jedno słowo
Ctrl-Right-Arrow przesunięcie kursora w przód o jedno słowo
Home, Ctrl-A przesunięcie do początku linii komend
End, Ctrl-E przesunięcie do końca linii komend
Esc usunięcie linii komendy
Del, Ctrl-D usunięcie znaku zaznaczonego przez kursor
Backspace usunięcie znaku na lewo od kursora
Ctlr-K usunięcie części linii od miejsca zaznaczonego
przez kursor do końca linii
7. Korzystanie z pomocy pakietu Matlab
Wszystkie funkcje podstawowego pakietu Matlab jak i funkcje specjalne zawarte w
dodatkowych przybornikach opisane zostały w plikach pomocy. Wywołanie opisu
działania dowolnej funkcji jest wynikiem zastosowania polecenia help.
Przykład:
help sum
wynik:
A0PT18P00D53-001 Gliwice 2009-10-01 - 9/10 -
SUM Sum of elements.
For vectors, SUM(X) is the sum of the elements of X. For
matrices, SUM(X) is a row vector with the sum over each
column. For N-D arrays, SUM(X) operates along the first
non-singleton dimension.
SUM(X,DIM) sums along the dimension DIM.
8. Tworzenie własnych funkcji
Pakiet Matlab pozwala na tworzenie własnych funkcji zapisywanych w plikach z
rozszerzeniem .m. Struktura pliku zawierającego funkcję jest ściśle określona. Plik z
definicją własnej funkcji zawiera:
- słowo kluczowe function (pierwsze słowo w pliku),
- nagłówek funkcji składający się z listy parametrów zwracanych przez funkcję, znaku
równości, nazwy funkcji i listy parametrów wejściowych funkcji,
- komentarze dodawane przez autora po znaku  % , które nie wyświetlają się w czasie
wywoływania funkcji.
ZalecanÄ… nazwÄ… pliku jest nazwa funkcji.
Przykład:
plik obliczenia.m
function [roznica,suma]=obliczenia(a,b)
roznica=a-b; %obliczanie różnicy
suma=a+b; %obliczanie sumy
przykład wywołania
x=[1 2 3; 4 5 6];
y=[1 2 3; 4 5 6];
[r,s]=obliczenia(x,y)
wyniki:
r=[0 0 0; 0 0 0]
s=[2 4 6; 8 10 12]
Literatura
[1] Brzóska J., Dorobczyński L.: Programowanie w Matlab. ZNI  MIKOM , Warszawa
1998.
[2] MrózekB., Mrózek Z.: MATLAB. Uniwersalne środowisko do obliczeń naukowo-
technicznych. Wprowadzenie do programowania. Wydawnictwo AGO, 1994.
[3] Osowski S., Toboła A.: Analiza i projektowanie komputerowe z zastosowaniem
języków Matlab i PCNNAP. Ificyna Wydawnicza Politechniki Warszawskiej,
Warszawa 1997.
[4] Zalewski A., Cegieła R.: Matlab  obliczenia numeryczne i ich zastosowanie.
Wydawnictwo Nakom, Poznań 1998.
A0PT18P00D53-001 Gliwice 2009-10-01 - 10/10 -


Wyszukiwarka

Podobne podstrony:
tsis laboratorium5
tsis laboratorium2
tsis laboratorium3
Rola laboratoriów w świetle wymagań systemów zarządzania jakoscią
Laboratorium 3
Ćwiczenie laboratoryjne nr 6 materiały
Windows 2 Laboratorium 4b
Chemia żywnosciCwiczenie laboratoryjne nr 1 wyodrebnianie i badanie własciwosci fizykochemicznych b
Laboratorium 3
LABORATORIUM CHEMIA I WYTRZYMALOSC MATERIALOW sprawko 1
Ustawa o medycznej diagnostyce laboratoryjnej
Laboratorium z PO Zestaw 05
diagnostyka laboratoryjna w okresie niemowlęcym i dziecięc…

więcej podobnych podstron