You are on page 1of 5

Ćwiczenie -1

Objaśnienie

Funkcje do konstruowania wektorów i macierzy

Nazwa Opis funkcji

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

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


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

For i = start: skok: koniec Podprogram wykonawczy zawarty pomiędzy for i end
... polecenie Matlaba wykonywany jest i powtarzany dla każdego elementu
end określonego zmienną i.

Struktura pętli if

if <warunek> Wykonywanie instrukcji if polega na wykonaniu poleceń


... polecenie Matlaba związanych z wyrażeniem warunkowym. Jeśli nie zachodzi
end warunek następuje wyjście poza pętlę.

Struktura pętli while

while <wyrazenie> Wykonywanie sekwencji poleceń jest powtarzane tak długo jak
... polecenie Matlaba wyrażenie po while przyjmuje wartość różną od zera
end (TRUE).
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 równe b
a~=b a różne od b
a<b a mniejsze od b
a>b a większe od b
a<=b a mniejsze równe b
a>=b a większe równe b

Funkcje logiczne
Operatory

Operator Opis działania operacji

a|b alternatywa: 1 wówczas jeśli co najmniej jeden z operatorów różny od zera


a&b koniunkcja: 1 wówczas jeśli oba operatory niezerowe
xor(a, b) różnice symetryczne: 1 tam gdzie jeden z operatorów jest niezerowy ale nie oba naraz
~a negacja : 1 wówczas jeśli a = = 0, 0 tam gdzie a ~ = 0

ZADANIA
Zadanie 1

Utworzyć wektor t 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?
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 ?

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.

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?

You might also like