Wprowadzenie. SciLab Zmienne. Operatory. Macierze. Macierze. Tomasz Łukaszewski. Politechnika Poznańska Instytut Informatyki

Podobne dokumenty
Metody optymalizacji - wprowadzenie do SciLab a

SciLab Literatura. Tomasz Łukaszewski. Politechnika Poznańska Instytut Informatyki

Scilab - wprowadzenie

Wprowadzenie do Scilab: macierze

Wprowadzenie do Scilab: macierze

Metody i analiza danych

Podstawowe operacje na macierzach

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

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

MATLAB - laboratorium nr 1 wektory i macierze

Wprowadzenie do Scilab: macierze

Wprowadzenie do Mathcada 1

WPROWADZENIE DO ŚRODOWISKA SCILAB

Metody numeryczne Laboratorium 2

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

Matlab Składnia + podstawy programowania

Analiza matematyczna i algebra liniowa Macierze

Wykład 14. Elementy algebry macierzy

Matlab Składnia + podstawy programowania

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

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

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

Wprowadzenie do środowiska

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

Ćwiczenie 3: Wprowadzenie do programu Matlab

Elementy metod numerycznych - zajęcia 9

Scilab skrypty (programowanie)

Interpolacja i aproksymacja, pojęcie modelu regresji

Mathematica III Równania różniczkowe, układy równań różniczkowych, wykresy, badanie funkcji, importowanie danych, instrukcje warunkowe, pętle

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

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

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

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

Obliczenia w programie MATLAB

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

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

Układy równań liniowych. Krzysztof Patan

1 Macierze i wyznaczniki

Przykładowe zadania na egzamin z matematyki - dr Anita Tlałka - 1

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Scilab. Data ostaniej modyfikacji: 2 grudnia Piotr Fulmański

Macierze. Rozdział Działania na macierzach

Obliczenia iteracyjne

1 Logika. 1. Udowodnij prawa logiczne: 3. (p q) (p q) 2. (p q) ( q p) 2. Sprawdź, czy wyrażenie ((p q) r) (p (q r)) jest tautologią.

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

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

DB Algebra liniowa semestr zimowy 2018

(a b 1 2); : ( b a + b ab 2 + c ). : a2 2ab+b 2. Politechnika Białostocka KATEDRA MATEMATYKI. Zajęcia fakultatywne z matematyki 2008

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

Modelowanie komputerowe w ochronie środowiska

Aby przygotować się do kolokwiów oraz do egzaminów należy ponownie przeanalizować zadania

Analiza matematyczna dla informatyków 3 Zajęcia 14

O MACIERZACH I UKŁADACH RÓWNAŃ

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Kurs Start plus - matematyka poziom podstawowy, materiały dla prowadzących, Marcin Kościelecki. Zajęcia 1.

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

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

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne

Macierze Lekcja I: Wprowadzenie

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

, to liczby γ +δi oraz γ δi opisują pierwiastki z a+bi.

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

Krótkie wprowadzenie do macierzy i wyznaczników

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

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Metody numeryczne Wykład 4

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

Podstawowe operacje na macierzach, operacje we/wy

Wykład 5. Metoda eliminacji Gaussa

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

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

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

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

Modelowanie rynków finansowych z wykorzystaniem pakietu R

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

Podstawy OpenCL część 2

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

MATLAB tworzenie własnych funkcji

Zastosowania wyznaczników

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

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

Układy równań liniowych

KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ

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

Funkcje Andrzej Musielak 1. Funkcje

IX. MECHANIKA (FIZYKA) KWANTOWA

Równania różniczkowe liniowe wyższych rzędów o stałych współcz

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Dr inż. Janusz Dębiński Mechanika ogólna Wykład 2 Podstawowe wiadomości z matematyki Kalisz

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

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

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

Macierzowe algorytmy równoległe

Transkrypt:

SciLab 2016 Tomasz Łukaszewski Wprowadzenie Politechnika Poznańska Instytut Informatyki 2 Zmienne Operatory Nazwy: dozwolone nazwy zawierają znaki: od a do z, od A do Z, od 0 do 9 oraz _, #,!, $,? Przypisanie wartości zmiennej (operator) = x=2 Napis= Hello Operatory logiczne & (and), (or), ~ (not), == (operator równoważności) Operatory na łańcuchach <lancuch> + <lancuch> (połączenie) Operatory zakresu indeksów <start> : <stop> (zakres ze zmianą równą1) <start> : <krok zmiany> : <stop> hello + world 3:7 3:2:7 Zadanie 1: wypisz liczby całkowite od 10 do 1 malejąco 3 4 Definiowanie przez wprowadzenie z linii poleceń: [ oraz ] oznacza początek i koniec macierzy, oddziela elementy w wierszu ; oddziela wiersze : definiowanie zakresu a = [1,2,3] % wektor wierszowy b = [4 ; 5 ; 6] % wektor kolumnowy c = [1,2; 3,4; 5,6] % macierz 3 wiersze 2 kolumny d = [1:10] % wektor wartości od 1 do 10 e = 1:10 % wektor wartości od 1 do 10!! f = [d ; e] f = [1:10;1:10] % ERROR!!! Trzeba sklejać wiersze jak powyżej 5 Odwołanie się do elementów : ( oraz ) pozwala odwołać się do elementów, podając w nawiasach numer wiersza i kolumny oddzielony, : interpretowany jako cały zakres zmienności $ indeks ostatniego elementu c(2,1) % 2-gi wiersz i 1-a kolumna c(1:2,1:2) % podmacierz c(1,:) % elementy 1-go wiersza c(:,1) % elementy 1-ej kolumny c($,$) % prawy dolny element Zadanie 2: wypisz 2 pierwsze elementy macierzy c Zadanie 3: wypisz 3 ostatnie elementy macierzy c Zadanie 4: wypisz wszystkie elementy macierzy c 6 1

cd. Odwołanie się do elementów : wybieranie elementów za pomocą macierzy wartości logicznych a=[1:5] b=sin(a) c=b>0 b(c) a(c) % macierz wartości logicznych % wybieranie % wybieranie Zadanie 5: z macierzy o wartościach całkowitych wybierz wartości większe od 7 Funkcje równomiernie zapełniające zakres linspace(a,b) liniowo od a do b (100 elementow) linspace(a,b,c) liniowo od a do b (c elementow) logspace(a,b) logarytmicznie j.w. linspace(1,100) % domyslnie 100 elementow linspace(1,100,10) % 10 elementow g = logspace(1,3,3) % log10(g) 7 8 cd. cd. Funkcje tworzące macierze specjalne ones() macierz zawierająca 1 zeros() macierz zawierająca 0 eye() macierz jednostkowa rand() macierz losowa ones(3,2) % macierz 3x2 zeros(2,3) % macierz 2x3 eye(4,4) % macierz 4x4 rand(2,3) % macierz 2x3 Funkcje tworzące macierze specjalne diag() utworzenie macierzy diagonalnej z elementów wektora lub wydobycie przekątnej z istniejącej macierzy h=[1:3] diag(h) h=rand(3,3) diag(h) %utworzenie macierzy diagonalnej %wydobycie przekątnej z macierzy 9 10 operator transpozycji macierzy A + B dodanie dwóch macierzy +, -, *, / - dzielenie to mnożenie przez odwrotność!!!.*,./ - operacje na elementach macierzy A A=[1,2,3] B=[4;5;6] A+A B A+B % ERROR!!! A+B A+3 A * B %mnożenie w sensie Cauchy ego B * A %mnożenie w sensie Cauchy ego A * B % ERROR!!! A.* B %mnożenie element przez element A * 3 A B 11 12 2

Rozwiązywanie układów równań Operacje (uwaga: zdefiniuj wpierw macierze) A + B = B + A % przemienność A + (B+C) = (A + B)+C % łączność I*A = A * I = A A * (B *C) = (A * B)*C % łączność A*B = B*A = I % B macierz odwrotna! Macierz osobliwa to macierz nie posiadająca macierzy odwrotnej, np. a = [1,2; 1,2] Zadania sprawdź powyższe zależności 13 a * x = b -> a -1 * a * x = a -1 * b Uwaga: w Scilabiemożemy zapisać x = a\b!!! (x1 = 1, x2 = 2) x1 + 2x2 = 5 2x1 + x2 = 4 a=[1,2;2,1] b=[5;4] x=a^-1 * b x=a\b 14 Rozwiązywanie układów równań Zadanie x1+2x2 + 3x3 = 3 -x1-5x2 + 8x3 = 5 4x1 + 9x3 = 7 plot2d(matrix) matrix to wektor Nx1 lub 1xN (lub N x K) A=(0:0.1:6.28) B=sin(A) plot2d(b) 15 16 plot2d(x,y) wymaga wektorów kolumnowych! UWAGA na apostrof przy kopiowaniu ze slajdów x=[0:0.1:6.28] y=sin(x) plot2d(x,y) x=[0:0.1:6.28] y=sin(x) y2=cos(x) plot2d(x,[y,y2],leg= sin@cos,style=[2,3]) xtitle( sin i cos, x, y ) 17 18 3

plot3d(x,y,z) x=linspace(0, 6.28,11) y=x z= cos(x) *cos(x) plot3d(x,y,z) Zadanie: narysuj wykres funkcji f(x,y) = x 2 +y 2 x i y zmieniają się od -3 do 3 19 20 Rozwiązanie: x=linspace(-3, 3,50) y=linspace(-3, 3, 50) xx=x' * ones(y) yy=ones(x)'*y z= (xx.*xx)+(yy.*yy) plot3d(x,y,z) param3d(x,y,z) wykres trajektorii t=linspace(0,4*%pi,101) x=2*cos(t) y=2*sin(t) z=4*t xset("thickness",3) param3d(x,y,z) xset("thickness,1) param3d(x,y,zeros(z)) 21 22 Funkcje Wykresy 2D function y = kwadrat (x) y = x * x function z = kwadrat2 (x1,x2) z = x1^2 + x2^2 plot(x,y) x=linspace(1,10,50) plot(x,kwadrat) 23 24 4

Wykres konturowy contour(x,y,z,nz) x (y) - wektor wartości o rozmiarze n1 (n2) z macierz wartości o rozmiarze n1 * n2 nz liczba poziomów x=linspace(-1,1,100) y=linspace(-1,1,100) contour(x,y,kwadrat2,10) Metoda Monte Carlo opiera się na prawie wielkich liczb, zgodnie z którym stosunek liczby zdarzeń spełniających zadane kryteria do całkowitej liczby zdarzeń jest równy prawdopodobieństwu spełnienia tych kryteriów. Wystawiamy na deszcz kwadratową tarczę, w którą wpisano okrąg. Zakładając, że krople deszczu padają równomiernie to prawdopodobieństwo trafienia kropli w koło ograniczone okręgiem będzie równe ilorazowi pola powierzchni koła i pola całej tarczy. 25 26 Realizacja Utworzymy 2 wektory liczb losowych współrzędne punktów upadku kropel Sprawdzimy, które z nich trafiły w koło i utworzymy wektor wartości logicznych Policzymy ile wartości prawdziwych znajduje się w tym wektorze, podzielimy przez długość wektora i pomnożymy przez 4 będzie to przybliżenie wartości PI. Założymy, że r = 1 27 28 liczba=1000 x=-1 + 2*rand(1,liczba) y=-1 + 2*rand(1,liczba) Nkolo=sum((x.^2+y.^2)<1) PI=4*Nkolo/liczba Wykorzystamy pętlę for w celu zwiększania liczby kropel i obserwacji wyniku Konstrukcja for i = 1:10 do polecenia end 29 30 5

clear // usunięcie zmiennych xdel(winsid()) //zamkniecie okien rand('seed',.123456) // inicjalizacja generatora liczba_prob=100 // liczba prob liczba_elem=1000 // liczba el. wektora // inicjalizacja trafienia=0 wartosc_pi=zeros(liczba_prob) // wektor kolumnowy for k=1:liczba_prob x=-1 + 2*rand(1,liczba_elem) y=-1 + 2*rand(1,liczba_elem) trafienia=trafienia+sum((x.^2+y.^2)<1) wartosc_pi(k)=4*trafienia/(k*liczba_elem) end pi_odn =%pi*ones(wartosc_pi) plot2d([1:liczba_prob]*liczba_elem,wartosc_pi,style=5) plot2d([1:liczba_prob]*liczba_elem,pi_odn,style=2) 31 32 pozwala rozwiązywać równania różniczkowe pierwszego rzędu zapisanych w postaci: dx/dt = f(t,x) Wywołanie funkcji ode wynik = ode(x0,t0,t,f) gdzie wynik rozwiązanie x0 położenie początkowe t0 moment początkowy t wektor wierszowy f nazwa funkcji określającej równanie różniczkowe 33 34 Równanie prędkości: Równanie logistyczne: dx/dt = v dn/dt = rn(1-n/k) function z = f(t, x) function z = f(t, N) z = v z = r*n*(1-n/k) r = 1; v = 1; K=150; x0 = 0; N0 = 10; t0 = 0; t0 =0; tk = 10; tk=10; t = t0:0.1:tk; t = t0:0.1:tk; x = ode (x0,t0,t,f); plot2d(t,x); 35 N = ode (N0,t0,t,f); plot2d(t,n); 36 6

Model Lotki-Volterra: dx/dt = ax bxy dy/dt = cxy dy Model Lotki-Volterra: x(t) liczebność ofiar w czasie t y(t) liczebność drapieżników w czasie t a współczynnik przyrostu ofiar b współczynnik umierania ofiar na skutek drapieżnictwa c współczynnik przyrostu drapieżników d współczynnik umierania drapieżników cz. 1 function [w] = f(t,y) w(1) = a*y(1)-b*y(1)*y(2); w(2) = c*y(1)*y(2)-d*y(2); 37 38 Model Lotki-Volterra: cz. 2 a = 1; b = 1; d = 10; c = 1; t0 = 0; y0 = [10.0;5.0]; // wartości początkowe obu populacji t = [0:0.1:10]; // obliczenia od 0 do 10 co 0.1 jednostki y = ode(y0, t0, t, f); y1 = y(1,:); y2 = y(2,:); plot2d(t,y1,style=3); plot2d(t,y2,style=5); 39 7