background image

 

POLITECHNIKA WARSZAWSKA 

 

INSTYTUT TECHNIK WYTWARZANIA 

 
 
 
 
 

   

 

 
 
 

   

 

 

 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 

Opracował: dr inż. Leszek Moszczyński 

 

Warszawa 

 

2007 

 
 
 
 
 
 
 

 

LABORATORIUM 

   
 
PODSTAW  
 
 
  TEORII  
   

 

 

 
S Y G N A Ł U 

 

background image

For i = start: skok: koniec 
 

... polecenie Matlaba 

 

end 

if <warunek> 
 

... polecenie Matlaba 

 

end 

while <wyrazenie> 
 

... polecenie Matlaba 

 

end 

 
 
 
 
 

 

Ćwiczenie lab -2 

 

Sygnał jako wektor 

 

 

Różne sposoby konstrukcji sygnałów, proste zależności i przekształcenia 

 
Objaśnienie 

 

Funkcje do konstruowania wektorów i macierzy 

 

Nazwa 

Opis funkcji 

linspace 
ones 
zeros 
rand 
randn 
sort 
length 

wektor o wartościach równomiernie rozłożonych 
macierz o elementach równych 1 
macierz o zerowych elementach 
macierz losowa o rozkładzie równomiernym 
macierz o rozkładzie normalnym 
sortowanie elementów według narastających wartości 
zwraca wymiar wektora lub macierzy dłuższy z jej wymiarów 

 
Tworzenie wektorów: 
 

 

j:k   

definiuje wektor [j, j+1, ..., k] 

 

j:i:k  

zapisuje wektor [j, j+i, j+2i, ..., k] 

 
Wybór żądanych wierszy, kolumn i elementów macierzy lub wektora 
 
 

 

a(:,j)  

wypisanie j-tej kolumny macierzy 

 

 

a(:, j:k) 

wypisanie kolumn a(j), a(j+1), ..., a(k) 

 

 

a=[ ]  

definiuje pusty wektor lub macierz 

 

Organizacja pętli 

 
 
Struktura pętli for 

 
Podprogram wykonawczy zawarty pomiędzy for i end 
wykonywany jest i powtarzany dla każdego elementu 
określonego zmienną i
 

 
Struktura pętli if 

 
Wykonywanie instrukcji if polega na wykonaniu poleceń 
związanych z wyrażeniem warunkowym. Jeśli nie zachodzi 
warunek następuje wyjście poza pętlę. 
 

 
 
Struktura pętli while 

 
Wykonywanie sekwencji poleceń jest powtarzane tak długo jak 
wyrażenie po while przyjmuje wartość różną od zera 
(TRUE). 
 

background image

 

 
 
 
 
Objaśnienie 

 

Relacje i wyrażenia logiczne 

 

Fałsz – odpowiada macierzy lub wektorowi pustemu zawierającemu co najmniej jedno zero. 
Logiczna prawda – odpowiada macierzy lub wektorowi o elementach niezerowych. 
 
Operatory porównania 
 

Wyrażenie 

Relacja 

a = = b 
a ~ = b 
a < b 
a > b 
a < = b 
a > = b 
 

a równe b 
a różne od b 
a mniejsze od b 
a większe od b 
a mniejsze równe b 
a większe równe b 

 

Funkcje logiczne 

Operatory 

 

Operator 

Opis działania operacji 

a | b 
a & b 
xor(a, b) 
~ a 

alternatywa: 1 wówczas jeśli co najmniej jeden z operatorów różny od zera 
koniunkcja: 1 wówczas jeśli oba operatory niezerowe 
różnice symetryczne: 1 tam gdzie jeden z operatorów jest niezerowy ale nie oba naraz 
negacja : 1 wówczas jeśli a = = 0, 0 tam gdzie a ~ = 0 

 
 
 
 

ZADANIA 

 
Zadanie 1 
 
Utworzyć wektor składający się z dziesięciu elementów równo rozmieszczonych w zakresie <0, 1>. 
Sprawdź wynik wykonania polecenia: format short i format long. 
W jaki sposób przekonać się, że polecenie format short oraz format long steruje jedynie formatem 
prezentacji wyniku, nie wpływając na wartości zmiennych? 
 
 
Zadanie 2 
Dany jest wektor a. Jak wykorzystując własności indeksowania zmienić kolejność zapisu jego elementów? 
 
Zadanie 3 
Utworzyć sygnał losowy o rozkładzie równomiernym (funkcja rand) złożony z 10 elementów. Wybrać z 
sygnału wektor składający się z czterech największych wartości i zapisać w postaci uporządkowanego wektora o 
malejących wartościach.   
 
Zadanie 4 
Utworzyć sygnał x, którego wektor zbudowany jest z pięciu elementów o wartości zero, sześciu jedynek i 
czterech zer. Jak zmienić ten sygnał by jego amplituda była pięć racy większa? 
 
 
 

background image

 Zadanie 5 
Dana jest macierz zapisana w postaci: 
 
A=[0 1 2 3 ; 4 5 6 7]; 
Co oznacza zapis: 
a)  A(:,4) =[ ] 
b)  A(:,2 : 3)=[ ] ? 
 
 
Zadanie 6 
Podaj wynik relacji: 
 
a)  3 < 2; 
b)  x = 6; 

x^2 > 4 * x; 

c)  ~ (2 > -4); 
d)  x =2; z =6; y =-4;  (x^2 + y^2) > z^2/2 |(z * y <x) 
e)x = 6;  y = 12;  z =-4; 

xor(z, x-2*y) 

 
Zadanie 7 
 
Jaki wynik uzyskamy realizując zapis: 
 
a)  
while (i < 3) & (x < 35) 
 

 

x = -x * (i +1) 

end 
 
b)  
i = 1; x = -3; 
while(xor(i < 3 , x < 35)) 
 

 

x = -x*(i + 1) 

 

 
Zadanie 8 
 
Dany jest sygnał x = [0 1 –3 4 –5 5 6  3]. 
Jakie liczby uzyskamy realizując zapis? 
n = find( x >2); 
 
 
Zadanie 9 
 
Dany jest sygnał x = [-4 1 2 –3 5 –5 3 4]. 
Jak zapisać procedurę sumowania elementów x mniejszych od dwóch? 
 
Zadanie 10 
 
W Matlabie zapisano polecenie: 
 
for k = 1 : 2 : 5; 
 

x(k) = 2 

end 
 
Zapisz wartości uzyskanego wektora x. 
 
Zadanie 11 
 
Wyjaśnij działanie instrukcji: 
 
n = 7; 
x = []; 
for i = 1 : n 
x = [x sqrt(i)]; 
end 
Z jakich liczb zbudowany jest wektor x ? 

background image

 
Zadanie 12 
 
Dane są dwa sygnały x = [5 3 2 1 7] i y = [0 2 4 5 6 ]. 
Co realizuje polecenie z = x(x < y)? 
 
Zadanie 13 
 
Dla danych Zadania 12 podaj wynik działania polecenia z = find(x < y). 
 
Zadanie 14 
 
Dla danych z zadań 12 i 13 podaj wynik działania polecenia l = length (z). 
 
Zadanie 15 
 
Dany jest sygnał x = 0.1 : 0.1 : 1. Wiedząc, że funkcja rem podaje resztę z dzielenia przeanalizuj 
następujący algorytm: 
 
k=0; 
n = length(x); 
for i = 2 : 1 : n 
 

if(rem(i,2) == 0) 

 

 

k = k +1; 

wynik(k)= x(i); 
 

end 

end 
 wynik 
Jakie liczby tworzą wynik? 
 
Zadanie 16 
 
Niech wektor x= -1: 0.2:1;    W jaki sposób należy uzupełnić algorytm z zadania 15, aby w  wyniku 
uzyskać sygnał  x złożony z elementów dodatnich o parzystych indeksach? 
 
Zadanie 17 
 
Czy wektor t = -pi : pi/10 : 0 ma taką sama długość jak wektor sygnału  
x = linspace (1, 10, 11). 
 
Zadanie 18 
 
Wskaż błąd w zapisie sygnału względem zmiennej dyskretnej t 
t = 0 : 1 : 10; 
x = linspace (1, 2, 10); 
plot (t, x). 
 
Zadanie 19 
 
Wyjaśnij dlaczego pętla: 
 
x = 1 
while x ~= 0 
 

x = x-0.2 

 

end 

działa nieprawidłowo? 
 
Zadanie 20 
 
Dany jest sygnał zapisany jako: x=[ -23 1 -12  3 -4  2]; 
Napisz polecenie zastępujące wartości ujemne  sygnału zerami. 
 
 
 

background image

 
Zadanie 21 
 
Dany jest sygnał jak w zadaniu 20. 
Napisz polecenie zastępujące wartości ujemne zawarte sygnale wartościami  jeden. 
 
Zadanie 22 
 
Dany jest sygnał  A=[1 2 3 4; 5 6 7 8]. Co realizuje zapis A(:)  ? 
Uzasadnij odpowiedź. 
Zadanie 23 
 
Zapisz w postaci zależności analitycznej (wzoru) poniższy sygnał: 
  
n1= -2; 
n2= 2; 
n = [n1: n2] 
x = 2 *(.5).^n; 
% .^ operator mnożenia  elementu przez element 
 
Zadanie 24 
 
Dany jest dowolny sygnał ciągły x. W Matlabie  dokonano obliczeń zapisanych w postaci poleceń:  
 
x_min = min(x) 

 

 

 

% oblicza wartość minimalną 

x_max = max(x) 

 

 

 

% oblicza wartość maksymalną 

 
x_przed = x_max - x_min; 

 

%  

Nbit = 6 

 

 

 

 

% Liczba bitów 

Lbit = 2 ^ Nbit 

 

 

 

%  

dx = x_przed/(Lbit + 1) ; 

 

 
Wstaw brakujące komentarze. Co oblicza ostatnia linia programu (zmienna dx )? 
 
Zadanie 25 
 
Dany jest zapis: 
 
n = [ -6 : 6 ]; 

 

 

x = [ 0 0 x 0 0 ]; 
 
Z ilu elementów składa się wektor x