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

Podstawowe operacje na macierzach

Ć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

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

Podstawowe operacje na macierzach, operacje we/wy

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

Elementy metod numerycznych - zajęcia 9

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

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.

Obliczenia w programie MATLAB

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

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

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

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

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

Wykład 5. Metoda eliminacji Gaussa

O MACIERZACH I UKŁADACH RÓWNAŃ

Metody optymalizacji - wprowadzenie do SciLab a

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;

2. Układy równań liniowych

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

Metody numeryczne Wykład 4

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

Macierze. Rozdział Działania na macierzach

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

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

Własności wyznacznika

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


1 Macierze i wyznaczniki

OPERACJE NA MACIERZACH DODAWANIE I ODEJMOWANIE MACIERZY

Wprowadzenie do Mathcada 1

Analiza matematyczna i algebra liniowa Macierze

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

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

Krótkie wprowadzenie do macierzy i wyznaczników

Macierze i Wyznaczniki

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

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

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

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

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

Metody numeryczne Laboratorium 2

Zastosowania wyznaczników

DB Algebra liniowa semestr zimowy 2018

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

Analiza matematyczna i algebra liniowa Macierze

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

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

MACIERZE I WYZNACZNIKI

Wykład 7 Macierze i wyznaczniki

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

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

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

Układy równań liniowych. Krzysztof Patan

D1. Algebra macierzy. D1.1. Definicje

Zakłócenia w układach elektroenergetycznych LABORATORIUM

Modelowanie danych hodowlanych

Ćwiczenie 3: Wprowadzenie do programu Matlab

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

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

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

Wykład 14. Elementy algebry macierzy

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

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

Ćwiczenie 1. Wprowadzenie do programu Octave

Wymagania edukacyjne z matematyki klasa II technikum

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

A A A A A A A A A n n

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

Układy równań liniowych

Laboratorium Techniki Obliczeniowej i Symulacyjnej

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

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

Matlab Składnia + podstawy programowania

Rozkład materiału a wymagania podstawy programowej dla I klasy czteroletniego liceum i pięcioletniego technikum. Zakres rozszerzony

Obliczenia iteracyjne

Ćwiczenie 1. Wprowadzenie do programu Octave

13 Układy równań liniowych

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

Wprowadzenie do programu Mathcad 15 cz. 1

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

1 Elementy logiki i teorii mnogości

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

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

1 Działania na macierzach

ALGEBRA z GEOMETRIA, ANALITYCZNA,

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? - ->A=[1,2,3;4,5,6;7,8,9] - ->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 - ->A=eye(2,2) - ->B=eye(2,5) - ->C=[1 2 3; 4 5 6] - ->D=eye(C) 6

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

Funkcje do definiowania macierzy testmatrix tworzy specyficzną macierz kwadratową o zadanych rozmiarach, np. odwróconą macierz Hilberta, kwadrat magiczny - ->A=testmatrix( hilb,3) - ->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 - -> A=linspace (2, 10, 3) - -> B=linspace (10, -2, 3) - -> C=linspace (1, 50) - -> 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 - -> A=rand(2,3) 10

Pusta macierz - -> 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 - -> A=ones(4,4) - -> A=[] 11

Wymiary macierzy Funkcja size(m) zwraca informacje o wymiarach macierzy M (np.liczbie wierszy i kolumn) - -> A=ones(2,3) - -> [nr, nc]=size(a) - -> size(a) Sprawdź działanie funkcji size dla 3-wymiarowej kostki - -> 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 - -> 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 - -> 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) - -> 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 : - -> A=testmatrix( magi,5) - -> A([1 5], :)=A([5 1],:) //zamieni miejscami wiersz pierwszy i piąty macierzy A - -> 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 cała macierz A(:,:) cała macierz A(i:j,k) elementy z wierszy od i-tego do j-tego w kolumnie k-tej A(i,j:k) elementy z wiersza i-tego w kolumnach od j-tej do k-tej A(i,:) cały wiersz i-ty A(:,j) 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 dodaj pierwszą kolumnę macierzy A z macierzą C 23

Podstawowe operacje na macierzach - wynik 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) obliczanie wyznacznika macierzy A spec(a) obliczanie wartości własnych macierzy A rank(a) obliczanie rzędu macierzy A diag(a) wyznaczanie elementów leżących na głównej przekątnej macierzy A inv(a) wyznaczenie macierzy odwrotnej do macierzy A 29

30 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: można zapisać macierzowo jako: A*X=b, gdzie UWAGA: 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]) = + + = + + = + + 20 6 6 2 14 5 4 3 4 3 2 z y x z y x z y x = 6 6 2 5 4 3 3 2 1 A = 20 14 4 b

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]) 31

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

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

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