Wprowadzenie do Scilab: macierze

Podobne dokumenty
Wprowadzenie do Scilab: macierze

Wprowadzenie do Scilab: macierze

Metody i analiza danych

Podstawowe operacje na macierzach

MATLAB - laboratorium nr 1 wektory i macierze

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

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

Algebra macierzy

WPROWADZENIE DO ŚRODOWISKA SCILAB

Elementy metod numerycznych - zajęcia 9

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

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

Podstawowe operacje na macierzach, operacje we/wy

UKŁADY RÓWNAŃ LINIOWYCH

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

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

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Obliczenia w programie MATLAB

1 Zbiory i działania na zbiorach.

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

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

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...

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

Wykład 5. Metoda eliminacji Gaussa

Analiza matematyczna i algebra liniowa Macierze

OPERACJE NA MACIERZACH DODAWANIE I ODEJMOWANIE MACIERZY

O MACIERZACH I UKŁADACH RÓWNAŃ

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

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

Macierze. Rozdział Działania na macierzach

Wykład 7 Macierze i wyznaczniki

Własności wyznacznika

1 Macierze i wyznaczniki


METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

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

Wykład 14. Elementy algebry macierzy

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

Ćwiczenie 3: Wprowadzenie do programu Matlab

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

DB Algebra liniowa semestr zimowy 2018

Zakłócenia w układach elektroenergetycznych LABORATORIUM

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

Macierze i Wyznaczniki

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

2. Układy równań liniowych

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

13 Układy równań liniowych

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

Ćwiczenie 1. Wprowadzenie do programu Octave

D1. Algebra macierzy. D1.1. Definicje

Zastosowania wyznaczników

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

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

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

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

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

Wprowadzenie do Mathcada 1

Wprowadzenie do środowiska

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

Krótkie wprowadzenie do macierzy i wyznaczników

Ćwiczenie 1. Wprowadzenie do programu Octave

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

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

ALGEBRA z GEOMETRIA, ANALITYCZNA,

Układy równań liniowych. Krzysztof Patan

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

MACIERZE I WYZNACZNIKI

Zadania egzaminacyjne

Najmniejszą możliwą macierzą jest macierz 1 x 2 lub 2 x 1 składająca się z dwóch przyległych komórek.

Metody numeryczne Laboratorium 2

1. Liczby zespolone i

1 Elementy logiki i teorii mnogości

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Odwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski:

Analiza matematyczna i algebra liniowa Macierze

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

Przetwarzanie sygnałów

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

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Treści programowe. Matematyka. Efekty kształcenia. Literatura. Terminy wykładów i ćwiczeń. Warunki zaliczenia. tnij.org/ktrabka

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

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

Macierz o wymiarach m n. a 21. a 22. A =

Wykład 4. Matlab cz.3 Tablice i operacje na tablicach

Wykorzystanie programów komputerowych do obliczeń matematycznych

Matlab Składnia + podstawy programowania

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

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

Wprowadzenie do programu Mathcad 15 cz. 1

Macierze i Wyznaczniki

A A A A A A A A A n n

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

Układy równań liniowych

Modelowanie danych hodowlanych

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) Macierzami są również: 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 zaznaczają 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, np. macierzy jednostkowych, macierzy zer czy jedynek. 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 wierszowy zawierają cych n elementów równomiernie rozłożonych 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) Przykład: - -> D=linspace (2, 13, 3) 9

Funkcje do definiowania macierzy rand tworzy macierz o zadanych rozmiarach wypełnioną wartościami losowymi z przedziału <0, 1); 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) - -> size(a) Sprawdź działanie funkcji size dla 3-wymiarowej kostki Przykład: - -> B=ones(2,3,4) - -> [n1, n2, n3]=size(b) - -> 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 liczbę wierszy sel=2 lub sel= c //funkcja zwraca liczbę kolumn sel= * //funkcja zwraca liczbę 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) UWAGA: Należy pamię tać, że wiersze i kolumny macierzy indeksowane są od 1. Przykłady: - -> 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łu <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ład: - -> A=testmatrix( magi,5) - -> A([1 5], :)=A([5 1],:) //zamieni miejscami wiersz pierwszy i pią ty macierzy A Przykład: - -> B=testmatrix( magi,5) - -> B(:, [1 5])=B(:, [5 1]) 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

Dynamiczna zmiana wymiarów macierzy Przykład: - -> A=[1 2 3; 4 5 6] - -> B=[7;8] - -> C=[A,B] 22

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 23

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 dodaj pierwszą kolumnę macierzy A z macierzą C 24

Podstawowe operacje na macierzach - wynik 25

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

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 27

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") 28

Macierzowe operatory porównania Przykłady: - -> A=[1 2 7; 6 9 8] - -> A>3 - -> A(A>3)=0 //wszystkie elementy macierzy A o wartościach >3 zostaną zamienione na 0. 29

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) 30

Elementy algebry liniowej Wybrane funkcje algebry liniowej: det (A) spec(a) rank(a) diag(a) inv(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 wyznaczenie macierzy odwrotnej do macierzy A 31

Rozwią zywanie układów równań liniowych Za pomocą macierzy można rozwią zywać układy równań liniowych. Układ równań liniowych: Ïx + 2y + 3z = 4 Ô Ì3x + 4y + 5z = 14 Ô Ó2x + 6y + 6z = 20 można zapisać macierzowo jako: A*X=b, gdzie UWAGA: È 1 2 3 È 4 A = Í 3 4 5 b = Í 14 Í Í ÍÎ 2 6 6 ÍÎ 20 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]) 32

Rozwią zywanie układów równań liniowych Równanie macierzowe A*X=b, gdzie A = È1 Í 3 Í ÎÍ 2 2 4 6 3 5 6 b = È 4 Í 14 Í ÍÎ 20 ma 1 rozwią zanie. Porównaj wartości poniższych funkcji: -->rank(a) -->rank([a b]) 33

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. 34

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

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