Wprowadzenie do Scilab: macierze

Podobne dokumenty
Wprowadzenie do Scilab: macierze

Wprowadzenie do Scilab: macierze

Metody i analiza danych

MATLAB - laboratorium nr 1 wektory i macierze

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Podstawowe operacje na macierzach

WPROWADZENIE DO ŚRODOWISKA SCILAB

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Elementy metod numerycznych - zajęcia 9

Algebra macierzy

Obliczenia w programie MATLAB

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

= Zapiszemy poniższy układ w postaci macierzy. 8+$+ 2&=4 " 5 3$ 7&=0 5$+7&=4

Podstawowe operacje na macierzach, operacje we/wy

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

1 Zbiory i działania na zbiorach.

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Układy równań liniowych. Ax = b (1)

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

Wykład 5. Metoda eliminacji Gaussa

UKŁADY RÓWNAŃ LINIOWYCH

Metody numeryczne Wykład 4

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Metody optymalizacji - wprowadzenie do SciLab a

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

O MACIERZACH I UKŁADACH RÓWNAŃ

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

Zestaw 12- Macierz odwrotna, układy równań liniowych

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

3. Macierze i Układy Równań Liniowych

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Zakłócenia w układach elektroenergetycznych LABORATORIUM

Układy równań liniowych i metody ich rozwiązywania

Wprowadzenie do Mathcada 1

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

2. Układy równań liniowych

3. FUNKCJA LINIOWA. gdzie ; ół,.

3. Wykład Układy równań liniowych.

Własności wyznacznika

Obliczenia iteracyjne

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Macierze. Rozdział Działania na macierzach

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

5. Rozwiązywanie układów równań liniowych

Macierze Lekcja V: Wzory Cramera. Macierzowe układy równań.

ŚRODOWISKO MATLAB cz.2 Macierze wykorzystanie operatorów macierzowych i tablicowych

Rozwiązywanie układów równań liniowych

OPERACJE NA MACIERZACH DODAWANIE I ODEJMOWANIE MACIERZY


ALGEBRA LINIOWA. Wykład 2. Analityka gospodarcza, sem. 1. Wydział Zarządzania i Ekonomii Politechnika Gdańska

1) Podstawowe obliczenia. PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium. Wykonał: Łukasz Konopacki Sala 125. Grupa: poniedziałek/p,

Technologie informacyjne lab. 3

są wielomianami nie jest wielomianem zerowym. Rozwiązując załoŝenie otrzymujemy dziedzinę wyraŝenia wymiernego.

3.2. RÓWNANIA I NIERÓWNOŚCI LINIOWE.

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Modelowanie danych hodowlanych

Matlab Składnia + podstawy programowania

Przykład 2 układ o rozwiązaniu z parametrami. Rozwiążemy następujący układ równań:

D1. Algebra macierzy. D1.1. Definicje

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Macierze i Wyznaczniki

Analiza matematyczna i algebra liniowa Macierze

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

Laboratorium Techniki Obliczeniowej i Symulacyjnej

Wykład 14. Elementy algebry macierzy

Ćwiczenie 3: Wprowadzenie do programu Matlab

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

1 Macierze i wyznaczniki

Układy równań liniowych. Krzysztof Patan

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Wstęp do analizy matematycznej

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Układy równań liniowych

Analiza matematyczna i algebra liniowa Macierze

Zaawansowane metody numeryczne

BIBLIOTEKA NUMPY, CZĘŚĆ 1

DB Algebra liniowa semestr zimowy 2018

1 Elementy logiki i teorii mnogości

Zastosowania wyznaczników

Metody numeryczne II. Układy równań liniowych

Algebra liniowa. Macierze i układy równań liniowych

ROZKŁAD MATERIAŁU DLA KLASY I LICEUM I TECHNIKUM (ZAKRES PODSTAWOWY I ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ

Metody numeryczne Laboratorium 2

, A T = A + B = [a ij + b ij ].

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Ćwiczenie 1. Wprowadzenie do programu Octave

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Rozkład materiału nauczania

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni 30 30

Transkrypt:

Wprowadzenie do Scilab: macierze Narzędzia Informatyki Magdalena Deckert Izabela Szczęch Barbara Wołyńska Bartłomiej Prędki Politechnika Poznańska Instytut Informatyki

Agenda Definiowanie macierzy Funkcje do definiowania macierzy Pusta macierz Wymiary macierzy Operacje na poszczególnych elementach macierzy Dynamiczna zmiana wymiarów macierzy Podstawowe operacje na macierzach Macierzowe operatory porównania Wyznaczanie miejsc zerowych wielomianów Elementy algebry liniowej Rozwiązywanie układów równań liniowych 2

Wprowadzenie Macierze są podstawowym typem danych w Scilab. KaŜda macierz definiowana jest przez: liczbę wierszy liczbę kolumn typ danych wypełniających macierz (np. liczby rzeczywiste, całkowite, zmienne bool owskie, ciągi znaków, wielomiany) Specyficzne macierze: wektory macierze o wymiarach 1 x n lub n x 1 skalary macierze o wymiarach 1 x 1 3

Definiowanie macierzy Elementy składni do definiowania macierzy [ ] nawiasy kwadratowe znaczą początek i koniec macierzy, przecinek bądź spacja oddziela elementy z róŝnych kolumn ; średnik bądź Enter oddziela elementy z róŝnych wierszy 4

Definiowanie macierzy Przejdź do konsoli Scilab. Wykonaj poniŝsze polecenia definiujące macierze. Czy poniŝsze przykłady tworzą takie same macierze? Przykład: Przykład: - ->A=[1,2,3;4,5,6;7,8,9] Przykład: - ->B=[1 2 3 - ->4 5 6 - ->7 8 9] 5

Funkcje do definiowania macierzy W Scilab wbudowanych jest wiele funkcji do tworzenia specyficznych macierzy. Wykonaj poniŝsze przykłady w konsoli Scilab. eye tworzy macierz jednostkową o zadanych rozmiarach Przykład: - ->A=eye(2,2) Przykład: - ->B=eye(2,5) Przykład: - ->C=[1 2 3; 4 5 6] - ->D=eye(C) 6

Funkcje do definiowania macierzy ones tworzy macierz o zadanych rozmiarach wypełnioną jedynkami Przykład: - ->A=ones(2,5) zeros tworzy macierz o zadanych rozmiarach wypełnioną zerami Przykład: - ->B=zeros(2,5) 7

Funkcje do definiowania macierzy testmatrix tworzy specyficzną macierz kwadratową o zadanych rozmiarach, np. odwróconą macierz Hilberta, kwadrat magiczny Przykład: - ->A=testmatrix( hilb,3) Przykład: - ->B=testmatrix( magi,3) 8

Funkcje do definiowania macierzy linspace (x 1, x 2, [n]) tworzy wektor o równo oddalonych wartościach n wartościach z przedziału <x 1 ; x 2 >; domyślnie n=100 Przykład: - -> A=linspace (2, 10, 3) Przykład: - -> B=linspace (10, -2, 3) Przykład: - -> C=linspace (1, 50) 9

Funkcje do definiowania macierzy rand tworzy macierz o zadanych rozmiarach wypełnioną wartościami losowymi; dodatkowe parametry funkcji sterują np. rozkładem losowanych liczb Przykład: - -> A=rand(2,3) 10

Pusta macierz Przykład: - -> A=[] //tworzy macierz o rozmiarach 0 x 0 Zapis [] moŝna wykorzystać do usunięcia zawartości macierzy i zwolnienia pamięci z nią związanej Przykład: - -> A=ones(4,4) - -> A=[] 11

Wymiary macierzy Funkcja size (M) zwraca informacje o wymiarach macierzy M (np.liczbie wierszy i kolumn) Przykład: - -> A=ones(2,3) - -> [nr, nc]=size(a) Sprawdź działanie funkcji size dla 3-wymiarowej kostki Przykład: - -> B=ones(2,3,4) - -> [n1, n2, n3]=size(b) 12

Wymiary macierzy Funkcję size moŝna teŝ wywoływać z dwoma argumentami: size (M, sel), gdzie parametr sel przyjmuje nastepujące wartości: sel=1 lub sel= r //funkcja zwraca lb. wierszy sel=2 lub sel= c //funkcja zwraca lb. kolumn sel= * //funkcja zwraca lb. wszystkich elementów Przykład: - -> A=ones(2,3) - -> size(a, * ) 13

Operacje na poszczególnych elementach macierzy Operacje na elementach macierzy moŝna wykonać odwołując się: do całej macierzy podając jej nazwę, np. A do elementu w i-tym wierszu i j-tej kolumnie, np. A(i,j) do elementów z pewnego zakresu indeksów wierszy lub kolumn, korzystając z operatora : 14

Operacje na poszczególnych elementach macierzy Odwołanie do całej macierzy Przykład: - -> A=ones(2,3) - -> B=2*ones(2,3) - -> A+B 15

Operacje na poszczególnych elementach macierzy Odwołanie do elementu A(i,j) Przykład: - -> A=testmatrix( magi,3) - -> A(1,2) NaleŜy pamiętać, Ŝe wiersze i kolumny macierzy indeksowane są od 1. Przykład: - -> A=(0,1) - -> A=(1,12) 16

Operacje na poszczególnych elementach macierzy Odwołanie przez operator : Ogólnie, składnia i:[s]:j pozwala wygenerować wektor liczb z przedziały <i;j> z krokiem s; domyślnie s=1 Przykłady: - -> v=2:6 - -> v=3:2:10 - -> v=10:-2:3 - -> v=3:-2:10 17

Operacje na poszczególnych elementach macierzy Odwołanie przez operator : Operator : moŝna teŝ wykorzystać do określania zakresów indeksów wierszy i kolumn macierzy Przykłady: - -> A=testmatrix( magi,5) - -> A(1:2, 3:4) //wypisze elementy macierzy A z wiersza 1 i 2 i kolumn 3 oraz 4 18

Operacje na poszczególnych elementach macierzy Odwołanie przez operator : Przykłady: - -> A=testmatrix( magi,5) - -> A([1 5], :)=A([5 1],:) //zamieni miejscami wiersz pierwszy i piąty macierzy A 19

Operacje na poszczególnych elementach macierzy Odwołanie przez operator : Podsumowanie wykorzystania operatora : A A(:,:) A(i:j,k) A(i,j:k) A(i,:) A(:,j) cała macierz cała macierz elementy z wierszy od i-tego do j-tego w kolumnie k-tej elementy z wiersza i-tego w kolumnach od j-tej do k-tej cały wiersz i-ty cała j-ta kolumna 20

Dynamiczna zmiana wymiarów macierzy Wymiary macierzy mogą się zmieniać dynamicznie w zaleŝności od danych w macierzy. Przykłady: - -> A=[1 2 3; 4 5 6] // macierz 2 x 3 - -> A(3,1)=7 - -> A(:,3)=[] 21

Podstawowe operacje na macierzach Operacje macierzowe Operacje tablicowe (na odpowiadających sobie elementach macierzy) + dodawanie - odejmowanie * mnoŝenie.* mnoŝenie / prawostronne dzielenie x/y=xy -1./ prawostronne dzielenie \ lewostronne dzielenie x\y=x -1 y.\ lewostronne dzielenie ^ lub ** potęgowanie.^ potęgowanie transponowanie macierzy i sprzęŝenie liczby zespolonej. transponowanie macierzy 22

Podstawowe operacje na macierzach Na macierzach: A=[1 2; 3 4] B=[5 6; 7 8] C=[1;2] wykonaj następujące działania: A+B A+1 A+C B*C A*B A.*B 23

Podstawowe operacje na macierzach 24

Podstawowe operacje na macierzach Na wektorach: u=[1;2;3] i v=[4 5 6] wykonaj mnoŝenia 25

Macierzowe operatory porównania Do macierzy o takich samych wymiarach moŝna stosować następujące operatory porównania: and(a, r ) and(a, c ) logiczne i na elementach wierszy macierzy A logiczne i na elementach kolumn macierzy A or(a, r ) or(a, c ) Wynik zastosowania operatorów porównania jest macierzą wartości typu boolean. logiczne lub na elementach wierszy macierzy A logiczne lub na elementach kolumn macierzy A <, &, operatory działające na odpowiadających sobie elementach macierzy 26

Macierzowe operatory porównania Przykłady: - -> A=[1 2 7; 6 9 8] - -> A>3 - -> B=[4 5 6; 7 8 9] - -> A>B - -> or(a>b, "r") 27

Wyznaczanie miejsc zerowych wielomianów Funkcja roots (p) słuŝy do wyznaczania miejsc zerowych dowolnych wielomianów. Jako parametr p podajemy współczynniki przy kolejnych potęgach (uporządkowane wg malejących potęg). Przykłady: Wyznacz miejsca zerowe wielomianu: x 3-6x 2 +11x=6 - -> p=[1-6 11-6] - -> roots(p) 28

Elementy algebry liniowej Wybrane funkcje algebry liniowej: det (A) spec(a) rank(a) diag(a) obliczanie wyznacznika macierzy A obliczanie wartości własnych macierzy A obliczanie rzędu macierzy A wyznaczanie elementów leŝących na głównej przekątnej macierzy A 29

Rozwiązywanie układów równań liniowych RozwiąŜ poniŝszy układ równań liniowych: = + + = + + = + + 20 6 6 2 14 5 4 3 4 3 2 z y x z y x z y x 30 Układ moŝna zapisać macierzowo: A*X=b, gdzie = 6 6 2 5 4 3 3 2 1 A = 20 14 4 b

Rozwiązywanie układów równań liniowych Układ ma jedno rozwiązanie, gdy rank(a)=rank([a b])=liczba niewiadomych w układzie Układ ma nieskończenie wiele rozwiązań, gdy rank(a)=rank([a b]) < liczba niewiadomych w układzie Układ nie ma rozwiązań, gdy rank(a) rank([a b]) 31

Rozwiązywanie układów równań liniowych Rozwiązanie równania macierzowego: A*X=b, gdzie 1 2 3 4 A = 3 4 5 b = 14 2 6 6 20 -->rank(a) -->rank([a b]) //zatem układ ma 1 rozwiązanie 32

Rozwiązywanie układów równań liniowych Rozwiązanie równania macierzowego: A*X=b Sposób I: -->X=A\b Polecenie rozwiązuje zadany układ za pomocą operatora dzielenia w lewo. PoniewaŜ nie jest moŝliwe dzielenie wektora przez macierz, operator odwraca macierz A, a następnie mnoŝy ją lewostronnie przez wektor b. Sposób II: -->X=inv(A)*b Polecenie rozwiązuje zadany układ równań bezpośrednio: funkcja inv(a) odwraca macierz A, a następnie wynik mnoŝony jest przez wektor b. 33

Rozwiązywanie układów równań liniowych 34

Literatura Materiały przygotowane na podstawie Introduction to Scilab. http://www.scilab.org/support/documentation/tutorials 35