1
Operacje na macierzach
w programie
MATLAB
2
Ćwiczenie 1: Algebra liniowa
Zdefiniować macierze A i B:
Obliczyć iloczyn macierzy A*B i B*A macierzowo i tablicowo;
Obliczyć A
3
macierzowo i tablicowo;
Obliczyć iloczyn (A*B)
-1
*(A*B);
Wyznaczyć macierz C=(A+B
T
)/2.
2
3
0
1
A
4
3
2
1
B
3
Ćwiczenie 1: Algebra liniowa
Zdefiniować macierze A i B:
» A=[1 0; 3 2]
» B=[1 2; 3 4]
•
Obliczyć iloczyn macierzy A*B i B*A macierzowo i tablicowo:
» A*B, B*A
%mnożenie macierzowe
» A.*B, B.*A
%mnożenie tablicowe
•
Obliczyć A
3
macierzowo i tablicowo:
» A^3
%mnożenie
macierzy: A*A*A
» A.^3
%potęgowanie pojedynczych elementów
%Aij
2
3
0
1
A
4
3
2
1
B
4
Ćwiczenie 1: Algebra liniowa
Obliczyć iloczyn (A*B)
-1
*(A*B):
» C=(A*B).^(-1)*(A*B)
•
Wyznaczyć macierz C=(A+B
T
)/2:
» C=(A+B’)./2
5
Ćwiczenie 2: Algebra liniowa
Zdefiniować wektor wierszowy x=[1 4] i macierz A:
Wykonać mnożenie: A*x.
2
7
1
4
A
6
Ćwiczenie 2: Algebra liniowa
Zdefiniować wektor wierszowy x=[1 4] i macierz A:
» x=[1 4], A=[4 1; 7 2]
•
Wykonać mnożenie: A*x:
W programie MATLAB nie można zapisać iloczynu tych zmiennych jako:
» A*x
ponieważ liczba kolumn macierzy A nie jest równa liczbie wierszy wektora
x. Prawidłowy zapis ma postać
» A*x’
w wyniku otrzymujemy wektor:
ans = 8
15
2
7
1
4
A
7
Ćwiczenie 3: Algebra liniowa
Zdefiniować wektor:
Obliczyć wartości funkcji: y=2xsin(1+x
2
).
2
2
3
2
0
x
8
Ćwiczenie 3: Algebra liniowa
Zdefiniować wektor:
» x=0:pi/2:2*pi;
» y=2*x.*sin(1+x.^2)
•
Obliczyć wartości funkcji: y=2xsin(1+x
2
).
» y=2*x.*sin(1+x.^2)
y =
0
-1.0055
-6.2334
-8.8360
4.4537
2
2
3
2
0
x
9
Ćwiczenie 4: Funkcje analizy
danych
Program MATLAB wykorzystuje działania na kolumnach tablic w
analizie statystycznej danych. Każda kolumna w tablicy danych
reprezentuje osobną zmienną, zaś każdy wiersz osobny punkt
pomiarowy. Stąd (i,j)-ty element jest i-tym punktem
pomiarowym j-tej zmiennej.
Przykłady danych statystycznych:
• rytm serca,
• ciężar,
• godziny zajęć w ciągu tygodnia.
Niech powyższe dane statystyczne będą zgrupowane w jednej
tablicy zawierającej pięć punktów pomiarowych:
»
D=[72 134 3.2;81 201 3.5;69 156 7.1;82 148 2.4;75 170 1.2]
10
Ćwiczenie 4: Funkcje analizy
danych
Pierwsza kolumna zawiera opis rytmu serca, następne ciężar i
godziny zajęć. Pierwszy wiersz zawiera dane dla pacjenta 1, następny
dla pacjenta 2 itd. Program MATLAB dostarcza użytkownikowi szereg
funkcji analizy danych. Np. polecenia mean i sigma obliczają wartości
średnie i odchylenia standardowe każdej z kolumn tablicy:
» mu = mean(D), sigma = std(D)
mu =
75.8 161.8 3.48
sigma =
5.6303 25.499 2.2107
Polecenie:
» help datafun
wyświetla listę wszystkich funkcji analizy danych w programie
MATLAB. W przypadku dostępu do biblioteki Statistics polecenie:
» help stats
wyświetla dodatkowe funkcje analizy danych zawarte w tej tablicy.
11
Ćwiczenie 4: Funkcje analizy
danych
Podstawowe funkcje analizy danych:
max
- największy element
min
- najmniejszy element
mean
- wartość średnia
median
- środkowy element
std
- odchylenie standardowe
sort
- sortowanie elementów w rosnącym porządku
sortrows
- sortowanie wierszy w rosnącym porządku
sum
- suma elementów
Przykłady:
»
max(D)
ans =
82.0000 201.0000 7.1000
12
Ćwiczenie 4: Funkcje analizy
danych
» min(D)
ans =
69.0000 134.0000 1.2000
» mean(D)
ans =
75.8000 161.8000 3.4800
» median(D)
ans =
75.0000 156.0000 3.2000
13
Ćwiczenie 4: Funkcje analizy
danych
» sort(D)
ans =
69.0000 134.0000 1.2000
72.0000 148.0000 2.4000
75.0000 156.0000 3.2000
81.0000 170.0000 3.5000
82.0000 201.0000 7.1000
» sortrows(D)
ans =
69.0000 156.0000 7.1000
72.0000 134.0000 3.2000
75.0000 170.0000 1.2000
81.0000 201.0000 3.5000
82.0000 148.0000 2.4000
» sum(D)
ans =
379.0000 809.0000 17.4000
14
Ćwiczenie 5: Przekształcenia
macierzy
Zdefiniować macierz:
Powielić macierz A dwa razy w pionie i trzy razy w poziomie.
Zmienić rozmiar macierzy B utworzonej w punkcie
poprzednim na 2 wiersze i 12 kolumn.
4
3
2
1
A
15
Ćwiczenie 5: Przekształcenia
macierzy
Zdefiniować macierz:
» A=[1 2; 3 4]
•
Powielić macierz A dwa razy w pionie i trzy razy w poziomie:
» B=repmat(A,2,3)
•
Zmienić rozmiar macierzy B utworzonej w punkcie
poprzednim na 2 wiersze i 12 kolumn:
» C=reshape(B,2,12)
4
3
2
1
A
16
Dziękuję za uwagę