Wybrane funkcje i polecenia
wykorzystywane w pracy z tablicami
•
S=sum(X) – zwraca sumę elementów wektora X. Jeżeli x jest macierzą, S jest wektorem wierszowym, którego elementami są sumy elementów każdej kolumny macierzy X
Przykład:
>> X=[1 2 3]; S=sum(X)
---------------------------------------
S =
6
>> X=[1 2 3;4 5 6];S=sum(X),sum(sum(X))
---------------------------------------
S =
5 7 9
ans =
21
•
A’ – znak apostrofu postawiony po nazwie zmiennej oznacza transpozycję tablicy przechowywanej w zmiennej.
Przykład:
>> X=[1 2 3 4;5 6 7 8],B=X'
-------------------------------------------
X =
1 2 3 4
5 6 7 8
B =
1 5
2 6
3 7
4 8
•
diag(X) – zwraca listę elementów należących do głównej przekątnej macierzy X
Przykład:
>> X=[1 2 3;4 5 6;7 8 9], diag(X)
-----------------------------------
X =
1 2 3
4 5 6
7 8 9
ans =
1
5
9
•
fliplr(X) – tworzy lustrzane odbicie macierzy w pionie Przykład:
>> X=[1 2 3;1 2 3;1 2 3;1 2 3], Y=fliplr(X)
---------------------------------------------
X =
Y =
1 2 3
3 2 1
1 2 3
3 2 1
1 2 3
3 2 1
1 2 3
3 2 1
•
D=length(X) – zwraca długość wektora X. Jeżeli X jest macierzą, D
zawiera większy z wymiarów macierzy
Przykład:
>> X=[1 2 3 4 5 6 7],D=length(X)
-------------------------------------------
X =
1 2 3 4 5 6 7
D =
7
>> X=[1 2 3 4 5;6 7 8 9 10],D=length(X)
---------------------------------------
X =
1 2 3 4 5
6 7 8 9 10
D =
5
•
D=size(X) – zwraca wymiary macierzy X.
Przykład:
>> X=[1 2 3 4 5;6 7 8 9 10],[w k]=size(X), D=size(X)
----------------------------------------------------
X =
1 2 3 4 5
6 7 8 9 10
w =
2
k =
5
D =
2 5
•
Wyświetlanie oraz sortowanie kolumn lub wierszy macierzy Przykład:
>> A=[1 2 3 4 5;1 2 3 4 5;1 2 3 4 5],B=A(:,[1 4 2]),C=A([3],:)
--------------------------------------------------------------
A =
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
B =
1 4 2
1 4 2
1 4 2
C =
1 2 3 4 5
•
Usuwanie kolumn lub wierszy macierzy
Przykład:
>> A=[1 2 3 4 5 6;7 8 9 10 11 12],A(:,6)=[]
-----------------------------------------------
A =
1 2 3 4 5 6
7 8 9 10 11 12
A =
1 2 3 4 5
7 8 9 10 11
•
max(X) – jeśli X jest wektorem, max(X) zwraca największy element wektora. Jeśli X jest tablicą, max(X) zwraca wektor maksymalnych elementów kolumn tablicy(X)
Przykład:
>> X=[1 2 3 4 5],A=max(X)
--------------------------------------
X =
1 2 3 4 5
A =
5
>> X=[1 2 3 4 5;4 8 1 10 3],B=max(X)
--------------------------------------
X =
1 2 3 4 5
4 8 1 10 3
B =
4 8 3 10 5
•
max(X) może zostać użyty zgodnie z poniższą składnią. Wówczas pierwsza zmienna zawiera wektór maksymalnych elementów macierzy X, zaś druga wektor indeksów określających numer tych elementów w poszczególnych kolumnach
Przykład:
>> X=[1 2 3 4 5;4 8 1 10 3],[w k]=max(X)
-----------------------------------------
X =
1 2 3 4 5
4 8 1 10 3
w =
4 8 3 10 5
k =
2 2 1 2 1
•
min(X) – jeśli X jest wektorem, max(X) zwraca najmniejszy element wektora. Jeśli X jest tablicą, max(X) zwraca wektor minimalnych elementów kolumn tablicy(X)
Przykład:
>> X=[1 2 3 4 5],A=min(X)
----------------------------------------
X =
1 2 3 4 5
A =
1
>> X=[1 2 3 4 5;2 0 -1 3 -5],B=min(X)
----------------------------------------
X =
1 2 3 4 5
2 0 -1 3 -5
B =
1 0 -1 3 -5
•
min(X) może zostać użyty zgodnie z poniższą składnią. Wówczas pierwsza zmienna zawiera wektór minimalnych elementów macierzy X, zaś druga wektor indeksów określających numer tych elementów w poszczególnych kolumnach
Przykład:
>> X=[1 2 3 4 5;2 0 -1 3 -5],[w k]=min(X)
------------------------------------------
X =
1 2 3 4 5
2 0 -1 3 -5
w =
1 0 -1 3 -5
k =
1 2 2 2 2
mean(X) zwraca średnia wartość elementów X. Dla wektorów, mean(X) zwraca średnią wartość elementów wektora X. Dla macierzy, mean(X) zwraca wektor zawierający średnie wartości każdej kolumny.
Przykład:
>> X=[1 2 3 4 5],A=mean(X)
-------------------------------------
X =
1 2 3 4 5
A =
3
>> X=[1 2 3;4 5 6],B=mean(X)
-------------------------------------
X =
1 2 3
4 5 6
B =
2.5000 3.5000 4.5000
mean(X) może liczyć średnią wartość elementów macierzy zgodnie z zadanym wymiarem macierzy
Przykład:
>> X=[0 1 2;1 3 2],A=mean(X,1), B=mean(X,2)
---------------------------------------------
X =
0 1 2
1 3 2
A =
0.5000 2.0000 2.0000
B =
1
2
Macierz magiczna to macierz kwadratowa, w której sumy elementów:
- w kolumnach,
- w wierszach i
- w obu przekątnych są sobie równe.
Macierz z obrazu Dürera zapisujemy do zmiennej A:
A=[16 3 2 13; 5 10 11 8;9 6 7 12;4 15 14 1]
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Kolejność wykonywanych czynności:
•Badamy sumę elementów w kolumnach macierzy
sum(A)
•Badamy sumę elementów w wierszach macierzy
sum(A')
•Badamy sumę elementów w obu przekątnych macierzy
sum(diag(A)); sum(diag(fliplr(A)))
Zadanie 1
Utwórz macierz A o wymiarach 3 x 10, która w pierwszym wierszu zawiera liczby 1 – 10, w drugim 11 – 20, w trzecim 21 – 30. Utwórz macierz B powstałą przez pomnożenie macierzy A przez 2. Odejmij od macierzy B macierz A i wynik zapisz w zmiennej C. Jak sprawdzić czy macierz C i A są identyczne? Wykonaj odpowiednie działanie i podaj wynik.
Zadanie 2
Dany jest wektor x=[0:pi/50:2*pi]. Wyodrębnij pierwsze 15 elementów wektora x i wyświetl jako wektor kolumnowy.
Zadanie 3
Dane są wektory: x=[1 2 3 4 5] i y=[5 4 3 2 1]. Który operator (* czy .*) umożliwi obliczenie iloczynu tych wektorów? Ile wyniesie iloczyn?
Zadanie 4
Dana jest macierz: a=[1:10;11:20].
Ile wynosi suma liczb z pierwszych pięciu kolumn macierzy a?
Zadanie 5
Dane są wektory: x=[1 2 3 4 5] i y=[1; 2; 3;4; 5].
Czy można dodać te wektory? Jeśli tak, ile wyniesie ich suma? Jeśli nie –
dlaczego?