background image

ZA

JĘCI

2

2

2

 
 
 
 
 
 
 
 

 

WPROWADZENIE DO INFORMATYKI II

 

 
 
 
 

MATLAB OPERACJE MACIERZ

Z

OWE 

M

M

A

A

T

T

L

L

A

A

B

B

 

 

O

O

P

P

E

E

R

R

A

A

C

C

J

J

E

E

 

 

M

M

A

A

C

C

I

I

E

E

R

R

ZO

O

W

W

E

E

 

 

 

ZADANIA DO WYKONANIA 1 

1. Proszę zapoznać się z przedstawionymi zagadnieniami i samodzielnie wykonać 
obliczenia.
 

 

% Określenie macierzy A i B o wymiarze 3x3 
»A=[1 2 3; 4 5 6; 7 8 9]; 
» B=[11 12 13; 21 22 23; 31 32 33];  
%Suma 
» A+B 
»% Różnica 
» A-B 
» %Iloczyn macierzy 
» A*B 

 

•  ROZWIĄZANIE LINIOWEGO UKŁADU RÓWNAŃ [A] [X] = [B] METODĄ 

REDUKCJI GAUSSA 

» % LEWE DZIELENIE 

background image

» % Rozwiązanie układu równań A*x=b metodą redukcji Gaussa 
» % Przedefiniowanie macierzy A 
» A=B 
 
»% Definicja wektora kolumnowego prawej strony równania 
» b=[10; 20; 30] 
 
»% Rozwiązanie układu równań A*x=b 
» x=A\b 
» % Sprawdzenie 
» bb=A*x 
 

•  ROZWIĄZANIE LINIOWEGO UKŁADU RÓWNAŃ [X] [A] = [B] 

 

»% PRAWE DZIELENIE - rozwiązanie układu równań x*A=b 
»A=[11 21 31;12 22 32; 13 23 33] 
»% Definicja wektora wierszowego prawej strony równania 
» b= [11 1 2 1 3 ] 
»% Rozwiązanie 
» x=b/A 
» % Sprawdzenie 
» bb=x*A 

 

•  POTĘGOWANIE MACIERZY JEST DOKONYWANE ZGODNIE Z RELACJĄ 

»A^ ; % P - dowolna liczba rzeczywista 
W przypadku, gdy p jest potęgą całkowitą, podniesienie macierzy do potęgi jest równo-
ważne wzajemnemu krotnemu pomnożeniu przez siebie, np.: 
A^3 = A*A*A. 
 
Poniżej przedstawiono przykład sesji przy potęgowaniu macierzy kwadratowej (3x3) 
» A=[1 4 5; 6 2 7; 893] 
»% podniesienie macierzy A do kwadratu 
» B=A^2  
»% PODNIESIENIE MACIERZY A do potęgi 1.5 
» A^1.5 
 

•  DZIAŁANIEM ODWROTNYM DO POTĘGOWANIA MACIERZY JEST JEJ 

ROZKŁAD NA ILOCZYN DWÓCH MACIERZY. JEDEN Z CZYNNIKÓW 
ROZKŁADU WYZNACZA FUNKCJA: 

» C=sqrtm(B) 
W efekcie macierz C spełnia zależność: B = C*C 

Macierz C różni się od wyżej zdefiniowanej macierzy A, która podniesiona do 

drugiej potęgi daje macierz B. Wynika to z faktu, że istnieje więcej niż jedno rozwiąza-
nie zagadnienia rozkładu macierzy na dwa takie same czynniki. Można jednak spraw-
dzić, że macierz C

2

 jest równa macierzy B. 

1 

background image

» BB=C^2 
 
 

OPERACJE TABLICOWE 

 

•  PRZYKŁADEM KORESPONDUJĄCYM Z PODNIESIENIEM DO K

TU MACIERZY A JEST PODNIESIENIE DO KWADRATU JEJ ELEMEN-
TÓW – OPERACJA  .^2 . 

WADRA-

O-

rze-

A = 

1 4 5 
6 2 

 7 

8 9 

 3 

» AA=A.^2 
 

•  WYZNACZENIE PIERWIASTKA KWADRATOWEGO Z ELEMENTÓW 

MACIERZY JEST DZIAŁANIEM 

odwrotnym. 
» AAA=sqrt (AA) 
Działaniem równoważnym jest 
» AAA=AA.^0.5. 
 

•  ELEMENTY MACIERZY MOGĄ BYĆ PODNOSZONE DO DOWOLNEJ P

TĘGI RZECZYWISTEJ I ZESPOLONEJ ZGODNIE Z FORMUŁĄ: 

»A.^p ; % P - dowolna liczba rzeczywista lub zespolona, 
 

Przy obliczaniu odwrotności elementów macierzy lub wektora należy postępować 

według reguły 
»1.0./x  % należy wstawić pełną liczbę 1.0 , a nie skróconą 1 
 
Przykłady innych operacji na elementach macierzy przedstawione są poniżej 
»% MNOŻENIE I DZIELENIE 
» x=[2 4 6]; y=[3 5 7]; % Dwa wektory wierszowe 
» x.*y 
» x./y 
» z=x.^y 
 
»% EKSPONENTA exp(B) - działanie na elementach macierzy 
» B=[O 1 2; 2 3 4; O 1 3]; 
» exp(B) 
 
 

BUDOWANIE MACIERZY 

 
Przy budowaniu macierzy pomocne są tzw. macierze specjalne, dzięki którym można 
tworzyć charakterystyczne struktury pośrednie. Do tego celu również służą funkcje p
twarzania postaci macierzy. 

2 

background image

 
Macierze specjalne 
zeros (m, n) - macierz zerowa o wymiarach mxn (m - liczba wierszy, n - liczba kolumn), 
ones (m, n) - macierz jedynek o wymiarach mxn, 
eye (m, n) - macierz jednostkowa o wymiarach mxn, 
rand(m,n) - macierz losowa o wymiarach mxn i wartościach rzeczywistych z przedziału 
O do 1;  
randn - o rozkładzie normalnym, 
magic(n) - kwadrat magiczny (macierz kwadratowa o wymiarze n), 
hilb (n) - macierz Hilberta  
toeplitz(c, r) - macierz pasmowa Toeplitza, gdzie c - pierwsza kolumna macierzy (
tor), r - pierwszy wiersz macierzy (wektor), 

wek-

olum-

linspace - generowanie wektora o liniowo rozłożonych wartościach i o zadanej liczbie 
punktów; y=linspace(x1,x2,n) 
logspace - działa podobnie jak linspace, 
 
Funkcje przekształcania macierzy 
diag (A) - wyznaczanie diagonalnej macierzy A i zapisanie w postaci wektora k
nowego; 
X=diag (v, k) - utworzenie macierzy kwadratowej X rzędu n +abs(k) , której elementy 
niezerowe leżą na k-tej diagonalnej i są przeniesione na tę diagonalną z n-elementowego 
wektora v; dla k=O jest to diagonalna główna, dla k <O jest to k-ta diagonalna poniżej 
głównej, natomiast dla k>Ojest to k-ta diagonalna powyżej głównej; X=diag (v) = diag 
(v, O); 
v=diag (A, k) - wyznaczenie k-tej diagonalnej macierzy A, 
triu (A) - podmacierz trójkątna, górna macierzy A, 
rot90 (A) - obrócenie macierzy o 90

o

 przeciwnie do wskazówek zegara, 

fliplr (A) - symetryczne przekształcenie macierzy A względem pionowej osi symetrii 
(wzajemna zamiana lewej strony na prawą), 
flipud (A) - symetryczne przekształcenie macierzy A względem poziomej osi symetrii 
(wzajemna zamiana strony górnej na dolną), 
reshape (A, m, n) - zmiana kształtu macierzy A na macierz o m wierszach i n kolumnach 
(liczba elementów macierzy A musi być równa m-n). 
 

PRZYKŁADY BUDOWANIA I PRZEKSZTAŁCANIA MACIERZY 

»% MACIERZ ZEROWA  
»A=zeros(3,2) 
»% MACIERZ JEDYNKOWA 
»B=ones(3,2) ! 
» % MACIERZ JEDNOSTKOWA 
» C=eye(3,2)  
» D=eye(2,3) 
» E=eye(3,3) 
 

3 

background image

•  DLA DANEJ, PEWNEJ MACIERZY A MOŻNA WYGENEROWAĆ MA-

CIERZ ZEROWĄ ZEROS (SIZE (A) ) O WYMIARACH MACIERZY A. PO-
DOBNIE JEST Z FUNKCJAMI ONES (SIZE (A)) I EYE(SIZE(A)).  

»% NOWA macierz A 
»A=[10 3 5; 2 4 6; 7 8 9] 
»% DIAGONALNA MACIERZY 
» diag (A) 
» % WYZNACZNIK MACIERZY 
» det (A) 
» % PODMACIERZ TRÓJKĄTNA GÓRNA 
» triu (A) 
» % PODMACIERZ TRÓJKĄTNA DOLNA 
» tril(A) 
»% OBRÓT MACIERZY A o 90 stopni, przeciwnie do wskazówek 
»% zegara 
» rot90(A) 
»% WZAJEMNE PRZEKSZTAŁCENIE SYMETR. mac. A: LEWY-PRAWY 
» fliplr(A) 
»% WZAJEMNE PRZEKSZTAŁCENIE SYMETR. mac. A: GÓRA-DÓŁ 
» flipud(A) 
»% GENEROWANIE MACIERZY LOSOWEJ ) 
» rand(3,2) 
» % KWADRAT MAGICZNY ..,'i:Ji;/i,,~;~~,c'.'~q} .-:' 
» magic(3) 
» % BUDOWANIE MACIERZY ZŁOŻONYCH 
» A= [1 2 3; 4 5 6; 7 8 9];  
» B=[A A.^2 ; zeros(size(A)) A"]  
 

•  Z DWÓCH WEKTORÓW WIERSZOWYCH X I Y MOŻNA STWORZYĆ JE-

DEN. TRAKTUJĄC JE JAKO ELEMENTY 

MACIERZY. WÓWCZAS: 
» x = [2 4 6] ; Y = [3 5 7]; 
» z = [x y] 
z jest wektorem wierszowym sześcioelementowym 
 

»% ZMIANA KSZTAŁTU MACIERZY 

A = 

1  

2  

4  

5  

7  

» B=reshape(A, 1, 9) 
»% AUTOMATYCZNE WYGENEROWANIE MACIERZY 
»% Stan początkowy - macierz A nie istnieje 
»% Podajemy wartość pewnego elementu macierzy A 
»A(3,4) = 5 
 

4 

background image

ZADANIA DO WYKONANIA 2 

 

1. 

2. 

Wygeneruj macierz dwuwierszową o wyrazach od 1 do 10 w pierwszym wier-

szu i o wyrazach od 2 do 20 (co 2) w wierszu drugim. 

Utwórz macierz D budując  ją ze zdefiniowanych macierzy A, B i C. 

A=[1   4   1;   2   0   1]; 

B=[3   1;   4   1]; 

C=[1   2   2   0   1;   2   4   7   1   0]; 

D=[A  B;   C] 

3. 
4. 
5. 

6. 

7.  

Utwórz kwadratową. macierz jednostkową. A o wymiarze 3x3.

 

Utwórz macierz A o wymiarze 2x3 wypełnioną jedynkami.

 

Znajdź największy i najmniejszy element w wygenerowanej macierzy. 

Oblicz wartość średnią wektora. 

A= 1 2 0 

0 9 8 

1 1 0 

Zapisz:- odwolanie do elementu w wierszu 2 i kolumnie 3 i odwolanie do 

elementu w wierszu 3 2 kolumnie. 

8.  Zdefiniuj macierz A 3x6 i - utwórz macierz B poprzez pobranie z macierzy A   

     kolumn: 1-3 oraz 5 oraz utwórz macierz B z elementów macierzy A leżących 

na 

     przecięciu wierszy 1 i 3 z kolumnami 1, 3 i 5 

9. A=[1 2 3 4,  4 5 6 7]  - zapisz usuwanie drugiego wiersza z macierzy, a następ-

nie  

    dwóch pierwszych kolumn. 

10. Zdefiniuj dwie macierze A i B, a następnie oblicz ich sumę,  różnicę oraz dodaj   

      do elementów macierzy A liczbę 2.definium macierze A i B, oblicz ich iloczyn ,  

      a  następnie pomnóż elementy otrzymanej macierzy C przez 3. 

11. Zdefiniuj macierz A, a następnie wyznacz macierz odwrotną do niej i dokonaj  

     transpozycji. 

5 

background image

12. Zdefiniuj  dwie  macierze A i B, a następnie wykonaj działania mnożenia,  

      dzielenia i potęgowania tablicowego. 

13. Zdefiniuj macierz A o wymiarze 4x4, a następnie wyznacz jej wyznacznik,  

      wartości własne, współczynniki wielomianu charakterystycznego oraz zbadaj  

       rząd macierzy. 

     14. Rozwiąż układ równań liniowych: 

 

 

 

 

  

 

x+2y-z=3  

3x-4y + 2z = -5  

5x-2y + 3z = 2 

 

 

     15. Obróć macierz A o 90 stopni, przeciwnie do wskazówek zegara.

6 

background image

 

 

7