75
Podstawowe struktury danych Tablice, macierze LABORKA © Piotr Ciskowski

Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

Podstawowe

struktury danych

Tablice, macierze

LABORKA © Piotr Ciskowski

Page 2: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• wygeneruj macierze Pascala różnych rozmiarów,wydedukuj z nich zasadę tworzenia

» pascal ( 5 )

Page 3: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

Page 4: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• zsumuj jej elementy w kolumnach

» sum ( A )

Page 5: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• stransponuj ją

» A’

Page 6: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• oblicz sumę elementów w kolumnach tej macierzy stransponowanej

» sum ( ans )

» sum ( A’ )

Page 7: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• oblicz sumę elementów w kolumnach tej macierzy stransponowaneji umieść ja w kolumnie

» sum(A’)’

Page 8: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• wyciągnij z macierzy A główną przekątną i umieść ją w kolumnie

» diag ( A )

Page 9: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• oblicz sumę elementów na głównej przekątnej

» sum ( diag ( A ) )

» trace ( A )

Page 10: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• oblicz sumę elementów w czwartej kolumnie macierzy A

» A(1,4) + A(2,4) + A(3,4) + A(4,4)

» sum ( A(:,4) )

Page 11: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz z obrazu Dürera

» A = [ 16 3 2 13 ; 5 10 11 8 ;

9 6 7 12 ; 4 15 14 1 ]

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• wygeneruj ciąg liczb od 1 do 16

» 1 : 16

• zsumuj wszystkie elementy macierzy A i podziel przez 4

» sum ( A ( 1:16 ) ) / 4

» sum ( A ( : ) ) / 4

» sum ( sum ( A ) ) / 4

Page 12: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• utwórz macierz magiczną o wymiarze 4 x 4

» B = magic ( 4 )

B = 16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

• przypomnij sobie macierz A

» A

A = 16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

Page 13: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• w macierzy B zamień miejscami kolumny 2 i 3

» B = B ( : , [ 1 3 2 4 ] )

Page 14: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• w macierzy B zamień miejscami kolumny 2 i 3

» B = B ( : , [ 1 3 2 4 ] )

B = 16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

• jeszcze raz zamień miejscami kolumny 2 i 3

» B = B ( : , [ 1 3 2 4 ] )

B = 16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

Page 15: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• sprawdź, które elementy macierzy A i B są sobie równe

» A = = B

• sprawdź, czy macierze A i B są sobie równe

» all ( A = = B )

» all ( all ( A = = B ) )

Page 16: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• sprawdź, które elementy macierzy A i B są sobie równe

» A = = B

ans =

1 0 0 1

1 0 0 1

1 0 0 1

1 0 0 1

• sprawdź, czy którekolwiek elementy macierzy A i Bsą sobie równe

» any ( A = = B )

» any ( any ( A = = B ) )

Page 17: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• sprawdź, które elementy macierzy A i B są sobie równe

» A = = B

ans =

1 0 0 1

1 0 0 1

1 0 0 1

1 0 0 1

• sprawdź, czy którekolwiek elementy macierzy A i Bsą różne

» any ( A ~ = B )

» any ( any ( A ~ = B ) )

Page 18: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• sprawdź, które elementy macierzy A i B są sobie równe

» A = = B

ans =

1 0 0 1

1 0 0 1

1 0 0 1

1 0 0 1

• sprawdź, czy wszystkie elementy macierzy A i Bsą od siebie różne

» all ( all ( A ~ = B ) )

Page 19: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 1. zabawy z macierzami

• oblicz wyznaczniki obu macierzy

» det(A)

» det(B)

• oblicz odwrotności obu macierzy

» inv(A)

» inv(B)

» A^(-1)

» B^(-1)

Page 20: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• macierze o dużej liczbie zer

• MATLAB pamięta tylko elementy niezerowe i ich pozycje

• szybkie obliczenia

• ryzyko błędów np. cos(0) = 1

• gęstość / wypełnienie macierzy rzadkiej– stosunek elementów niezerowych do wszystkich

Page 21: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj zwykłą macierz jednostkową o wymiarach 10×10

» A = eye ( 10 )

• sprawdź, ile ma elementów niezerowych

» nnz ( A )

• spytaj, czy jest rzadka

» issparse ( A )

Page 22: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz jednostkową o wymiarach 10×10

» Asp = speye ( 10 )

» Asp = sparse ( A )

• spytaj, czy jest rzadka

» issparse ( Asp )

Page 23: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 5×5 i wypełnieniu 0.5

» Bsp = sprandn ( 5 , 5 , 0.5 )

• oblicz jej gęstość

» nnz ( Bsp ) / 25

• zamień ją na macierz normalną (pełną)

» B = full ( Bsp )

Page 24: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 5×5 i wypełnieniu 0.8

» Bsp = sprandn ( 5 , 5 , 0.8 )

• odwróć ją

» Bodwr = Bsp ^ ( -1 )

• i zobacz, ile ma elementów

Page 25: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 50×50 i wypełnieniu 0.3

» Bsp = sprandn ( 50 , 50 , 0.3 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 26: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 50×50 i wypełnieniu 0.5

» Bsp = sprandn ( 50 , 50 , 0.5 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 27: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 50×50 i wypełnieniu 0.8

» Bsp = sprandn ( 50 , 50 , 0.8 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 28: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 50×50 i wypełnieniu 0.95

» Bsp = sprandn ( 50 , 50 , 0.95 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 29: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 500×500 i wypełnieniu 0.3

» Bsp = sprandn ( 500 , 500 , 0.3 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 30: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 500×500 i wypełnieniu 0.1

» Bsp = sprandn ( 500 , 500 , 0.1 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 31: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 500×500 i wypełnieniu 0.05

» Bsp = sprandn ( 500 , 500 , 0.05 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 32: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 500×500 i wypełnieniu 0.01

» Bsp = sprandn ( 500 , 500 , 0.01 ) ;

• i obejrzyj ją

» spy ( Bsp )

Page 33: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 2. macierze rzadkie

• wygeneruj rzadką macierz liczb losowych z rozkładu normalnegoo wymiarach 5×5 i wypełnieniu 0.5

» Bsp = sprandn ( 5 , 5 , 0.5 )

• i sprawdź, czy rzeczywiście MATLAB pomyli się przy cos(0)

» Csp = cos ( Bsp )

• obejrzyj sobie macierz w normalnym widoku

» C = full ( Csp )

Page 34: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 3. odwracanie macierzy

• wygeneruj zwykłą macierz liczb losowycho wymiarach 100×100

» D = rand ( 100 ) ;

• obejrzyj ją na obrazku

» imagesc ( D )

» colormap ( hot ) % w semestrze zimowym

» colormap ( cool ) % w semestrze letnim

» axis square

Page 35: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 3. odwracanie macierzy

• odwróć ją

» E = inv ( D )

• i wynik obejrzyj na obrazku(w nowym okienku)

» figure

» imagesc ( E )

» colormap ( hot ) % w semestrze zimowym

» colormap ( cool ) % w semestrze letnim

» axis square

Page 36: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 3. odwracanie macierzy

• pomnóż obie macierze

» F = D * E ;

• i wynik obejrzyj na obrazku(w nowym okienku)

» figure

» imagesc ( F )

» colormap ( hot ) % w semestrze zimowym

» colormap ( cool ) % w semestrze letnim

» axis square

Page 37: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 3. odwracanie macierzy

• pomnóż obie macierze

» F = D * E ;

• i znów obejrzyj na obrazku(w nowym okienku)

» figure

» imagesc ( F )

» colormap ( hot ) % w semestrze zimowym

» colormap ( cool ) % w semestrze letnim

» axis square

Page 38: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• Funkcję ex można przedstawić w postaci szeregu:

• Napisz funkcję, która oblicza sumę tego szeregu dla podanej wartości x:

– metodą nieefektywną – obliczając każdy wyraz osobnoi korzystając z zewnętrznej funkcji do obliczania silni

– lepszą metodą - obliczając każdy wyraz na podstawie poprzedniego

• Niech funkcja kończy obliczenia dla wyrazu, dla któregogdzie ε jest z góry zadaną dokładnością

• Oblicz e-5.5 z dokładnością 10-10

• Porównaj wyniki z wynikami wbudowanej funkcji exp(x)

• Oblicz 1000 razy e-5.5 z dokładnością 10-10

i porównaj czas obliczeń nieefektywnych, efektywnych oraz wbudowanej funkcji exp

• Narysuj wykres błędu oszacowania – różnicy między obu funkcjami

• function [ y ] = expszer ( x , eps )

zadanie 1. obliczanie wartości liczby e

1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

!

ix

iε<

Page 39: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• function [ y ] = expszer1 ( x , eps )

y = ...

i = ...

yi = ...

y = ...

while ...

i = ...

yi = x^i / silnia(i) ;

y = ...

end

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 40: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• function [ y ] = silnia ( x )

y = 1 ;

for i = 1 : x ,

y = y * i ;

end

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 41: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• skrypt exptest1:

clc

disp ( 'Obliczanie funkcji exp z szeregu ' ) ;

disp ( '-------------------------------- ' ) ;

x = input ( 'Podaj x: ' ) ;

eps = input ( 'Podaj dokładność obliczeń: ' ) ;

format short , shortWynik = [ expszer1(x,eps) ; exp(x) ]

format long , longWynik = [ expszer1(x,eps) ; exp(x) ]

format long e, longeWynik = [ expszer1(x,eps) ; exp(x) ]

format long g, longgWynik = [ expszer1(x,eps) ; exp(x) ]

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 42: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

» exptest1

Obliczanie funkcji exp z szeregu

--------------------------------

Podaj x: 1

Podaj dokładność obliczeń: 0.001

shortWynik = 2.7183

2.7183

longWynik = 2.718253968253968

2.718281828459046

longeWynik = 2.718253968253968e+000

2.718281828459046e+000

longgWynik = 2.71825396825397

2.71828182845905

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 43: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• function [ y ] = expszer2 ( x , eps )

y = ...

i = ...

yi = ...

y = ...

while ...

i = ...

yi = yi * x / i ;

y = ...

end

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 44: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• skrypt exptest2:

clc

disp ( 'Obliczanie funkcji exp z szeregu ' ) ;

disp ( '-------------------------------- ' ) ;

x = input ( 'Podaj x: ' ) ;

eps = input ( 'Podaj dokładność obliczeń: ' ) ;

format short , shortWynik = [ expszer2(x,eps) ; exp(x) ]

format long , longWynik = [ expszer2(x,eps) ; exp(x) ]

format long e, longeWynik = [ expszer2(x,eps) ; exp(x) ]

format long g, longgWynik = [ expszer2(x,eps) ; exp(x) ]

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 45: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

» exptest2

Obliczanie funkcji exp z szeregu

--------------------------------

Podaj x: 1

Podaj dokładność obliczeń: 0.001

shortWynik = 2.7183

2.7183

longWynik = 2.718253968253968

2.718281828459046

longeWynik = 2.718253968253968e+000

2.718281828459046e+000

longgWynik = 2.71825396825397

2.71828182845905

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 46: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

» exptest2

Obliczanie funkcji exp z szeregu

--------------------------------

Podaj x: -5.5

Podaj dokładność obliczeń: 0.0000000001

shortWynik = 0.0041

0.0041

longWynik = 0.004086771447736

0.004086771438464

longeWynik = 4.086771447736385e-003

4.086771438464067e-003

longgWynik = 0.00408677144773638

0.00408677143846407

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 47: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• function [ y , i ] = expszer3 ( x , eps )

% ta funkcja robi dokładnie to samo, co expser2,

% tylko w wyniku podaje również liczbę kroków,

% po których funkcja zakończyła szereg

...

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 48: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• skrypt exptest3:

clc

disp ( 'Obliczanie funkcji exp z szeregu - wykresy ' ) ;

disp ( '------------------------------------------ ' ) ;

x = input ( 'Podaj x: ' ) ;

liczbaKrokow = zeros(21,1) ;

y = zeros(21,1) ;

i = 1 ;

for eps = logspace(0,-20,21) ,

[ y(i,1) , liczbaKrokow(i,1) ] = expszer3(x,eps) ;

i = i + 1 ;

end

eps = logspace(0,-20,21)' ;

porownanie = [ 0 , 0 , exp(x) , 0 ; % wart. funkcji exp

eps , liczbaKrokow , y , y - exp(x)*ones(21,1) ]

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 49: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

» exptest3

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 50: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• skrypt exptest4:

clc

disp ( 'Obliczanie funkcji exp z szeregu - czas ' ) ;

disp ( '--------------------------------------- ' ) ;

x = input ( 'Podaj x : ' ) ;

eps = input ( 'Podaj eps: ' ) ;

n = input ( 'Podaj n : ' ) ;

expSzer1pocz = clock ; % metoda nieefektywna

for i = 1 : n ,

y = expszer1(x,eps);

end

expSzer1kon = clock ;

expSzer1czas = etime ( expSzer1kon , expSzer1pocz ) ;

expSzer2pocz = ... % metoda efektywna

expPocz = ... % funkcja wbudowana

czasy = [ expSzer1czas ; expSzer2czas ; expCzas ]

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 51: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

» exptest4

zadanie 1. obliczanie wartości liczby1 2 3

11! 2! 3! !

ix x x x x

ei

= + + + + + +L L

Page 52: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• Należy obliczyć wartość wielomianu dla pewnej wartości argumentu

• Wn(z) można obliczyć wprost ze wzoru – wtedy liczba działań wynosi: … mnożeń i … dodawań

• Jeśli wielomian przedstawimy w takiej postaci:

to będziemy mogli wykorzystać schemat Hornera:

do wykonania którego potrzeba … mnożeń i … dodawań

zadanie 2. obliczanie wartości wielomianu - schemat Hornera

( ) 1

0 1 1

n n

n n nW x a x a x a x a

−= + + + +L

x z=

( ) ( )( )( )( )( )0 1 3 1n x n nW x a x a x a x a a x a

−= + + + + +L

( )

0 0

1 0 1

2 1 2

1i i i

n n

b a

b b z a

b b z a

b b z a

W z b

=

= +

= +

= +

=

K

K

Page 53: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

zadanie 2. obliczanie wartości wielomianu - schemat Hornera

( ) 1

0 1 1

n n

n n nW x a x a x a x a

−= + + + +L

( ) ( )( )( )( )( )0 1 3 1n x n nW x a x a x a x a a x a

−= + + + + +L

( )

0 0

1 0 1

2 1 2

1i i i

n n

b a

b b z a

b b z a

b b z a

W z b

=

= +

= +

= +

=

K

K

a0 a1 a2 … an-1an-1 an

b0z b1z bn-2z bn-1z

+ + + +

b1b0=a0 b2

… bn-1 bn

⋅ z

bn=Wn(z)

Page 54: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

• Napisz funkcję, która dla wielomianu stopnia no podanych współczynnikach [ a1, a2, a3, …, an ]oraz danej wartości x=z obliczawartość wielomianu Wn(z)

• function [ W ] = horner ( a , z )

zadanie 2. obliczanie wartości wielomianu - schemat Hornera

( ) ( )( )( )( )( )0 1 3 1n x n nW x a x a x a x a a x a

−= + + + + +L

( )

0 0

1 0 1

2 1 2

1i i i

n n

b a

b b z a

b b z a

b b z a

W z b

=

= +

= +

= +

=

K

K

WE n, a1, …, an,z

P

K

NIE

b0:=a0

i:=1

TAKi:=i+1

WY W

bi:=bi-1z+ai

i = n

W:=bn

Page 55: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

zadanie 3. liczby pierwsze

• Liczba pierwsza to taka liczba naturalna, która nie dzieli się przez żadną inna liczbęoprócz siebie i jedności. Liczby złożone (nie będące pierwszymi) dają się przedstawić jako iloczyn liczb pierwszych. Liczby pierwsze wykorzystuje się w kryptografii

• Jednym z prostszych i chyba najpopularniejszym algorytmem generowania liczb pierwszychjest sito Erastotenesa – eliminuje liczby podzielne przez jakąkolwiek liczbę oprócz badanej

• Algorytm zapisany kiedyś w pseudojęzyku (dla języka Pascal)zapisz jako funkcję w MATLABie

• Znajdź inne algorytmy generowania liczb pierwszych,ew. sprawdzania, czy dana liczba jest liczbą pierwszą

Page 56: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

zadanie 3. liczby pierwsze

Początek

Czytaj(M);

Pisz(2);

i:=3;

dzielnik:=2;

Dopóki i<M wykonuj

Początek

Powtarzaj

Dopóki (i mod dzielnik=0) wykonuj

Początek

i:=i+1;

dzielnik:=2

Koniec;

dzielnik:=dzielnik+1

aż do dzielnik≥i div 2;

Jeśli i<=M to Pisz(i);

i:=i+1;

dzielnik:=2

Koniec

Koniec

WE M

P

K

i:=3

dzielnik:=2

dzielnik:=dzielnik+1

WY 2

TAKNIE

TAKNIE

i:=i+1

dzielnik:=2

NIETAK

TAKNIE

WY i

i:=i+1

dzielnik:=2

i < M

i mod dzielnik = 0

dzielnik div 2 = 0

i ≤ M

Page 57: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

zadanie 4. ułamki proste

• Ułamek właściwy można przedstawić jako sumę ułamków prostych, np.Licznik ułamka prostego jest równy 1.

• Poniższy algorytm polega na tworzeniu kolejnych mianowników ułamków prostych Ti

przez poszukiwanie takich liczb i, dla których

Pierwsza liczba i spełniająca tę nierówność zapamiętywana jest w tablicy T,po czym następuje modyfikacja wielkości Licznik i Mianownik.Proces jest kontynuowany dopóty, dopóki wartość Licznik jest różna od 0

• Schemat działań zaprogramuj w postaci funkcji MATLABa,przyjmującej dwa parametry – num i den – licznik i mianownik pierwotnego ułamka właściwego,a zwracającej tablicę dens – mianowników kolejnych ułamków prostych

5 1 1 1

11 3 9 99= + +

10

Licznik

Mianownik i− >

Page 58: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

zadanie 4. ułamki proste

WE Licznik,

Mianownik

P

K

Licznik:=Licznik⋅i-Mianownik

Mianownik:=Mianownik⋅i

Tj:=i

NIE TAK

i:=i+1

NIETAK

WY Tn

n:=n+1

j:=0

j:=j+1

i:=2

TAKNIE

n:=1

1/i > Licznik/Mianownik

Licznik = 0

n = j

Page 59: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• operacje elementarne na macierzy:

• pomnożenie wiersza/kolumny macierzy przez liczbę różną od zera

• zamiana wiersza/kolumny

• dodanie do wiersza/kolumny innego wiersza/kolumny pomnożonego przez liczbę

• nie zmieniają rzędu

• mogą zmienić wyznacznik

Page 60: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• pomnożenie i-tego wiersza macierzy A przez liczbę k różną od zeraodpowiada lewostronnemu pomnożeniu tej macierzyprzez macierz „jednostkową” z i-tym elementem diagonalnym równym k

• zdefiniuj macierz A

» A = [ 1 2 3 4 ;

5 6 7 8 ;

9 10 11 12 ]

• pomnóż jej drugi wiersz przez 2

» P = [ 1 0 0;

0 2 0 ;

0 0 1 ]

» B = P * A

3 3 3 4 3 4P A B

× × ×⋅ =

Page 61: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• pomnożenie j-tej kolumny macierzy A przez liczbę k różną od zeraodpowiada prawostronnemu pomnożeniu tej macierzyprzez macierz „jednostkową” z j-tym elementem diagonalnym równym k

• zdefiniuj macierz A

» A = [ 1 2 3 4 ;

5 6 7 8 ;

9 10 11 12 ]

• pomnóż jej trzecią kolumnę przez 3

» P = [ 1 0 0 0 ;

0 1 0 0 ;

0 0 3 0 ;

0 0 0 1 ] ;

» A

» B = A * P

3 4 4 4 3 4A P B

× × ×⋅ =

Page 62: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• zamiana i-tego wiersza z j-tym odpowiada lewostronnemu pomnożeniu macierzy Aprzez następującą macierz przekształcenia

• wygeneruj macierz A8x3

wypełnioną liczbami losowymi od 1 do 9

» A = ceil ( rand ( 8 , 3 ) * 9 )

• zamień miejscami wiersz drugi z czwartym

» P = [ 1 0 0 0 0 0 0 0 ; % P = eye (8);

0 0 0 1 0 0 0 0 ; % P(2,2) = 0 ;

0 0 1 0 0 0 0 0 ; % P(4,4) = 0 ;

0 1 0 0 0 0 0 0 ; % P(2,4) = 1 ;

0 0 0 0 1 0 0 0 ; % P(4,2) = 1 ;

0 0 0 0 0 1 0 0 ;

0 0 0 0 0 0 1 0 ;

0 0 0 0 0 0 0 1 ] , B = P * A

8 8 8 3 8 3P A B

× × ×⋅ =

Page 63: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• zamiana i-tej kolumny z j-tą odpowiadaprawostronnemu pomnożeniu macierzy Aprzez następującą macierz przekształcenia

• w macierzy A zamień miejscamikolumny drugą i trzecią

» P = [ 1 0 0 ;

0 0 1 ;

0 1 0 ]

» A

» C = A * P

8 3 3 3 8 3A P B

× × ×⋅ =

Page 64: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• dodanie do i-tego wiersza macierzy A jej j-tego wierszapomnożonego przez liczbę m

można zrealizować poprzez lewostronne pomnożenie macierzy Aprzez macierz przekształcenia P P A⋅

Page 65: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• dodanie do i-tej kolumny macierzy A jej j-tej kolumnypomnożonej przez liczbę m

można zrealizować poprzez prawostronne pomnożenie macierzy Aprzez stransponowaną macierz przekształcenia P

TA P⋅

Page 66: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 4. przekształcenia macierzy

• wylosuj macierz liczb 5x5 od 1 do 9, oblicz jej rząd i wyznacznik

• pomnóż któryś wiersz przez coś, oblicz jej rząd i wyznacznik

• zamień miejscami wiersze 2 i 4, oblicz rząd i wyznacznik macierzy

• porównaj rzędy i wyznaczniki

» A = ceil ( rand ( 5 ) * 9 )

» Pmnoz = eye(5); Pmnoz(2,2) = 4 ; B = Pmnoz*A

» Pzam = eye(5); Pzam(2,2) = 0 ;

Pzam(4,4) = 0 ;

Pzam(2,4) = 1 ;

Pzam(4,2) = 1 ; C = Pzam *A

» rzedy = [ rank(A) rank(B) rank(C) ]

» wyznaczniki = [ det(A) det(B) det(C) ]

rzedy = 5 5 5

wyznaczniki = -3528 -14112 3528

Page 67: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

• rząd macierzy to maksymalna liczba liniowo niezależnych wektorówtworzących wiersze/kolumny danej macierzy

• wprowadź macierz A

» A = [ 1 -1 2 2 ;

2 -2 1 0 ;

-1 2 1 -2 ;

2 -1 4 0 ]

• skopiuj ją do macierzy B

» B = A

• oblicz rząd macierzy B korzystając z metody eliminacji Gaussa

Page 68: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

2 -2 1 0

-1 2 1 -2

2 -1 4 0

• od wiersza drugiego odejmij wielokrotność wiersza pierwszegotak, aby wyzerować pierwszy element w drugim wierszu

» B(2,:) = B(2,:) – 2 * B(1,:)

B = 1 -1 2 2

0 0 -3 -4

-1 2 1 -2

2 -1 4 0

Page 69: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 0 -3 -4

-1 2 1 -2

2 -1 4 0

• od wiersza trzeciego odejmij wielokrotność wiersza pierwszegotak, aby wyzerować pierwszy element w trzecim wierszu

» B(3,:) = B(3,:) + 1 * B(1,:)

B = 1 -1 2 2

0 0 -3 -4

0 1 3 0

2 -1 4 0

Page 70: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 0 -3 -4

0 1 3 0

2 -1 4 0

• od wiersza czwartego odejmij wielokrotność wiersza pierwszegotak, aby wyzerować pierwszy element w czwartym wierszu

» B(4,:) = B(4,:) - 2 * B(1,:)

B = 1 -1 2 2

0 0 -3 -4

0 1 3 0

0 1 0 -4

Page 71: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 0 -3 -4

0 1 3 0

0 1 0 -4

• w drugim wierszu na przekątnej jest zero – to niedobrze

• zamień miejscami wiersze 2 z 3

» B = B ( [ 1 3 2 4 ] , : )

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 1 0 -4

Page 72: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 1 0 -4

• w wierszu drugim jest na początku jedno zero – to dobrze

• w wierszu trzecim są na początku dwa zera – to dobrze

• odejmij wiersz drugi od wiersza czwartegotak, aby w wierszu czwartym też na początku były dwa zera

» B(4,:) = B(4,:) – B(2,:)

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 0 -3 -4

Page 73: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 0 -3 -4

• wiersze 3 i 4 są jednakowe – zależne - rząd macierzy na pewno nie będzie równy 4

• odejmij wiersz trzeci od wiersza czwartegotak, aby na początku wiersza czwartego były trzy zera

» B(4,:) = B(4,:) – B(3,:)

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 0 0 0

Page 74: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 0 0 0

• macierz B = macierzy schodkowa

• rząd = liczba schodków = liczba niezerowych wierszy

Page 75: Podstawowe struktury danych Tablice, macierzestaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/... · • wygeneruj rzadką macierz liczb losowych z rozkładu normalnego o wymiarach

przykład 5. rząd macierzy – metodą eliminacji Gaussa

B = 1 -1 2 2

0 1 3 0

0 0 -3 -4

0 0 0 0

• oblicz rząd macierzy A korzystając z funkcji rank

» rank(A)