Laboratorium

Transkrypt

Laboratorium
Ćwiczenie 2
Grafika i programowanie w MATLAB-ie
Cele ćwiczenia

Poznanie funkcji realizujących wykresy.

Zapoznanie z możliwościami przedstawiania zmiennych na wykresach.

Opanowanie umiejętności dopasowywania wyglądu wykresu do potrzeb prezentacji
wyników.

Opanowanie umiejętności tworzenia bardzo prostych programów służących do generowania ciągów, które będą wykorzystywane w kolejnych ćwiczeniach.
Funkcja plot
Funkcja plot wykonuje dwuwymiarowe wykresy z liniową skalą na obu osiach.
Wywołanie funkcji powoduje otwarcie okienka graficznego, w którym pojawia się wykres.
Funkcja plot może być wykonywana z różną ilością parametrów. Składnia funkcji może
przyjmować postać:
plot(y)
% domyślnie x=[1,2,3,…]
plot(x,y)
% wykres pojedynczy, gdy y jest wektorem
plot(x,y,x1,y1,…)
% kilka wykresów
gdzie: x – wektor n elementowy zawierający wartości zmiennej x,
y – wektor n elementowy lub macierz o wymiarach m×n zawierająca wartości wykreślanej funkcji,
x1, y1 – dane dla kolejnych wykresów.
Przykłady:
12
Ćwiczenie 2. Grafika i programowanie w MATLAB-ie
>>x=0:pi/100:4*pi;
% wektor zmiennej x
>>y=sin(x);
% wektor wartości funkcji
>>plot(y)
% oś x wyskalowana domyślnie kolejnymi
% liczbami naturalnymi
>>plot(x,y)
% na osi x kolejne wartości wektora x
>>plot(x,sin(x),x,cos(x))
% dwa wykresy
>>plot(x,[sin(x);cos(x)])
% dwa wykresy
Polecenie 1. Wykreślić na wykresie plot następujące funkcje:

x2 + 3x + 10
– 100 punktów dla x od −10 do 10,

sin(2x)cos(100x)
– 100 punktów dla x od 0 do 3π,

sin(5x)cos(10x)
– 100 punktów dla x od 0 do 3π.
Edycja właściwości wykresu
W MATLAB-ie istnieją funkcje umożliwiające zmianę właściwości wykresu, dodawanie komentarzy, etykietowanie osi itp.. Wykorzystanie tych funkcji jest kłopotliwe,
gdyż trzeba nauczyć się ich nazw i składni, na szczęście do wszystkich tych funkcji jest
dostęp poprzez interfejs graficzny wykresu. Aby wywołać formularz edycji właściwości
wykresu, należy kliknąć na ikonę ze strzałką, następnie kliknąć podwójnie w obszarze wykresu.
Polecenie 2. Wywołać formularz edycji właściwości wykresu, następnie:

zapoznać się z możliwościami edytowania właściwości wykresu,

zmienić skale na osiach x i y,

opisać wykres dodając tytuł wykresu i opisy osi,

wyeksportować wykres do systemu operacyjnego jako plik graficzny.
Powyższe czynności będą potrzebne do przygotowania sprawozdań z następnych ćwiczeń,
które będą dotyczyły cyfrowego przetwarzania sygnałów.
13
Ćwiczenie 2. Grafika i programowanie w MATLAB-ie
Polecenie 3. Przedstawić na wykresie moduł funkcji T ( j ) 
1
.
1  0.1 j
Cechy wykresu:

wartości ω od 1 do 1000,

wartości na osi y w decybelach,

oś x wyskalowana logarytmicznie .
Wykres jaki należy uzyskać przedstawiono na rys. 2.1.
Rys. 2.1. Wykres funkcji
1
w skali logarytmiczno decybelowej.
1  0.1 j
Funkcja stem
Funkcja stem wykonuje dwuwymiarowe wykresy dyskretne z liniową skalą na
obu osiach. Wywołanie funkcji powoduje otwarcie okienka graficznego, w którym pojawia
się wykres. Składnia funkcji może przyjmować postać:
stem(y)
% domyślnie x=[1,2,3,…]
stem(x,y)
14
Ćwiczenie 2. Grafika i programowanie w MATLAB-ie
Funkcja jest przydatna do wykreślania widma amplitudowego sygnałów oraz wykreślania
niedługich ciągów próbek (przy długich ciągach wykres jest nieczytelny).
Polecenie 4. Wykreślić na wykresie stem następujące funkcje:

sin(2x)cos(100x)
– 50 punktów dla x od 0 do 3π,

sin(2x)cos(100x)
– 500 punktów dla x od 0 do 3π.
Funkcja stem pozwala wykreślić tylko jeden ciąg na wykresie, co jest zrozumiałe
ponieważ umieszczenie dwóch ciągów na jednym wykresie jest mało czytelne. Aby na
jednym wykresie umieścić funkcje ciągłą i dyskretną, należy posłużyć się funkcją plot
zmieniając typ jednej z wykreślanych funkcji na dyskretną. 1 Na rys. 2.2 przedstawiono
połączenie wykresu ciągłego z dyskretnym. Wykres ciągły przedstawia jeden okres sinusoidy, wykres dyskretny przedstawia próbki tej sinusoidy.
Rys. 2.2. Połączenie wykresu ciągłego i wykresu dyskretnego uzyskane za pomocą funkcji plot.
Instrukcja warunkowa
Ogólna postać instrukcji warunkowej jest następująca:
1
Tworzenie wykresów dyskretnych przez funkcję plot jest możliwe od wersji 7 MATLAB-a.
15
Ćwiczenie 2. Grafika i programowanie w MATLAB-ie
if wyrażenie_logiczne_1
polecenia
elseif wyrażenie_logiczne 2
polecenia
…
else
polecenia
end
Jeśli wartość wyrażenia logicznego jest różna od zera, to wykonywane są polecenia po if.
Jeśli wartość wyrażenia jest równa zero, to polecenia po if nie są wykonywane, a wykonywana jest zagnieżdżona instrukcja elseif (jeśli jest taka instrukcja). Instrukcja warunkowa może być wielokrotnie zagnieżdżona. Polecenia po słowie kluczowym else są wykonywane, jeśli żadne z wyrażeń nie miało wartości różnej od zera.
Poniższa tabela zawiera operatory relacji i operatory logiczne, które mogą wystąpić
w wyrażeniach logicznych.
Symbol
<
<=
>
Operator relacji
Symbol
Operator logiczny
mniejszy od
&
koniunkcja – AND
mniejszy albo równy
|
alternatywa – OR
większy od
~
Negacja
>=
większy albo równy
==
równy
~=
różny
xor
XOR
Tabela 2.1. Operatory relacji i operatory logiczne.
Przykład:
x=1;
if x>10 disp('x jest większe od 10')
else disp('x jest mniejsze lub równe 10')
end;
16
Ćwiczenie 2. Grafika i programowanie w MATLAB-ie
Pętla indeksowana – for
Pętla for jest w MATLAB-ie pętlą o określonej liczbie iteracji. Postać pętli jest następująca:
for zmienna_sterująca = wyrażenie
polecenia
end
Wyrażenie określające liczbę iteracji ma najczęściej postać:
zmienna_sterująca = wartość_początkowa:krok:wartość_końcowa
Przykład:
x=-10;
Y=x*x;
% inicjacja zmiennej Y
for x = -9.9:0.1:10
if x<0
Y=[Y x*x];
else Y=[Y 10*x];
end
end
x=-10:0.1:10;
plot(x,Y)
Polecenie 5. Wykorzystując pętlę for wygenerować ciąg próbek fali trójkątnej
o parametrach:

długość ciągu = 100 próbek,

okres = 20 próbek,

wartość maksymalna = 10,

wartość minimalna = −10.
17

Podobne dokumenty