Laboratorium z Matematyki Obliczeniowej z wykorzystaniem pakietu octave. Leszek Marcinkowski

Wielkość: px
Rozpocząć pokaz od strony:

Download "Laboratorium z Matematyki Obliczeniowej z wykorzystaniem pakietu octave. Leszek Marcinkowski"

Transkrypt

1 Laboratorium z Matematyki Obliczeniowej z wykorzystaniem pakietu octave Leszek Marcinkowski 12 grudnia 2011

2 Streszczenie W tym skrypcie omówimy wykorzystanie pakietu obliczeniowego octave do implementacji i analizy metod numerycznych omówionych w semestralnym wykªadzie z Matematyki Obliczeniowej.

3 Spis tre±ci 1 Wst p 2 2 Octave i matlab - czym s te pakiety? 4 3 Octave - podstawy Pierwsza sesja w octave'ie Octave jako kalkulator, podstawowe zmienne Macierze i operacje na macierzach Octave jako j zyk programowania - skryptu i m-pliki Funkcje Podstawowa graka Przykªadowy skrypt Przykªadowa sesja matlaba Arytmetyka zmiennopozycyjna Redukcja cyfr przy odejmowaniu Przykªad Obliczanie funkcji z rozwini cia w szereg Obliczanie przybli»onej warto±ci pochodnej Interpolacja wielomianowa i splajnowa Wielomiany w octavie Interpolacja wielomianowa Interpolacja Lagrange'a Interpolacja Hermite'a Interpolacja zespolona. Algorytm FFT Interpolacja splajnowa Obliczanie caªek. Kwadratury Funkcja octave'a quad() Kwadratury zªo»one

4 6.3 Normy caªkowe Rozwi zywanie równa«nieliniowych Funkcja octave'a fzero() Metoda bisekcji Metoda Newtona Odwracanie funkcji Rozwi zywanie równa«liniowych Operator backslash Macierz odwrotna Wspóªczynnik uwarunkowania macierzy Rozkªady macierzy Rozkªad LU Rozkªad QR Liniowe zadania najmniejszych kwadratów Regularne LZNK Nieregularne LZNK i rozkªad SVD Zadanie wªasne 100 2

5 Rozdziaª 1 Wst p W tym skrypcie omówimy, jak implementowa i testowa metody numeryczne przy wykorzystaniu ±rodowiska octave, czyli pakietu oblicze«numerycznonaukowych. Chodzi nam o metody, które s omawiane w czasie standardowego semestralnego wykªadu z Matematyki Obliczeniowej na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego. Gªównym celem zaj w laboratorium komputerowym, odbywaj cych si równolegle z wykªadem i wiczeniami z Matematyki Obliczeniowej, jest przetestowanie metod, które s zaimplementowane w pakiecie octave. Omawiamy te» implementacj metod rozwi zywania numerycznych zada«z wykorzystaniem octave'a. Wykorzystanie pakietu/±rodowiska matlab jest alternatyw dla pakietu octave. Pakiet ten jest komercyjny i w du»ym stopniu kompatybilny z octavem. Szczegóªowiej omawiamy kwesti pakietów w rozdziale 2. Zapoznanie si ze ±rodowiskiem octave'a lub matlaba jest ubocznym celem laboratorium. Warto doda,»e zdecydowana wi kszo± omawianych w tym skrypcie kodów octave'a b dzie dziaªaªa równie» w matlabie. Wszystkie zadania i algorytmy omawiane w tym skrypcie s opisane w podstawowych podr cznikach do matematyki obliczeniowej. Na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego w semestrze letnim 2010/11 podstawowym podr cznikiem do wykªadu z Matematyki Obliczeniowej byªa ksi»ka [11]. W tej pozycji mo»na znale¹ równie» sporo zada«komputerowych, które mog stanowi ciekawe uzupeªnienie tego skryptu. Metody numeryczne omawiane w tym skrypcie s szczegóªowo omawiane w innych podr cznikach dotycz cych analizy numerycznej, czyli inaczej matematykie obliczeniowej. Spo±ród nich warto równie» poleci : [8],[3], [1], [16] i [17]. Oczywi±cie w j zyku angielskim opublikowano wiele podr czników do matematyki obliczeniowej. Niektóre z nich zawieraj zadania komputerowe. 3

6 Szczególnie polecam ksi»ki: [15], [14] zawieraj ce wi cej materiaªu, ni» obejmuje program standardowego kursu Matematyki Obliczeniowej na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego. Warto te» poleci inne podr czniki i monograe: [5], [6], [2], [12], [13], [9], [18], [10], [7] i inne. Zazwyczaj tre± tych ksi»ek tylko w jakiej± cz ±ci pokrywa si z zakresem materiaªu przedstawionym w tym skrypcie. Co do samego octave'a - warto przeczyta manual, tzn. [4], dost pny w dziale dokumentacji na stronach octave'a on-line pod adresem: Kolejno± zagadnie«wykªadanych w wykªadzie z Matematyki Obliczeniowej mo»e si ró»ni w kolejnych edycjach wykªadu. W tym skrypcie przyj li±my kolejno± zaprezentowan w wykªadzie z Matematyki Obliczeniowej z semestru letniego 2010/11. W rozdziale 2 omówimy krótko czym s w ogólno±ci pakiety octave i matlab, oraz sk d mo»na pobra darmowe dystrybucje pakietu octave. W rozdziale 3 omówimy podstawowe obiekty pakietu octave, czyli macierze i operacje na nich, oraz podstawowe struktury programistyczne: p tle, instrukcje warunkowe, operacje macierzowe i wektorowe, skrypty, operatory logiczne, itd. Rozdziaª 4 jest po±wi cony arytmetyce zmiennopozycyjnej, czyli bª dom zaokr gle«i ich wpªywowi na obliczenia numeryczne. W kolejnym rozdziale 5 omawiamy zagadnienie interpolacji wielomianowej i splajnowej. W rozdziale 6 mówimy o caªkowaniu numerycznym. Rozdziaª 7 dotyczy metod rozwi zywania nieliniowych równa«skalarnych. Rozdziaª 8 dotyczy numerycznej algebry liniowej, w szczególno±ci rozwi zywania ukªadów równa«liniowych, a rozdziaª 9 dotyczy kolejnego zadania z numerycznej algebry liniowej, a mianowicie liniowego zadania najmniejszych kwadratów. 4

7 Rozdziaª 2 Octave i matlab - czym s te pakiety? Pakiet octave jest zarówno ±rodowiskiem oblicze«numerycznych, jak i j zykiem programowania. Umo»liwia on proste rozwi zywanie podstawowych zada«numerycznych takich jak: numeryczne obliczenie caªki, rozwi zanie równa«liniowych i nieliniowych, caªkowanie przybli»one równa«ró»niczkowych zwyczajnych itp. Mo»na go u»ywa z linii komend - jak kalkulator naukowy, pisa skrypty, czy m-pliki (czyli pliki z implementacjami funkcji octave'a). Pakiet octave jest programem ogólnodost pnym jako wolne oprogramowanie. Rozprowadzany jest na zasadach licencji GNU GPL. Pakiet octave jest wolnym odpowiednikiem ±rodowiska matlab, które jest programem komercyjnym, szeroko stosowanym do oblicze«numerycznych. Zalet octave'a jest to,»e jest dost pny bez opªat. Octave jest dystrybuowany w wersjach binarnych zarówno pod ró»ne dystrybucje Linuxa, jak i w wersji binarnej pod system Windows. Poni»ej zaª czamy linki do stron octave'a: 1. Gªówna strona octave'a 2. Rozbudowany podr cznik do octave'a - w j zyku angielskim dost pny on-line 3. Strona z linkami do plików z octavem 4. Strona octave-forge'a - czyli rozszerze«octave'a Tutaj podajemy link to strony producenta matlaba: Jest to pakiet komercyjny. 5

8 Rozdziaª 3 Octave - podstawy 3.1 Pierwsza sesja w octave'ie W systemie unix np. w linuxie najpierw musimy uruchomi terminal (np. xterminal). Otworzy si wówczas okienko z lini komend z promptem - za- Rysunek 3.1: Terminal z lini komend. zwyczaj migaj cym, w której mo»emy wpisywa komendy unixa, por. rysunek

9 Wpisujemy komend octave i potwierdzamy Enter. W okienku terminala wy±wietli si nagªówek z numerem wersji i z lini komend octave'a, por. rysunek 3.2. Rysunek 3.2: Terminal z wywoªanym octavem. Dalej, w linii komend octave'a wpisujemy polecenia octave'a Octave jako kalkulator, podstawowe zmienne Najprostsze zastosowanie octave'a to kalkulator naukowy. W lini komend wpisujemy np.: Otrzymujemy: ans=310 - zmiennej octave'a ans zostaje przypisana warto± 310, któr mo»na dalej wykorzysta np. ans 1. Wówczas otrzymamy 309. W octavie s funkcje takie, jak pierwiastek kwadratowy sqrt(), sin(), cos(), exp() itp. Je±li chcemy zapami ta wynik - musimy u»y zmiennej np.: > a=12+34; > sin ( a ) ans = Typów zmiennych nie deklarujemy - octave domy±lnie przyjmuje typ reprezentowany przez dan zmienn. W octavie s np. zmienne typu zespolonego: 7

10 > a= sqrt ( 1) a = i > b=1+4 i b = i > c=a b c = i > d=a+b d = i Zach cam do samodzielnego testowania. Prosz zauwa»y,»e je±li wywoªamy jak ± funkcj albo operator, który zwraca warto±, np.: 2+3 zwraca warto± 5, i nie przypiszemy tej warto±ci zmiennej, to octave automatycznie przypisze t zwracan warto± do zmiennej ans, któr pó¹niej mo»na wykorzysta. Wszystkie zmienne, jakie s w pami ci sesji octave'a, mo»emy wy±wietli poleceniem who, czy whos - wersj poprzedniej funkcji, zwracaj c dokªadny opis zmiennych. Zmienne mo»emy usuwa z pami ci octave'a poleceniem clear np. > a= sqrt ( 1); > b=1+4 i b = i > who V a r i a b l e s in the c u r r e n t scope : A B C a ans b c d f > clear a > who V a r i a b l e s in the c u r r e n t scope : A B C ans b c d f Zmienna a znikn ªa z sesji octave'a. Podanie ±rednika po poleceniu spowoduje,»e wynik nie zostanie wy±wietlony w terminalu. Pomoc do octave'a wywoªujemy poleceniem help, pomoc do konkretnej funkcji wywoªujemy poleceniem help nazwa_funkcji np. help sin: > help sin ` sin ' i s a b u i l t in function Mapping Function : sin (X) Compute the s i n e for each element o f X in r a d ians. 8

11 See a l s o : asin, sind, sinh Pomoc jest w j zyku angielskim Macierze i operacje na macierzach Podstawowym typem zmiennym s macierze. Macierz mo»emy zdeniowa wprost podaj c jej warto±ci: A= [ 1, 2, 3, 4 ; ] ; - prosz zauwa»y,»e elementy macierzy w wierszu oddzielamy przecinkiem albo spacj, a kolejne kolumny - ±rednikiem. Do elementu macierzy o wspóªrz dnych (i, j) odwoªujemy si nast puj co: A(i,j). Je±li zdeniujemy element macierzy spoza zakresu, np. w tym przypadku A(3,3)=7; octave rozszerzy macierz, przyjmuj c domy±lnie pozostaªe niezdeniowane warto±ci macierzy za zera. Wa»n rol peªni operator ±rednik: a : h : b Generuje on wektor z a + k h b. Wywoªanie: a : b [a, a + h,..., a + k h] dziaªa jak a:1:b, czyli z h równym jeden. Z macierzy mo»emy tworzy inne macierze wycinaj c podmacierze. Rozpatrzymy macierz A wymiaru M N. We¹miemy teraz dwa wektory indeksów i = [i(1),..., i(k)] oraz j = [j(1),..., j(l)] dla 1 i(s) M, 1 j(s) N. Wtedy polecenie: B=A( i, j ) ; stworzy macierz wymiaru K L tak,»e B(r,s)=A(i(r),j(s)), np. > A=[3 3 3 ; ] A =

12 > i =[ 2 1 ] ; j =[2 3 ] ; > B=A( i, j ) B = W ten sposób mo»na wycina te» podmacierze lub np. wiersze macierzy: A=[3 3 3 ; ] ; B=A( 1 : 2, 2 ) ; kolumny, czy Warto zauwa»y,»e je±li wywoªamy polecenie x=a(:,3) to jest to równowa»ne x=a(1:2,3), czyli x staje si trzeci kolumn macierzy A. Macierze mo»emy tworzy z innych macierzy blokowo: B=[A,A ] ; C=[A;A ] ; Je±li A miaªa wymiar M N, to macierz B ma wymiar M 2N, a jej odpowiednie podmacierze zªo»one z pierwszych N kolumn i ostatnich N kolumn s równe macierzy A. Macierz C analogicznie ma wymiar 2M N, a jej podmacierze zªo»one z pierwszych i ostatnich M wierszy s równe A. Przy takich denicjach musimy operowa macierzami o odpowiednich wymiarach. Popatrzmy na wyniki: octave :6> A=[3 3 3 ; ] A = octave :7> B=A( 1 : 2, 2 ) B = 3 5 octave :8> B=[A,A] B =

13 octave :9> C=[A;A] C = octave :10> Istniej funkcje deniuj cych okre±lone macierze - wymienimy teraz podstawowe: zeros(m,n) - tworzy macierz zerow o M wierszach i N kolumnach. ones(m,n) - tworzy macierz o wszystkich warto±ciach równych jeden o M wierszach i N kolumnach eye(m,n) - tworzy macierz identyczno±ciow o M wierszach i N kolumnach, tzn. o warto±ciach: jeden - na gªównej przek tnej i zero - na pozostaªych pozycjach rand(m,n) - tworzy macierz o M wierszach i N kolumnach o losowych warto±ciach wedªug rozkªadu jednostajnego na odcinku [0, 1] hilb(n) - tworzy macierz Hilberta N N vander(x) - tworzy macierz Vandermonde'a dla punktów {x k } z wektora x = [x(1),..., x(n)] diag() - tworzy macierz diagonaln, ale równie» pozwala otrzyma odpowiednie diagonale macierzy przy odpowiednim wywoªaniu Wi kszo± funkcji elementarnych typu sin() mo»e by wywoªywana na macierzach. Wtedy: w octave'ie a=sin(a) zwraca macierz tego samego wymiaru co A, ale o elementach (sin(a(i, j)) i,j. Mówimy,»e implementacja takiej funkcji jest wektorowa. Popatrzmy na przykªad: octave :6> A=0.5 pi [ 0 : 6 ; 3 : 3 ] ' A =

14 octave :7> a=sin (A) a = octave :8> Macierze mo»emy dodawa i mno»y, o ile zgadzaj si wymiary: octave :15> A=2+eye ( 2, 2 ) A = octave :16> B=ones (2,2)+2 A B = octave :17> C=A B C = octave :18> 12

15 Operacje arytmetyczne mo»emy te» wywoªa w wersji wektorowej, tzn. je±li np. dwie macierze A, B maj ten sam wymiar, to wywoªanie C=A. B zwróci macierz C tego samego wymiaru tak,»e C(k, l) = A(k, l) B(k, l). To samo dotyczy innych dziaªa«: dzielenia C=A.\B odejmowania C=A. B dodawania C=A.+B podnoszenia do pot gi C=A.^B W przypadku dodawania i odejmowania operatory bez kropek dziaªaj tak samo. Macierz rzeczywist mo»emy transponowa operatorem C=A'. W przypadku macierzy zespolonej operator ten zwróci sprz»enie hermitowskie, a operator z kropk A.' zwróci zwykªe transponowanie. Najlepiej zobaczy to na przykªadzie: octave :37> A=[1+ i 3+4 i ; 8+2 i 5+7 i ] A = i i i i octave :38> A' ans = 1 1 i 8 2 i 3 4 i 5 7 i octave :39> A. ' ans = i i i i octave :40> Istnieje wiele funkcji pozwalaj cych na manipulowanie macierzami np.: iplr () - odwraca kolejno± kolumn ipud() - odwraca kolejno± wierszy 13

16 reshape() - tworzy now macierz o okre±lonych wymiarach z elementów macierzy wyj±ciowej rot90() - obraca macierz o wielokrotno± 90 stopni w kierunku przeciwnym obrotowi wskazówek zegara Wektory traktowane s jako macierze o jednej kolumnie, albo jednym wierszu, jakkolwiek istniej specjalne funkcje dziaªaj ce tylko na wektorach, np. funkcja length(x) zwraca dªugo± wektora x pionowego lub poziomego. Polecenie [m,n]=size(a) zwraca wymiar macierzy jako dwie warto±ci w wektorze. octave :40> x=[ ] x = octave :41> length ( x ) ans = 4 octave :42> size ( x ) ans = 1 4 octave :43> 3.2 Octave jako j zyk programowania - skryptu i m-pliki Octave mo»e by równie» traktowany jako j zyk programowania. Istnieje mo»liwo± pisania skryptów, a nast pnie ich wywoªywania z linii komend octave'a. Skrypty to po prostu pliki tekstowe o rozszerzeniu.m, tzn. np. skryptem mo»e by plik o nazwie nazwaskryptu.m, zawieraj ce w kolejnych liniach komendy octave'a utworzone przez dowolny edytor tekstowy, np. vi w unixie, czy wordpad w systemie windows. Skrypt wywoªujemy podaj c nazw bez rozszerzenia, czyli skrypt zawarty w pliku tekstowym skrypt.m wywoªujemy z linii komend komend : skrypt Po wywoªaniu np. nast puj cego skryptu: 14

17 #s k r y p t.m #Prosty s k r y p t ta l i n i a to komentarz a=2+3 octave wykona wszystkie polecenia po kolei - o ile nie b dzie w nich jakiego± bª du. W tym przypadku zwróci a=5. Tak wi c octave jest interpreterem - nie ma etapu kompilacji skryptu przed wykonaniem. Pisz c skrypty w octavie najlepiej mie na pulpicie komputera co najmniej dwa okna - jedno z sesj octave'a, a drugie z edytorem, w którym edytujemy plik tekstowy ze skryptem. Tu warto doda,»e komentarze w octavie wstawiamy po znakach # lub %. Octave jako j zyk programowania dostarcza równie» wi kszo± konstrukcji imperatywnych, m.in. instrukcja warunkowa if - przykªad: #i n s t r u k c j a warunkowa i f ( x>0) x=1; else x=0; endif ; instrukcja switch wielokrotnego wyboru zast puj ca if je±li k przyjmuje okre±lon ilo± warto±ci switch ( t a k n i e ) case {"T" " t "} x = 1 ; case {"N" "n" } x = 0 ; otherwise error ( " t y l k o t lub n" ) ; endswitch p tla while( ) #sumowanie k=0; a=0; while ( k<=10) do 15

18 a+=k ; k++; endwhile ;! p tla z warunkiem zatrzymania na ko«cu: do intrukcje until( ); k=0; do k++; until ( k>10) p tla for: a=0; for k =1:10, a+=k ; endfor funkcje octave'a function []=f() function [ s ]= f ( a, b) s=a+b ; endfunction Wi cej informacji o funkcjach podamy w nast pnym rozdziale. W tym miejscu omówimy operacje logiczne octave'a. Ogólnie ujmuj c - warto± ró»na od zera traktowana jest jako prawda, 0 to faªsz. Operatory logiczne octave'a s takie same jak w j zyku C tzn: a && b - operator logiczny dwuargumentowy a I b zwraca warto± jeden (prawda), jak a i b s ró»ne od zera, w przeciwnym przypadku operator zwraca zero (faªsz) a b - operator logiczny dwuargumentowy a LUB b zwraca jeden, je±li które± z a lub b jest równe jeden, w przeciwnym przypadku zwraca zero!a - operator logiczny jednoargumentowy negacji N IEP RAW DA a, je±li a jest ró»ne od zera - to operator zwraca zero, w przeciwnym przypadku operator zwraca jeden a==b - operator dwuargumentowy równo±ci, je±li a ma t sam warto± co b, to operator zwraca jeden, w przeciwnym razie operator zwraca zero 16

19 a!=b - operator dwuargumentowy bycia ró»nym, je±li a jest ró»ne od b to zwraca jeden, w przeciwnym razie operator zwraca zero a < b - operator dwuargumentowy porównania, zwraca jeden gdy a jest mniejsze od b, w przeciwnym razie operator zwraca zero. Pozostaªe operatory porównania ( a > b, a<=b, a>= b) s zdeniowane analogicznie Funkcje Funkcje w octave'ie mo»emy deniowa z linii komend, czy jako cz ± kodu w skrypcie: function [w, s ]= f ( a, b) #pomoc do danej f u n k c j i s=a+b ; w=a b ; endfunction Wywoªujemy je z linii komend (lub w linii skryptu, czy w innej funkcji) w=f ( 1, 2 ) [w, s ]= f ( 1, 2 ) Pierwsze wywoªanie spowoduje,»e funkcja zwróci tylko pierwsz warto± tj. w. Niektóre ostatnie parametry funkcji mog przyjmowa domy±ln warto± tzn. function [w, s ]= f ( a, b=0) #pomoc do danej f u n k c j i s=a+b ; w=a b ; endfunction Wtedy wywoªanie funkcji [w, s ]= f ( 1 ) zwróci warto±ci funkcji dla parametru b = 0. Funkcje mo»na przekazywa jako parametry do innych funkcji poprzez przekazanie nazwy funkcji jako napisu - ci gu znaków lub jako tzw. uchwyty do funkcji - tu przykªad przekazania nazwy funkcji sin() do funkcji quad() obliczaj cej caªki: > f=@sin ; > quad( " s i n ", 0, 1 ) 17

20 ans = > quad( f, 0, 1 ) ans = > 0, 1 ) ans = Oba sposoby s równowa»ne. Proste funkcje mo»na deniowa jako tzw. funkcje anonimowe: > f=@( x ) + sin ( x ) ; #f ( x)=x+s i n ( x ) > f ( 1 ) ans = czyli deniujemy od razu uchwyt do funkcji. W octavie wprowadzono za matlabem tzw. m-pliki, czy - inaczej - pliki funkcyjne. S to pliki z rozszerzeniem m np. f.m, zawieraj ce denicje funkcji o tej samej nazwie co plik (bez rozszerzenia). M-plik o nazwie test.m powinien wi c zawiera denicj funkcji test (), czyli w pierwszej linii powinien znajdowa si nagªówek funkcji. Poni»ej widzimy ogóln struktur funkcji: function [ zwracane w a r t o s c i ]= t e s t ( parametry ) # #pomoc do f u n k c j i # komendy zwracane w a r t o s c i powinny byc zdefiniowane endfunction Wywoªanie polecenia help test powinno wy±wietli pomoc do funkcji tzn. wykomentowane linie spod nagªówka funkcji. Funkcje mo»na te» deniowa w skryptach, które maj te same rozszerzenie m. Wa»ne, aby w pierwszej niepustej linii skryptu nie byªo sªowa kluczowego function, tzn. aby przed deniowaniem funkcji w skrycie poda jak kolwiek komend. W przeciwnym przypadku octave potraktuje skrypt jako m-plik. W m-plikach, pod denicj gªównej funkcji o tej samej nazwie co m- plik, mog si znajdowa tzw. pod-funkcje (ang. subfunctions), które mog by wywoªane przez t gªówn funkcj z m-pliku i inne pod-funkcje tylko w tym m-pliku. Tutaj podajemy przykªad takiego m-pliku z funkcj gªówn obliczaj c przybli»enie normy typu L 2 i pod-funkcjami: 18

21 #m p l i k c z y l i p l i k t e k s t o w y normal2.m function [ nl2]=normal2 (FCN, a, b) #norma L^2(a, b ) z f u n k c j i o uchwycie FCN # na [ a, b ] s f=uchwytkwad (FCN) ; nl2=sqrt (quad( sf, a, b ) ) ; endfunction function [SFCN]=uchwytkwad ( f ) #tworzy uchwyt do f u n k c j i g ( x)= f ( x ) f ( x ) SFCN=@( x ) f ( x ) f ( x ) ; endfunction #koniec m p l i k u normal2.m Oczywi±cie pod-funkcja jest tutaj wprowadzona sztucznie, nie jest ona konieczna. W funkcji octave'a mo»na u»ywa automatycznych zmiennych nargin i nargout, które przy wywoªaniu danej funkcji przyjmuj warto±ci: nargin - ilo±ci parametrów, z jak funkcja zostaªa wywoªana. nargout - ilo±ci zwracanych warto±ci, z jak funkcja zostaªa wywoªana. Tu podajemy przykªad wykorzystania tych zmiennych w konkretnej funkcji: function [ y1, y2]= t e s t ( a, b ) # t e s t nargin nargout i f ( nargin <2) b=a ; endif y1=a+b ; i f (nargout>1) y2=a b ; endif endfunction Sprawd¹my, jak taka funkcja dziaªa: octave :46> t e s t ( 1 ) ans = 2 octave :47> t e s t ( 1, 2 ) 19

22 ans = 3 octave :48> [ y1]= t e s t ( 1, 2 ) y1 = 3 octave :49> [ y1, y2]= t e s t ( 1, 2 ) y1 = 3 y2 = 1 octave :50> 3.3 Podstawowa graka Octave posªuguje si zazwyczaj zewn trznym narz dziem do graki w linuxie. Najcz ±ciej jest to program gnuplot, ewentualnie grace lub inny. W przypadku systemu windows w binarnej wersji octave'a zawarta jest te» gra- ka. Podstawow funkcj umo»liwiaj c rysowanie wykresów jest plot(). Rysunek 3.3: Mo»liwie prosty wykres funkcji Najprostsze wywoªanie: plot(x) dla wektora x otworzy nowe okno i w nim narysuje punkty (k, x(k)). Punkty mog pozosta poª czone prostymi w zale»no±ci od ustawienia domy±lnych opcji octave'a. 20

23 Innym wywoªaniem plot() pozwalaj cym np. na rysowanie wykresów jest plot(x,y) dla wektorów x, y tej samej dªugo±ci. W tym przypadku octave narysuje punkty (x(k), y(k)). Tak wi c, je±li stworzymy w wektorze x siatk stupunktow równomiern na [0, 3] - wygodnym poleceniem jest linspace(,a,b,n) - a potem policzymy warto±ci np. funkcji y(k) = sin(x(k)), to polecenie plot(x,y) narysuje wykres sin() na tym odcinku, por. rysunek 3.3. x=linspace ( 0, 3 ) ; y=sin ( x ) ; #s i n j e s t wektorowa f u n k c j a plot ( x, y ) Rysunek 3.4: Dwa wykresy Istnieje mo»liwo± umieszczania kilku wykresów na jednym obrazku np. x=linspace ( 0, 3 ) ; y=sin ( x ) ; #s i n j e s t wektorowa f u n k c j a z=cos ( x ) ; plot ( x, y, x, z ) 21

24 Tu plot(x,y,x,z) narysuje punkty (x(k), y(k) i (x(k), z(k), czyli wykresy sin() i cos() na jednym rysunku. Rysunek 3.5: Dwa wykresy w ró»nych stylach i podpisane Inn mo»liwo±ci jest zastosowanie odpowiednich funkcji dotycz cych gra- ki; np. hold on powoduje,»e kolejne wywoªania plot sprawia rysowanie wykresów na jednym obrazku. Polecenie hold o likwiduje t wªasno±. Mo»emy dobra kolor wykresu, styl wykresu, doda opis, np. wykres sinusa mo»e by w kolorze czerwonym narysowany plusami, a cosinusa w kolorze niebieskim narysowany gwiazdkami x=linspace ( 0, 3, 4 0 ) ; y=sin ( x ) ; #s i n j e s t wektorowa f u n k c j a z=cos ( x ) ; plot ( x, y, "+r ; s i n ; ", x, z, " b ; cos ; " ) #+ wykres plusami r red ( czerwony ) # wykres gwiazdkami, b b l u e ( n i e b i e s k i ) Podamy teraz kilka przydatnych funkcji zwi zanych z grak : xlabel - etykieta osi poziomej ylabel - etykieta osi pionowej 22

25 title - tytuª rysunku gure - kontroluje okienka z wykresami - mo»emy ich mie kilka, czyli x=linspace ( 0, 3, 4 0 ) ; figure ( 1 ) ; y=sin ( x ) ; plot ( x, y ) figure ( 2 ) z=cos ( x ) ; plot ( x, z ) stworzy dwa okienka z wykresem sin() w pierwszym i cos() w drugim. semilogx - wykres w skali póªlogarytmicznej - wzgl dem zmiennej poziomej semilogy - wykres w skali póªlogarytmicznej - wzgl dem zmiennej pionowej loglog - wykres w skali logarytmicznej bar - wykres sªupkowy. stairs - wykres schodkowy. Zach cam do zapoznania si z tymi funkcjami u»ywaj c pomocy octave'a. Istnieje te» mo»liwo± u»ywania prostej graki trójwymiarowej, ale w przypadku matematyki obliczeniowej nie b dziemy tego potrzebowali. 3.4 Przykªadowy skrypt Poni»ej zamieszczamy prosty skrypt, w którym przedstawiamy przykªady u»ycia wi kszo±ci operacji, zmiennych omawianych w tym rozdziale. 23

26 echo on #Ostatnia modyfikacje ############################################## # # Prosty s k r y p t octave ' a mobasic.m z przykladami # o p e r a c j i na macierzach # wektorach z podstawowymi # s t r u k t u r a m i programistycznymi # ############################################## ############################################ # # WAZNE # # s k r y p t w o c t a v i e zawiera dowolna # sekwencje komend octave ' a # tak j a k b y pisanych z l i n i i komend a l e # NIE MOZE ZACZYNAC SIE OD SLOWA KLUCZOWEGO # f u n c t i o n # # ( gdyz, wowczas j e s t to tzw. p l i k funkcyjny # czy m p l i k, i p e l n i r o l e f u n k c j i ) # ############################################ #Podstawowe o b i e k t y macierze #generujemy macierze w r o z n e j p o s t a c i #wprost ; o d d z i e l a w i e r s z e #s p a c j a a l b o, kolumny A= [ 1, 2 ; 4, 5 ; 6 7 ] #Mozna odwolywac s i e do elementu A( 1, 2 ) #Mozna d e f i n i o w a c macierz i n a c z e j B=[ ] 24

27 #mozna o b l i c z a c wspolrzedne za pomoca wzoru x=[1+2, sqrt ( 2 ), 15/7] #mozna p o l i c z y c f u n k c j e od wektora sin ( x ) #warto d o w i e d z i c s i e j a k wywolac h e l p # do danej f u n k c j i np s i n #h e l p s i n #Jak nie znamy nazwy f u n k c j i mozemy sprobowac #h e l p i s i n #mozna zmienic element macierzy A(1,1)= 3 #czy r o z s z e r z y c z a k r e s x (6)=4.56 A(1,7)=10 #mozna o b e j r z e c j a k i e o b i e k t y sa w pamieci who #ze s z c z e g o l a m i whos #o b e j r z e c o b i e k t B B #usunac o b i e k t clear B #usunac clear who wszystko #mozna wygenerowac wektor ( macierz ) #przy pomocy operatora a : h : b #( g e n e r u j e wektor o elementach #od a do b z krokiem h tzn. # x ( i )=a +(i 1) h #d l a i = 1, 2,... t a k i e ze a+i h <=b ) #tu domyslny krok h=1 x=1:5 y = 0 : 0. 1 : 1 25

28 A=[1:4 ; 0 5 : 7 ; 3:0] #Mozna p o p e l n i c b l a d w #d e f i n i o w a n i u macierzy #wykomentowano bo j e s l i wystapi blad, to wykonanie #s k r y p t u p r z e z octave ' a s k r y p t u konczy s i e. #B=[1:3 ; 1 : 2 ] #mozna wykrawac pod macierze A1=A( 1 : 2, 2 : 3 ) #J e s l i chcemy pod macierz np. #z dwoma pierwszymi wierszami A2=A( 1 : 2, : ) #Mozna z macierzy budowac macierz #dodajemy kolumne do A2 [ A2, [ 1 ; 2 ] ] #dodajemy w i e r s z do A2 [ A2 ; 1 : 4 ] #a l b o j e s z c z e i n a c z e j [ A2 ; A2 ] [ A2, A2 ] [ A2,A2 ; A2, A2 ] #Mozna z macierzy zbudowac #nowa macierz w innym formacie #( a l e o tych samych elementach ) [m, n]= size (A2) # dostaniemy wymiary macierzy A2 #Budujemy wektor o elementach z macierzy A2 # kolumnowo tzn #w wektorze beda k o l e j n e kolumny z A2 reshape (A2,m n, 1 ) #i z powrotem tu ans wynik o s t a t n i e j o p e r a c j i reshape (ans,m, n) #Inne f u n k c j e zmieniajace porzadek w macierzy to #np. : #f l i p l r ( ) odwraca k o l e j n o s c kolumn, #f l i p u d ( ) odwraca k o l e j n o s c wierszy, #rot90 ( ) obraca macierz o w i e l o k r o t n o s c i 90 s t o p n i B=[1 2 ; 3 4 ] 26

29 f l i p l r (B) flipud (B) rot90 (B) #Jak widac mamy sporo mozliwosci. #Mozna mnozyc macierze p r z e z s i e b i e #o i l e wymiary s i e z g a d z a j a : #np. macierz p r z e z wektor x=1:4 #Trzeba miec wektor pionowy #( macierz jednokolumnowa ) #wiec transponujemy uzywajac " ' " : x=x ' f=a x #Mozna mnozyc macierz p r z e z macierz #( o i l e wymiary odpowiednie ) : B= [ 1 2 ; 3 4 ] C= [ 5 6 ; 1 1 ] B C #Czy kazdy element p i e r w s z e j #macierzy p r z e z odpowiedni #element d r u g i e j : B. C #Czy macierz p r z e z s k a l a r : 2 A #Mozna transponowac m a c i e r z kwadratowa : B=A' #Mozna p o l i c z y c norme e u k l i d e s o w a #tzn. druga wektora : norm( x, 2 ) #Czy pierwsza a l b o supremum : norm( x, 1 ) norm( x, ' i n f ' ) #Czasami nie warto wypisywac w s z y s t k i e g o #na e k r a n i e s r e d n i k ' ; ' po komendzie 27

30 #to zapewni : y=a x ; norm( y, 2 ) #mozna wygenerowac I=eye (10) #czy slynne macierze H=hilb ( 1 0 ) ; #macierz i d e n t y c z n o s c H i l b e r t a #mozna p r z e n i e s c d l u g i e wyrazenia y =[1,2,3, ] #I mozna z a p i s a c n i e k t o r e o b i e k t y w p l i k u. #Najpierw zobaczmy co mamy w pamieci #s e s j i who #Mozna z a p i s a c w p l i k u binarnym w s z y s t k i e #zmienne #( nie mozna o b e j r z e c danych poza octavem ) save binary dane. bin clear who load dane. bi n # Czy p o j a w i l s i e znowu y? Sprawdzamy : who #Zapisujemy konkretna macierz w p l i k u tekstowym #o danej nazwie dane. t x t : save a s c i i dane. txt y #Mozna t e r a z o b e j r z e c ten p l i k 28

31 #w jakims e d y t o r z e #l u b p r z y pomocy programu more #z l i n i i komend : np. : more dane. dat #Czyscimy zmienne z pamieci : clear #Sprawdzamy t e r a z zmienne w pamieci : who #Wczytujemy zmienne z p l i k u : load dane. txt #Powinnien pojawic s i e wektor y a l e pod jaka nazwa? who #Octave w c z y t a l macierz pod nazwa ' dane ', #a l e mozna zmienic nazwe np. : y=dane clear dane #W o c t a v i e mozna uzywac podstawowych obiektow #t a k i c h j a k p e t l e : #w h i l e ( warunek ) # # komendy # #endwhile #Przyklad u z y c i a : k=0; while ( k<3) k++; #k=k +1; endwhile k #Kolejna p e t l a to : #do # # komendy # #u n t i l ( warunek ) #P e t l a ta zawsze przynajmniej #raz s i e wykona. 29

32 #Przyklad : k=0; do k++; until ( k >3); k #Trzecia p e t l a to : #f o r i= wektor w a r t o s c i # # komendy # #endfor #Przyklad : a=0; for k =1:4, a+=k ; #a=a+k ; endfor a #I s t n i e j a t e z inne podstawowe #s t r u k t u r y programistyczne j a k : #I n t r u k c j a warunkowe #i f # # komendy # #e l s e ( opcja ) # # komendy # #e n d i f #Przyklad : k=input ( " podaj wartosc k=?\n" ) ; #t e r a z czeka na i n p ut i f ( k<10) disp ( "k<10" ) ; #d i s p w y s w i e t l a s t r i n g na e k r a n i e else disp ( "k >=10" ) ; endif #Tu warto poznac operatory l o g i c z n e octave ' a #o g o l n i e wartosc rozna od zera j e s t uznawana za prawde 30

33 #zero za nieprawde i f ( 2 ) a=3 else a=1; endif #&& AND l o g i c z n e " i " i =0; ( i <=10)&&(i > 10) ( i <10)&&(i >1) ( i < 1)&&(i >1) # OR l o g i c z n e " l u b " ( i < 1 0 ) ( i > 10) ( i < 1 0 ) ( i >1) ( i < 1) ( i >1) #! negacja ( o p c j o n a l n i e ~)! ( i >0)! ( i <=0) #operator rownosci nie b y c i a rownym j a k w C # = ta sam wartosc ;!= rozna wartosc (5==4) (5==(3+2)) (5!=6) (5!=(3+2)) #Kolejna s t r u k t u r a warta poznania #to i n s t r u k c j a s w i t c h ( t r o c h e inna n i z w C/C++) #s w i t c h ( zmienna ) # case { w a r t o s c i zmiennej } # komendy # # case { w a r t o s c i zmiennej } # komendy # #o t h e r w i s e # # komendy # #endswitch #Przyklad : 31

34 t a k n i e=menu( " t e s t switch ", " yes ", "no", "do not know" ) ; # menu wygodna f u n k c j a gdy oczekujemy wybrania o p c j i switch ( t a k n i e ) case {1} disp ( " yes " ) ; case {2} disp ( "no" ) ; case {3} disp ( "don ' t know" ) ; endswitch #inna i n s t r u k c j a na wprowadzanie danych z k l a w i a t u r y to #k b h i t #f u n k c j e #n a j p r o s t s z a function y=f ( x ) y=x+sin ( x ) ; endfunction #wywolujemy f ( 0 ) f ( 1 ) #f u n k c j a anonimowa f=@( x ) 1+x+sin ( x ) #Formalnie f tu j e s t #uchwytem do f u n k c j i a l e #wywolanie j e s t t a k i e same : #Wywolujemy : f ( 0 ) #p r o s t a g r a f i k a #s i a t k a rownomierna na [ 0, 3 ] x=linspace ( 0, 3 ) ; #wektorowo w a r t o s c i s i n na s i a t c e y=sin ( x ) ; #i cos z=cos ( x ) ; #n a j p r o s t s z y wykres plot ( y ) ; pause ( 1 ) ; #pause aby nie z n i k n e l o od razu 32

35 #Plot r y s u j e wykres #w a r t o s c i y wzgledem indeksow #L e p i e j narysowac wykres y #wzgledem punktow s i a t k i : plot ( x, y ) ; pause ( 1 ) ; #Mozemy z a m i e s c i c #dwa wykresy na jednym plot ( x, y, x, z ) ; pause ( 2 ) ; rysunku #Mozemy wykres podpisac plot ( x, y, " ; s i n ; ", x, z, " ; cos ; " ) ; pause ( 2 ) ; #I mozemy u s t a l i c k o l o r wykresu : plot ( x, y, "k ; s i n ; ", x, z, "g ; cos ; " ) ; pause ( 2 ) ; #Oczywiscie k o l o r y sa w j e z y k u a n g i e l s k i m #r red ; b b l u e ; k b l a c k ; g green #m magenta ; c cyan ; w white #Czy zmienic s t y l wykresy #zaznaczymy punkt p r z e c i e c i a p r z e z czerwony p l u s : zx=pi / 4 ; zy=cos ( pi / 4 ) ; plot ( x, y, "k ; s i n ; ", x, z, "g ; cos ; ", zx, zy, " r +; pkt przec. ; " ) ; pause ( 2 ) ; #i to t y l e podstawowych r z e c z y k t o r e t r z e b a #w i e d z i e c o macierzach i o c t a v i e #( i k t o r e p r z y s z l y mi do glowy ) echo o f f 3.5 Przykªadowa sesja matlaba W tym rozdziale przedstawimy przykªadow sesj matlaba. W przeciwie«stwie do octave'a, matlab posiada ±rodowisko graczne. Ogólnie matlaba wywoªujemy klikaj c na odpowiedni ikon, czy wybieraj c program matlab w odpowiednim menu systemu. W linuxie mo»emy te» 33

36 Rysunek 3.6: Terminal z wywoªanym ±rodowiskiem matlaba. wywoªa ten program z linii komend komend : matlab. Wówczas powinno otworzy si ±rodowisko matlaba, por. rysunek 3.6. Jak wida, w ±rodku mie±ci si Command Window, czyli okno komend, w którym mo»emy wpisywa komendy matlaba, z lewej strony wida podgl d bie» cego katalogu pod nazw Current Folder, z prawej strony, z góry pod nazw Workspace, wida okno ze spisem zdeniowanych zmiennych oraz z doªu, z lewej strony - maªe okno historii komend, por. rysunek 3.7. Ustawienia mo»na zmienia, np. mo»na cz ± okien ukry, czy odª czy. Po szczegóªy odsyªam do pomocy do matlaba. Wpiszmy kilka komend takich samych jak w octave'ie w okno komend: A=[1:3; ] B=[A; A] W oknie komend wida,»e wynik jest taki sam jak w octave'ie. Natomiast w oknie Workspace widzimy,»e w sesji s zdeniowane dwie zmienne A,B, a w oknie historii widzimy dwie nasze komendy, por rysunek 3.7. W ±rodowisku matlaba najwa»niejsze jest okno komend, które peªni t sam rol co terminal z wywoªanym octavem. Pozostaªe okna peªni rol pomocnicz ale niew tpliwie ±rodowisko matlaba uªatwia prac. Dalej nie b dziemy si zajmowa szczegóªowo matlabem, ale zdecydowana wi kszo± 34

37 Rysunek 3.7: Terminal z wywoªanym ±rodowiskiem matlaba po wykonaniu komendy. kodów z tego skryptu dziaªa zarówno w octave'ie, jak i w matlabie. 35

38 Rozdziaª 4 Arytmetyka zmiennopozycyjna Wszystkie obliczenia w octavie s wykonywane w arytmetyce zmiennopozycyjnej (inaczej - arytmetyce ) podwójnej precyzji (double) - cho w najnowszych wersjach octave'a istnieje mo»liwo± u»ywania zmiennych typu single, czyli zmiennych w pojedynczej precyzji arytmetyki zmiennopozycyjnej. Dokªadno± wzgl dna arytmetyki podwójnej precyzji wynosi ok , a dokªadno± arytmetyki pojedynczej precyzji wynosi ok W octavie jest kilka funkcji zwi zanych bezpo±rednio z wªasno±ciami arytmetyki, mianowicie: eps - zwraca epsilon maszynowy arytmetyki, tzn. najmniejsz liczb ɛ tak,»e fl(ɛ + 1) > 1. Tu fl() oznacza wynik dziaªania w arytmetyce zmiennopozycyjnej. Octave domy±lnie dziaªa na liczbach zmiennopozycyjnych w podwójnej precyzji arytmetyki wi c oczywi±cie eps zwróci nam epsilon maszynowy dla arytmetyki podwójnej precyzji. Z kolei wywoªanie eps(a) - dla a liczby zwróci odlegªo± od a do najbli»szej wi kszej od a liczby w arytmetyce zmiennopozycyjnej single (x) - funkcja konwertuj ca zmienn np. typu double, czyli w podwójnej precyzji arytmetyki, do zmiennej typu single, czyli w pojedynczej precyzji arytmetyki zmiennopozycyjnej double(x) - funkcja konwertuj ca zmienn do typu zmiennej w podwójne precyzji arytmetyki, czyli odwrotna do funkcji single (x). Podwójna precyzja jest w octavie domy±lna, wi c wydaje si»e, gªównym zastosowaniem tej funkcji jest konwersja zmiennej typu single z powrotem do typu double Zastosujmy funkcj eps - sprawd¹my, czy rzeczywi±cie eps + 1 w jest wi ksze od jeden, a np. eps/2 + 1 ju» nie - tu fragment kodu octave'a: 36

39 i f ( ( eps+1)>1) printf ( "%g+1>1 w f l \n", eps ) ; else printf ( "%g n i e j e s t epsilonem maszynowym\n", eps ) ; endif i f ((1+eps/2)==1) printf ( " f l (%g+1)=1\n", eps / 2 ) ; endif Rysunek 4.1: Dwa sposoby obliczania f(x) = 1 cos(x) w arytmetyce zmiennopozycyjnej. Przy pomocy eps mo»emy znale¹ najmniejsz liczb dodatni w arytmetyce podwójnej precyzji: octave :33> x=eps ( 0 ) x = e 324 octave :34> Sprawd¹my: 37

40 octave :34> x/2>0 ans = 0 octave :35> Sprawd¹my, jak dziaªaj funkcje zwi zane ze zmian precyzji arytmetyki single i double - tu fragment sesji octave'a: b=s i n g l e ( eps ) i f ( ( s i n g l e ( eps)+1)==1) printf ( " f l ( s i n g l e ( eps)+1)==1\n" ) ; endif i f ( ( double (b)+1)>1) printf ( " f l ( double ( s i n g l e ( eps ))+1) >1.\n" ) ; endif #a t e r a z e p s i l o n maszynowy p r e c y z j a pojedyncza eps ( s i n g l e ( 1 ) ) Otrzymali±my,»e epsilon maszynowy w podwójnej precyzji wynosi: e 16, a w pojedynczej precyzji arytmetyki: e 07. Teraz znajdziemy najmniejsz liczb dodatni w arytmetyce pojedynczej precyzji: octave :52> eps ( s i n g l e ( 0 ) ) ans = e 45 octave :53> 4.1 Redukcja cyfr przy odejmowaniu Inn wªasno±ci arytmetyki, która mo»e powodowa problemy, jest tzw. redukcja cyfr przy odejmowaniu liczb tego samego znaku Przykªad Przetestujmy to na dwóch równowa»nych wzorach na funkcj f(x) = cos(x) 1 = 1 2 sin 2 (0.5 x) 1 = 2 sin 2 (0.5 x). Przetestujmy oba wzory dla x bliskich zeru: f 1=@( x ) cos ( x) 1; f 2=@( x ) 2 sin ( 0. 5 x ). sin ( 0. 5 x ) ; a=1e 7; 38

41 x=linspace( a, a, ) ; plot ( x, f 1 ( x ), " ; wzor 1 ; ", x, f 2 ( x ), " ; wzor 2 ; " ) ; Wykres na rysunku 4.1 pokazuje,»e wzór drugi jest lepszy ze wzgl du na arytmetyk. Mo»emy oczywi±cie policzy te» bª d pomi dzy wynikami: er=f 1 (1 e 7) f 2 (1 e 7) Ró»nica e 18 jest pozornie maªa, bo rz du Jednak f2(10 7 ) jest rz du 10 14, wi c dokªadno± wzgl dna jest rz du Jest to bardzo maªa dokªadno±, jak na arytmetyk podwójnej precyzji, w której bª d wzgl dny oblicze«jest na poziomie Mo»emy policzy wzgl dny bª d wzgl dem f2(10 7 ): abs ( ( f 1 (1 e 7) f 2 (1 e 7))/ f 2 (1 e 7)) i otrzymamy e Obliczanie funkcji z rozwini cia w szereg Inny przykªad na problemy redukcj cyfr, to obliczanie warto±ci funkcji korzystaj ce z rozwini cia w szereg o wyrazach o ró»nych znakach. Rozpatrzmy funkcj sin(x), która ma nast puj ce rozwini cie w globalnie zbie»ny szereg: sin(x) = x x3 3! + x5 5! x7 7! Zaimplementujmy w octavie funkcj obliczaj c przybli»enie funkcji matematycznej sin(x), korzystaj ce z odpowiedniego obci cia tego rozwini cia dla dowolnego x rzeczywistego. Implementacja tej funkcji b dzie wektorowa, tzn. wywoªanie jej z macierz X jako argumentem zwróci macierz przybli»e«warto±ci sin na odpowiednich elementach macierzy X. function y=n a s z s i n ( x,n=300) #obliczamy wartosc s i n ( x ) #k o r z y s t a j a c z r o z w i n i e c i a w s z e r e g : #x x^3/3!+x ^5/5!...( 1)^( k+1) x^{2k+1}/(2k +1)!+... #N i l o s c wyrazow w s z e r e g u domyslnie 300 kx= x. x ; y=x ; for k=1:n, x=x. kx. / ( ( 2 k ) (2 k +1)); y+=x ; endfor endfunction 39

42 Rysunek 4.2: [11π, 13π] Wykres funkcji sinus obliczanej z rozwini cia w szereg na Przetestujmy nasz funkcj na [ π, π]. w=linspace( pi, pi ) ; plot (w, sin (w), " ; s i n ; ",w, n a s z s i n (w), " ; n a s z s i n ; " ) Na wykresie nie wida ró»nicy. Przetestujmy nasz funkcj dla wi kszych argumentów: [11 π, 13 π]: w=linspace (11 pi,13 pi ) ; plot (w, sin (w), " ; s i n ; ",w, n a s z s i n (w), " ; n a s z s i n ; " ) Wida z rysunku 4.2,»e rozwijanie w szereg nie zawsze ma sens z powodu wªasno±ci arytmetyki zmiennopozycyjnej. Mo»na postawi pytanie, czy w rozwini ciu nie byªo za maªo wyrazów szeregu? w=linspace (11 pi,13 pi ) ; plot (w, sin (w), " ; s i n ; ",w, n a s z s i n (w, ), " ; n a s z s i n ; " ) Prosz sprawdzi,»e zwi kszenie ilo±ci wyrazów szeregu nic nie zmieniªo. 40

43 Rysunek 4.3: Wykres bª du w skali póªlogarytmicznej obliczania funkcji sinus z rozwini cia w szereg Popatrzmy, jak ro±nie bª d na skali logarytmicznej, por. rysunek 4.3: w=linspace (eps,13 pi, ) ; semilogy (w, abs ( sin (w) n a s z s i n (w) ) ) Bª d w skali logarytmicznej ro±nie liniowo. To oznacza,»e bª d ro±nie wykªadniczo Obliczanie przybli»onej warto±ci pochodnej Kolejnym przykªadem sytuacji, w której mog pojawi si problemy, to obliczanie pochodnej za pomoc ilorazów ró»nicowych, czyli wprost z denicji. Przetestujmy przybli»one obliczanie pochodnej z denicji, czyli ze wzoru: f (x) f(x + h) f(x). h Wydawaªoby si,»e im h jest mniejsze, tym lepsze przybli»enie otrzymamy. Ale np. dla f(x) = sin(x) z x = 1 i h < eps, np. dla h = eps/2, otrzymamy 41

44 Rysunek 4.4: Wykres bª du przy obliczaniu pochodnej ilorazem ró»nicowym dsin() dla x = 1 w zale»no±ci od h. w arytmetyce : Sprawd¹my: > h=eps/2 h = e 16 > sin (1+h) sin ( 1 ) ans = 0 #c z y na pewno >sin (1+h)==sin ( 1 ) ans=1 fl(x + h) = fl(1 + h) = 1. Czyli rzeczywi±cie h nie mo»e by dowolnie maªe. Spróbujmy znale¹ dla tego przykªadu optymalne h postaci h = 2 n eksperymentalnie. f=@sin ; h=1;x=1; 42

45 Rysunek 4.5: Wykres bª du przy obliczaniu pochodnej ilorazem ró»nicowym dsin() dla x = 1 w zale»no±ci od h w skali póªlogarytmicznej fx=f ( x ) ; dfx=cos ( x ) ; er=zeros ( 5 3, 1 ) ; eropt=er (1)=abs ( ( f ( x+h) fx )/h dfx ) ; hopt=h ; n=nopt =0; while (h>=eps ) h/=2; n++; er (n)=abs ( ( f ( x+h) fx )/h dfx ) ; i f ( er (n)< eropt ) eropt=er (n ) ; nopt=n ; hopt=h ; endif endwhile printf ( " optymalne h=%g=2^( %d)\n", hopt, nopt ) ; plot ( er ) ; 43

46 Na wykresie nie wida dokªadnie, por. rysunek 4.4, gdzie jest minimum. Na wykresie w skali póª-logarytmicznej minimum jest widoczne, por. rysunek 4.5: semilogy ( er ) Widzimy,»e optymalne h w tym przypadku jest rz du 2 27, czyli ok Mo»na powtórzy te same obliczenia dla przybli»ania pochodnej za pomoc tzw. ilorazu centralnego: f (x) f(x + h) f(x h). 2h W kolejnych rozdziaªach b dziemy omawiali wpªyw arytmetyki zmiennopozycyjnej na wyniki oblicze«dla konkretnych zada«. 44

47 Rozdziaª 5 Interpolacja wielomianowa i splajnowa 5.1 Wielomiany w octavie W octavie istnieje caªa gamma funkcji zwi zanych z wielomianami: polyval( ) - funkcja pozwalaj ca oblicza warto± wielomianu zadanego w bazie pot gowej dla danej warto±ci x, czy caªej macierzy warto±ci polyt( ) - funkcja znajduj ca wspóªczynniki wielomianu zadanego stopnia najlepiej dopasowanego do zadanej tabelki punktów. polyinteg( ) - zwraca wspóªczynniki wielomianu b d cego caªk nieoznaczon z danego wielomianu polyderiv( ) - zwraca wspóªczynniki wielomianu b d cego pochodn z danego wielomianu roots( ) - zwraca zera wielomianu conv(a,b) - zwraca wspóªczynniki wielomianu b d cego iloczynem wielomianów o wspóªczynnikach odpowiednio z wektorów a, b B dziemy korzystali przede wszystkim z dwóch pierwszych funkcji. We wszystkich tych funkcjach przyjmowane jest,»e rozpatrujemy wspóªczynniki wielomianu w bazie pot gowej, ale w nast puj cej kolejno±ci: (x n, x n 1,..., 1). 45

48 Wspóªczynniki indeksowane s od jedynki, tzn. wielomian stopnia nie wi kszego od n: n+1 w(x) = a k x n+1 k k=1 jest reprezentowany przez wektor wspóªczynników: (a 1,..., a n+1 ). Je±li chcemy policzy warto± w w danym punkcie x, czy ewentualnie dla tablicy punktów umieszczonych w macierzy X, wywoªujemy polyval(a,x) lub polyval(a,x). Tak wi c, aby narysowa wykres funkcji x 3 2x + 1 na [ 3, 4] mo»na wykona nast puj c sekwencj komend : a =[1,0, 2,1]; #d e f i n i u j e m y wsp. x=linspace ( 3,4);#s i a t k a wx=polyval ( a, x ) ; #wartosc w na plot ( x, wx ) ; #wykres s i a t c e 5.2 Interpolacja wielomianowa Interpolacja wielomianowa polega na tym,»e szukamy funkcji p z pewnej przestrzeni wielomianów (zazwyczaj wielomianów stopnia nie wi kszego od n), które w tych punktach speªniaj odpowiednie warunki interpolacyjne, tzn. p oraz jej pochodne maj w tych punktach zadane warto±ci Interpolacja Lagrange'a W interpolacji wielomianowej Lagrange'a dla zadanych n+1 ró»nych punktów x k i warto±ci y k = f(x k ) szukamy wielomianu p(x) stopnia co najwy»ej n takiego,»e speªnione s nast puj ce warunki interpolacyjne: f(x k ) = p(x k ) = y k k = 1,..., n + 1. Funkcja polyt(x,y,n) znajduje wspóªczynniki wielomianu p w bazie pot gowej dla wektorów x, y dªugo±ci n + 1. Wa»ne aby warto±ci w x byªy ró»ne. Przetestujmy t funkcj dla nast puj cych danych: x = ( 1, 0, 2, 4), y = (1, 1, 2, 1): x =[ 1,0,2,4]; y =[1,1,2, 1]; a=polyfit ( x, y, 3 ) ; s=linspace ( 2,5); plot ( s, polyval ( a, s ), x, y, " r +;war i n t e r p ; " ) 46

49 Rysunek 5.1: Wykres wielomianu interpolacyjnego. Czerwone plusy - warunki interpolacyjne Wida na rysunku 5.1,»e wielomian speªnia warunki interpolacyjne. Mo»emy to sprawdzi te» obliczeniowo: max(abs ( y polyval ( a, x ) ) ) Otrzymali±my wynik: bª d w w zªach jest równy prawie zero. Przetestujmy polyt(x,y,n) dla du»ych n dla w zªów równoodlegªych na [0, 1] i losowe warto±ci y z [ 1, 1], nast pnie policzmy bª d w w zªach w zale»no±ci od N: N=100; er=zeros (N+1,1); for k= 0 :N, x=linspace ( 0, 1, k+1); y=2 (rand ( size ( x )) 0.5); a=polyfit ( x, y, k ) ; er ( k+1)=max(abs ( y polyval ( a, x ) ) ) ; endfor 47

50 max( er ) Widzimy,»e mo»emy otrzyma niepoprawny wynik dla du»ych N. Wynika to ze zªych wªasno±ci algorytmu stosowanego przez octave'a ze wzgl du na zaburzenia powodowane przez niedokªadne obliczenia w arytmetyce zmiennopozycyjnej. Zbadajmy bª d pomi dzy funkcj, a jej wielomianem interpolacyjnym. Na pocz tek rozpatrzmy analityczn funkcj f(x) = sin(x) i w zªy równoodlegªe, oraz norm supremum na odcinku [ 4, 6]. Norm supremum: g,[a,b] := g(t) t [a,b] przybli»ymy poprzez dyskretn norm na siatce N równomiernie rozªo»onych punktów na tym odcinku [a, b], czyli z h = (b a)/n: f h,,[a,b] = max f(a + k h) k x =[ 1,0,2,4]; y =[1,1,2, 1]; a=polyfit ( x, y, 3 ) ; s=linspace ( 2,5); plot ( s, polyval ( a, s ), x, y, " r +;war i n t e r p ; " ) Interpolacja Hermite'a Rozpatrzmy teraz zadanie interpolacji Hermite'a. W interpolacji wielomianowej Hermite'a dla zadanych n + 1 ró»nych punktów x k i naturalnych krotno±ci w zªów p k szukamy wielomianu w(x) stopnia co najwy»ej N dla N = n k=0 p k 1 takiego,»e speªnione s nast puj ce warunki interpolacyjne: w (j) (x k ) = y k,j k = 1,..., n + 1, j = 0,..., p k 1. Tutaj y k,j to N + 1 zadanych warto±ci. W octavie nie ma funkcji realizuj cej interpolacje Hermite'a. Ale czy w szczególnych przypadkach nie mo»emy ªatwo rozwi za tego problemu korzystaj c z odpowiednich funkcji octave'a? Rozpatrzmy przypadek w zªów tej samej krotno±ci; np. n ró»nych dwukrotnych w zªów. 48

51 Rysunek 5.2: Interpolacja Hermite'a sin(3x) - dwa dwukrotne w zªy 1, 1 Chcemy znale¹ wspóªczynniki wielomianu N k=1 a kx k dla N = 2(n + 1) takie,»e w(x k ) = f(x k ), w (x k ) = f (x k ). Czyli rozwi zanie speªnia nast puj cy ukªad równa«liniowych: N k=1 N a k x k j = f(x k ) k=0 j = 0,..., n ka k x k 1 j = f (x k ) j = 0,..., n. Utwórzmy macierz tego ukªadu z pomoc funkcji vander(x), która tworzy macierz Vandermonde'a dla w zªów podanych w wektorze x: function [ a,c, f ]= interpolyh ( x, y, dy ) #tworzy w s p o l c z y n n i k i wielomianu Hermite ' a d l a #wezlow dwukrotnych z x #y= w a r t o s c i w wezlach x ( wektor pionowy ) 49

52 #w a r t o s c i pochodnej w wezlach x ( wektor pionowy ) #output : w s p o l c z y n n i k i wielomainu w b a z i e potegowej # ( Zgodne z p o l y v a l ( ) ) #C opcja macierz n=length ( x ) ; N=2 n 1; A=vander ( x,n+1); D=diag (N: 1 : 0 ) ; B=zeros ( size (A) ) ; B ( :, 1 :N)=A( :, 2 :N+1); B=B D; C=[A;B ] ; f =[y ; dy ] ; a=c\ [ y ; dy ] ; endfunction ukladu Rysunek 5.3: Interpolacja Hermite'a sin(3x) - trzy dwukrotne w zªy 1, 0, 1 Na pocz tku przetestujmy t funkcj dla w zªów 1, 1 dwukrotnych i funkcji sin(3 x). 50

53 x =[ 1;1]; x ) sin (3 x ) ; df=@( x ) 3 cos (3 x ) ; y=f ( x ) ; dy=df ( x ) ; a=interpolyh ( x, y, dy ) ; z=linspace ( 1. 1, 1. 1 ) ; plot ( z, polyval ( a, z ), " ; w i e l H; ", z, f ( z ), " ; f ; ", x, y, " r+" ) ; Z wykresu funkcji i wielomianu widzimy,»e wielomian przecina wykres i jest styczny w punktach 1, 1, por. rysunek 5.2. Zobaczmy co si stanie w przypadku trzech w zªów. Testujemy funkcj dla w zªów 2, 0, 2 dwukrotnych i sin(3 x). x =[ 1;0;1]; f=@( x ) sin (3 x ) ; df=@( x ) 3 cos (3 x ) ; y=f ( x ) ; dy=df ( x ) ; a=interpolyh ( x, y, dy ) ; z=linspace ( 1. 2, 1. 2 ) ; plot ( z, polyval ( a, z ), " ; w i e l H; ", z, f ( z ), " ; f ; ", x, y, " r+" ) ; Z rysunku 5.3 wida,»e funkcja dziaªa poprawnie równie» w tym przypadku. 5.3 Interpolacja zespolona. Algorytm FFT W tym rozdziale omówimy krótko interpolacj zespolon, ale tylko w przypadku okre±lonych w zªów zespolonych równomiernie rozmieszczonych na sferze jednostkowej. Chcemy znale¹ wspóªczynniki zespolone a k C, k = 0,..., N takie,»e N a k zj k = b k k=0 j = 0,..., N dla danych zespolonych b k i z j = exp ( ) 2π i j N+1 dla j = 0,..., N, czyli pierwiastków z jedynki stopnia N + 1. Równowa»nie mo»emy to zadanie sformuªowa jako zadanie znalezienia a k takich,»e N ( ) 2π i j k a k exp = b k j = 0,..., N. N + 1 k=0 51

54 Okazuje si,»e rozwi zanie mo»emy wyrazi poprzez operator dyskretnej transformaty Fouriera, czy równowa»nie jako mno»enie przez macierz F N+1 = 1 N+1 (ωk l N+1 )N k,l=0 : a = F N+1 b gdzie a = (a k ) N k=0, b = (b k ) N k=0, a ω N+1 = exp ( ) 2π i N+1. Mno»enie przez macierz F N+1 mo»na szybko wykona z wykorzystaniem algorytmu szybkiej transformacji Fouriera, czyli FFT (Fast Fourier Transform). Odpowiednia wersja algorytmu FFT sªu»y te» szybkiemu mno»eniu przez macierz odwrotn do F N+1 : F 1 N+1 = (N + 1)F N+1 = (ω k l N+1) N k,l=0. Obliczaj c warto± wielomianu k a kz k w punktach z j, czy równowa»nie warto±ci wielomianu trygonometrycznego N k=0 a k exp (i k x) w punktach x j = 2π j, to przyjmuj c b N+1 j = k a kzj k otrzymujemy: b = F 1 N+1 a. Warto doda,»e cz sto macierz DFT deniuje si bez czynnika 1 N+1, oczywi±cie wtedy macierz odwrotna te» musi by odpowiednio przeskalowana. Funkcja f f t ( ) sªu»y w octave'ie mno»eniu przez macierz F N+1. Jej najprostsze wywoªanie to a=f f t (b) Sprawd¹my, czy funkcja t () oblicza warto± DFT zgodnie z nasz denicj. Policzmy F 4 (4, 0, 0, 0) T, powinni±my otrzyma wektor samych jedynek: a=f f t ( [ 4 ; 0 ; 0 ; 0 ] ) a otrzymali±my: a = i i i 4 0 i To oznacza,»e funkcja t () oblicza warto± mno»enia przez (N + 1) F N+1. Z kolei funkcja it () powinna oblicza mno»enie przez macierz odwrotn do (N + 1) F N+1. Sprawd¹my, jak to dziaªa: 52

Arytmetyka zmiennopozycyjna

Arytmetyka zmiennopozycyjna Rozdziaª 4 Arytmetyka zmiennopozycyjna Wszystkie obliczenia w octavie s wykonywane w arytmetyce zmiennopozycyjnej (inaczej - arytmetyce ) podwójnej precyzji (double) - cho w najnowszych wersjach octave'a

Bardziej szczegółowo

Rozdziaª 3. Octave - podstawy. 3.1 Pierwsza sesja w octave'ie

Rozdziaª 3. Octave - podstawy. 3.1 Pierwsza sesja w octave'ie Rozdziaª 3 Octave - podstawy 3.1 Pierwsza sesja w octave'ie W systemie unix np. w linuxie najpierw musimy uruchomi terminal (np. xterminal). Otworzy si wówczas okienko z lini komend z promptem - za- Rysunek

Bardziej szczegółowo

Interpolacja wielomianowa i splajnowa

Interpolacja wielomianowa i splajnowa Rozdziaª 5 Interpolacja wielomianowa i splajnowa 5.1 Wielomiany w octavie W octavie istnieje caªa gamma funkcji zwi zanych z wielomianami: polyval( ) - funkcja pozwalaj ca oblicza warto± wielomianu zadanego

Bardziej szczegółowo

Interpolacja Lagrange'a, bazy wielomianów

Interpolacja Lagrange'a, bazy wielomianów Rozdziaª 4 Interpolacja Lagrange'a, bazy wielomianów W tym rozdziale zajmiemy si interpolacj wielomianow. Zadanie interpolacji wielomianowej polega na znalezieniu wielomianu stopnia nie wi kszego od n,

Bardziej szczegółowo

Liniowe zadania najmniejszych kwadratów

Liniowe zadania najmniejszych kwadratów Rozdziaª 9 Liniowe zadania najmniejszych kwadratów Liniowe zadania najmniejszych kwadratów polega na znalezieniu x R n, który minimalizuje Ax b 2 dla danej macierzy A R m,n i wektora b R m. Zauwa»my,»e

Bardziej szczegółowo

Ukªady równa«liniowych - rozkªady typu LU i LL'

Ukªady równa«liniowych - rozkªady typu LU i LL' Rozdziaª 9 Ukªady równa«liniowych - rozkªady typu LU i LL' W tym rozdziale zapoznamy si z metodami sªu» cych do rozwi zywania ukªadów równa«liniowych przy pomocy uzyskiwaniu odpowiednich rozkªadów macierzy

Bardziej szczegółowo

Rozdziaª 13. Przykªadowe projekty zaliczeniowe

Rozdziaª 13. Przykªadowe projekty zaliczeniowe Rozdziaª 13 Przykªadowe projekty zaliczeniowe W tej cz ±ci skryptu przedstawimy przykªady projektów na zaliczenia zaj z laboratorium komputerowego z matematyki obliczeniowej. Projekty mo»na potraktowa

Bardziej szczegółowo

1 Bª dy i arytmetyka zmiennopozycyjna

1 Bª dy i arytmetyka zmiennopozycyjna 1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy

Bardziej szczegółowo

Numeryczne zadanie wªasne

Numeryczne zadanie wªasne Rozdziaª 11 Numeryczne zadanie wªasne W tym rozdziale zajmiemy si symetrycznym zadaniem wªasnym, tzn. zadaniem znajdowania warto±ci i/lub wektorów wªasnych dla macierzy symetrycznej A = A T. W zadaniach

Bardziej szczegółowo

LZNK. Rozkªad QR. Metoda Householdera

LZNK. Rozkªad QR. Metoda Householdera Rozdziaª 10 LZNK. Rozªad QR. Metoda Householdera W tym rozdziale zajmiemy si liniowym zadaniem najmniejszych wadratów (LZNK). Dla danej macierzy A wymiaru M N i wetora b wymiaru M chcemy znale¹ wetor x

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

Rozdziaª 7. Rozwi zywanie równa«nieliniowych. 7.1 Funkcja octave'a fzero()

Rozdziaª 7. Rozwi zywanie równa«nieliniowych. 7.1 Funkcja octave'a fzero() Rozdziaª 7 Rozwi zywanie równa«nieliniowych W tym rozdziale zajmiemy si metodami rozwi zywania równa«nieliniowych skalarnych. Interesuje nas znalezienie zera nieliniowej funkcji f : [a, b] R: Przetestujemy

Bardziej szczegółowo

Macierze i Wyznaczniki

Macierze i Wyznaczniki Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,

Bardziej szczegółowo

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja

Bardziej szczegółowo

Interpolacja funkcjami sklejanymi

Interpolacja funkcjami sklejanymi Interpolacja funkcjami sklejanymi Funkcje sklejane: Zaªó»my,»e mamy n + 1 w zªów t 0, t 1,, t n takich,»e t 0 < t 1 < < t n Dla danej liczby caªkowitej, nieujemnej k funkcj sklejan stopnia k nazywamy tak

Bardziej szczegółowo

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna 1. Podaj denicj liczby zespolonej. 2. Jak obliczy sum /iloczyn dwóch liczb zespolonych w postaci algebraicznej? 3. Co to jest liczba urojona?

Bardziej szczegółowo

Macierze i Wyznaczniki

Macierze i Wyznaczniki dr Krzysztof yjewski Mechatronika; S-I.in». 5 pa¹dziernika 6 Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja. Tablic nast puj cej postaci a a... a n a a... a n A =... a m a m...

Bardziej szczegółowo

Lekcja 12 - POMOCNICY

Lekcja 12 - POMOCNICY Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.

Bardziej szczegółowo

Lab. 02: Algorytm Schrage

Lab. 02: Algorytm Schrage Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z

Bardziej szczegółowo

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Bash i algorytmy. Elwira Wachowicz. 20 lutego Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad

Bardziej szczegółowo

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci Zebraª do celów edukacyjnych od wykªadowców PK, z ró»nych podr czników Maciej Zakarczemny 1 Przypomnienie wiadomo±ci ze szkoªy ±redniej Rozwi zywanie prostych równa«i nierówno±ci dotycz cych funkcji elementarnych,

Bardziej szczegółowo

Aproksymacja funkcji metod najmniejszych kwadratów

Aproksymacja funkcji metod najmniejszych kwadratów Aproksymacja funkcji metod najmniejszych kwadratów Teoria Interpolacja polega na znajdowaniu krzywej przechodz cej przez wszystkie w zªy. Zdarzaj si jednak sytuacje, w których dane te mog by obarczone

Bardziej szczegółowo

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

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. 1 GNU Octave GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. Octave zapewnia: sporą bibliotęke użytecznych funkcji i algorytmów; możliwośc tworzenia przeróżnych wykresów; możliwość

Bardziej szczegółowo

Metody numeryczne i statystyka dla in»ynierów

Metody numeryczne i statystyka dla in»ynierów Kierunek: Automatyka i Robotyka, II rok Interpolacja PWSZ Gªogów, 2009 Interpolacja Okre±lenie zale»no±ci pomi dzy interesuj cymi nas wielko±ciami, Umo»liwia uproszczenie skomplikowanych funkcji (np. wykorzystywana

Bardziej szczegółowo

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 Metody iteracyjne rozwi zywania równania f(x)=0 1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0

Bardziej szczegółowo

Zadania i scenariusze zaj z laboratorium komputerowego do wykªadu z Matematyki Obliczeniowej. Leszek Marcinkowski

Zadania i scenariusze zaj z laboratorium komputerowego do wykªadu z Matematyki Obliczeniowej. Leszek Marcinkowski Zadania i scenariusze zaj z laboratorium komputerowego do wykªadu z Matematyki Obliczeniowej Leszek Marcinkowski 12 grudnia 2011 Streszczenie W skrypcie przedstawimy zestawy zada«do odbywaj cego si co

Bardziej szczegółowo

Elementy metod numerycznych - zajęcia 9

Elementy metod numerycznych - zajęcia 9 Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie

Bardziej szczegółowo

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1 Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1 Tomasz Suchocki Uniwersytet Przyrodniczy we Wrocªawiu Katedra Genetyki i Ogólnej Hodowli Zwierz t Plan wykªadu 1 Podstawowe

Bardziej szczegółowo

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Laboratorium metod numerycznych numer 1

Laboratorium metod numerycznych numer 1 Laboratorium metod numerycznych numer 1 Dla grup:wszystkich (Dated: 27 II 2013) I. WST P Na laboratoriach z metod numerycznych b dziemy posªugiwali si pakietem Octave, który jest darmow alternatyw dla

Bardziej szczegółowo

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej Matematyka wykªad 1 Macierze (1) Andrzej Torój Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej 17 wrze±nia 2011 Plan wykªadu 1 2 3 4 5 Plan prezentacji 1 2 3 4 5 Kontakt moja strona internetowa:

Bardziej szczegółowo

Metodydowodzenia twierdzeń

Metodydowodzenia twierdzeń 1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych

Bardziej szczegółowo

01.Wprowadzenie do pakietu MATLAB

01.Wprowadzenie do pakietu MATLAB 01.Wprowadzenie do pakietu MATLAB 1. Typy i formaty danych: Informacje o typach danych dost pnych w MATLABie uzyskuje si m: help datatypes, a sposoby ich wy±wietlania m help format. Do podstawowych typów

Bardziej szczegółowo

Wprowadzenie do środowiska

Wprowadzenie do środowiska Wprowadzenie do środowiska www.mathworks.com Piotr Wróbel piotr.wrobel@igf.fuw.edu.pl Pok. B 4.22 Metody numeryczne w optyce 2017 Czym jest Matlab Matlab (matrix laboratory) środowisko obliczeniowe oraz

Bardziej szczegółowo

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych

Bardziej szczegółowo

Materiaªy do Repetytorium z matematyki

Materiaªy do Repetytorium z matematyki Materiaªy do Repetytorium z matematyki 0/0 Dziaªania na liczbach wymiernych i niewymiernych wiczenie Obliczy + 4 + 4 5. ( + ) ( 4 + 4 5). ( : ) ( : 4) 4 5 6. 7. { [ 7 4 ( 0 7) ] ( } : 5) : 0 75 ( 8) (

Bardziej szczegółowo

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Ukªady równa«liniowych

Ukªady równa«liniowych dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast

Bardziej szczegółowo

1 Programowanie w matlabie - skrypty i funkcje

1 Programowanie w matlabie - skrypty i funkcje 1 Programowanie w matlabie - skrypty i funkcje 1.1 Skrypty Skrypt jest plikiem tekstowym z rozszerzeniem *.m zawierającym listę poleceń do wykonania. Aby utworzyć skrypt w matlabie wybierz File New Script,

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

1. Przedstaw w postaci algebraicznej liczby zespolone: 2. Narysuj zbiory punktów na pªaszczy¹nie:

1. Przedstaw w postaci algebraicznej liczby zespolone: 2. Narysuj zbiory punktów na pªaszczy¹nie: ZADANIA Z MATEMATYKI Zestaw. Przedstaw w postaci algebraicznej liczby zespolone: (3 + j)(5 j) 3 j +j (5 + j) (3 + j) 3. Narysuj zbiory punktów na pªaszczy¹nie: +j +j 3 Re z = Im z = 5 z ( j) = z j z +

Bardziej szczegółowo

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja Macierze 1 Podstawowe denicje Macierz wymiaru m n, gdzie m, n N nazywamy tablic liczb rzeczywistych (lub zespolonych) postaci a 11 a 1j a 1n A = A m n = [a ij ] m n = a i1 a ij a in a m1 a mj a mn W macierzy

Bardziej szczegółowo

x y x y x y x + y x y

x y x y x y x + y x y Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0

Bardziej szczegółowo

2 Liczby rzeczywiste - cz. 2

2 Liczby rzeczywiste - cz. 2 2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona Akademia Górniczo-Hutnicza im. Stanisªawa Staszica w Krakowie Wydziaª Fizyki i Informatyki Stosowanej Krzysztof Grz dziel kierunek studiów: informatyka stosowana Caªkowanie numeryczne - porównanie skuteczno±ci

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki. Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

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

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Mathematica - podstawy

Mathematica - podstawy Mathematica - podstawy Artur Kalinowski Semestr letni 2011/2012 Artur Kalinowski Mathematica - podstawy 1 / 27 Spis tre±ci Program Mathematica 1 Program Mathematica 2 3 4 5 Artur Kalinowski Mathematica

Bardziej szczegółowo

ZADANIA. Maciej Zakarczemny

ZADANIA. Maciej Zakarczemny ZADANIA Maciej Zakarczemny 2 Spis tre±ci 1 Algebra 5 2 Analiza 7 2.1 Granice iterowane, granica podwójna funkcji dwóch zmiennych....... 7 2.2 Caªki powierzchniowe zorientowane...................... 8 2.2.1

Bardziej szczegółowo

Przetwarzanie sygnałów

Przetwarzanie sygnałów Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory

Bardziej szczegółowo

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32 Wyznacznik Def Wyznacznikiem macierzy kwadratowej nazywamy funkcj, która ka»dej macierzy A = (a ij ) przyporz dkowuje liczb det A zgodnie z nast puj cym schematem indukcyjnym: Dla macierzy A = (a ) stopnia

Bardziej szczegółowo

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria

Bardziej szczegółowo

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY Poszukiwanie znaczeń funkcji i skryptów funkcja help >> help % wypisuje linki do wszystkich plików pomocy >> help plot % wypisuje pomoc dotyczą funkcji plot Znaczenie

Bardziej szczegółowo

ANALIZA MATEMATYCZNA Z ALGEBR

ANALIZA MATEMATYCZNA Z ALGEBR ANALIZA MATEMATYCZNA Z ALGEBR WYKŠAD II Maªgorzata Murat MACIERZ A rzeczywist (zespolon ) o m wierszach i n kolumnach nazywamy przyporz dkowanie ka»dej uporz dkowanej parze liczb naturalnych (i, j), gdzie

Bardziej szczegółowo

Wykªad 4. Funkcje wielu zmiennych.

Wykªad 4. Funkcje wielu zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.

Bardziej szczegółowo

XVII Warmi«sko-Mazurskie Zawody Matematyczne

XVII Warmi«sko-Mazurskie Zawody Matematyczne 1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych

Bardziej szczegółowo

1 Granice funkcji wielu zmiennych.

1 Granice funkcji wielu zmiennych. AM WNE 008/009. Odpowiedzi do zada«przygotowawczych do czwartego kolokwium. Granice funkcji wielu zmiennych. Zadanie. Zadanie. Pochodne. (a) 0, Granica nie istnieje, (c) Granica nie istnieje, (d) Granica

Bardziej szczegółowo

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. 2018/2019 1. Odcienie szaro±ci Model RGB jest modelem barw opartym na wªa±ciwo±ciach odbiorczych

Bardziej szczegółowo

zajęcia 2 Definiowanie wektorów:

zajęcia 2 Definiowanie wektorów: zajęcia 2 Plan zajęć: definiowanie wektorów instrukcja warunkowa if wykresy Definiowanie wektorów: Co do definicji wektora: Koń jaki jest, każdy widzi Definiowanie wektora w Octave v1=[3,2,4] lub: v1=[3

Bardziej szczegółowo

Metody numeryczne i statystyka dla in»ynierów

Metody numeryczne i statystyka dla in»ynierów Kierunek: Automatyka i Robotyka, II rok Aproksymacja cz. II, wielomiany ortogonalne zastosowania PWSZ Gªogów, 2009 Iloczyn skalarny Funkcja okre±lona na przestrzeni liniowej (, ) R iloczyn skalarny wektorów

Bardziej szczegółowo

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Rozwi zania zada«z egzaminu podstawowego z Analizy matematycznej 2.3A (24/5). Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Zadanie P/4. Metod operatorow rozwi

Bardziej szczegółowo

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab Podstawy Automatyki ćwiczenia Cz.1 Środowisko Matlab Podstawową jednostką obliczeniową w programie Matlab jest macierz. Wektory i skalary mogą być tutaj rozpatrywane jako specjalne typy macierzy. Elementy

Bardziej szczegółowo

Lekcja 3 Banki i nowe przedmioty

Lekcja 3 Banki i nowe przedmioty Lekcja 3 Banki i nowe przedmioty Akademia im. Jana Dªugosza w Cz stochowie Banki przedmiotów Co ju» wiemy? co to s banki przedmiotów w Baltie potramy korzysta z banków przedmiotów mo»emy tworzy nowe przedmioty

Bardziej szczegółowo

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdziaª 9 RÓWNANIA ELIPTYCZNE 9.1 Zastosowanie eliptycznych równa«ró»niczkowych cz stkowych 9.1.1 Problemy z warunkami brzegowymi W przestrzeni dwuwymiarowej

Bardziej szczegółowo

a) f : R R R: f(x, y) = x 2 y 2 ; f(x, y) = 3xy; f(x, y) = max(xy, xy); b) g : R 2 R 2 R: g((x 1, y 1 ), (x 2, y 2 )) = 2x 1 y 1 x 2 y 2 ;

a) f : R R R: f(x, y) = x 2 y 2 ; f(x, y) = 3xy; f(x, y) = max(xy, xy); b) g : R 2 R 2 R: g((x 1, y 1 ), (x 2, y 2 )) = 2x 1 y 1 x 2 y 2 ; Zadania oznaczone * s troch trudniejsze, co nie oznacza,»e trudne.. Zbadaj czy funkcjonaª jest dwuliniowy, symetryczny, antysymetryczny, dodatniookre±lony: a) f : R R R: f(x, y) = x y ; f(x, y) = 3xy;

Bardziej szczegółowo

Funkcje wielu zmiennych

Funkcje wielu zmiennych dr Krzysztof yjewski Informatyka I rok I 0 in» 12 stycznia 2016 Funkcje wielu zmiennych Informacje pomocnicze Denicja 1 Niech funkcja f(x y) b dzie okre±lona przynajmniej na otoczeniu punktu (x 0 y 0 )

Bardziej szczegółowo

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego 1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia

Bardziej szczegółowo

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów 1 Wst p Przypomnijmy,»e komputer skªada si z procesora, pami ci, systemu wej±cia-wyj±cia oraz po- ª cze«mi dzy nimi. W procesorze mo»emy

Bardziej szczegółowo

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006 Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ Marek Majewski Aktualizacja: 1 pa¹dziernika 006 Spis tre±ci 1 Macierze dziaªania na macierzach. Wyznaczniki 1 Macierz odwrotna. Rz d macierzy

Bardziej szczegółowo

Funkcje, wielomiany. Informacje pomocnicze

Funkcje, wielomiany. Informacje pomocnicze Funkcje, wielomiany Informacje pomocnicze Przydatne wzory: (a + b) 2 = a 2 + 2ab + b 2 (a b) 2 = a 2 2ab + b 2 (a + b) 3 = a 3 + 3a 2 b + 3ab 2 + b 3 (a b) 3 = a 3 3a 2 b + 3ab 2 b 3 a 2 b 2 = (a + b)(a

Bardziej szczegółowo

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych i dynamicznych, symulacji procesów, przekształceń i obliczeń symbolicznych

Bardziej szczegółowo

Pakiety Matematyczne MAP1351W,P

Pakiety Matematyczne MAP1351W,P STEINHAUS HUGO CENTER W R O C L AW Pakiety Matematyczne MAP1351W,P dr in». Marek Teuerle Centrum im. Hugona Steinhausa Politechnika Wrocªawska Wrocªaw, 07-14 maja 2019 MATLAB Plan wykªadu: MATLAB Plan

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

Wprowadzenie do pakietów MATLAB/GNU Octave

Wprowadzenie do pakietów MATLAB/GNU Octave Wprowadzenie do pakietów MATLAB/GNU Octave Ireneusz Czajka wersja poprawiona z 2017 Chociaż dla ścisłości należałoby używać zapisu MATLAB/GNU Octave, w niniejszym opracowaniu używana jest nazwa Matlab,

Bardziej szczegółowo

Analiza Matematyczna MAT1317

Analiza Matematyczna MAT1317 Analiza Matematyczna MAT37 Wydziaª Informatyki i Zarz dzania Listy zada«nr -0 cz ±ciowo na podstawie skryptów: M.Gewert, Z Skoczylas, Analiza Matematyczna. Przykªady i zadania, GiS, Wrocªaw 008 M.Gewert,

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do

Bardziej szczegółowo

Metody numeryczne i statystyka dla in»ynierów

Metody numeryczne i statystyka dla in»ynierów Kierunek: Automatyka i Robotyka, II rok Wprowadzenie PWSZ Gªogów, 2009 Plan wykªadów Wprowadzenie, podanie zagadnie«, poj cie metody numerycznej i algorytmu numerycznego, obszar zainteresowa«i stosowalno±ci

Bardziej szczegółowo

Macierze. Dziaªania na macierzach. 1. Niech b d dane macierze , D = , C = , B = 4 12 A = , F = , G = , H = E = a) Obliczy A + B, 2A 3B,

Macierze. Dziaªania na macierzach. 1. Niech b d dane macierze , D = , C = , B = 4 12 A = , F = , G = , H = E = a) Obliczy A + B, 2A 3B, Macierze Dziaªania na macierzach Niech b d dane macierze A = E = [ 2 3 0 3 2 3 2 0 [ 0 8, B = 4 2, F = [ 2 3, C = 3 2 2 3 0 0 0 4 0 6 3 0, G =, D = 0 2 0 2 0 3 0 3 0 2 0 0 2 2 0 0 5 0 2,, H = 0 0 4 0 0

Bardziej szczegółowo

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X. Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór

Bardziej szczegółowo

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne Arkusz maturalny Šukasz Dawidowski Powtórki maturalne 25 kwietnia 2016r. Odwrotno±ci liczby rzeczywistej 1. 9 8 2. 0, (1) 3. 8 9 4. 0, (8) 3 4 4 4 1 jest liczba Odwrotno±ci liczby rzeczywistej 3 4 4 4

Bardziej szczegółowo

Kurs z matematyki - zadania

Kurs z matematyki - zadania Kurs z matematyki - zadania Miara łukowa kąta Zadanie Miary kątów wyrażone w stopniach zapisać w radianach: a) 0, b) 80, c) 90, d), e) 0, f) 0, g) 0, h), i) 0, j) 70, k), l) 80, m) 080, n), o) 0 Zadanie

Bardziej szczegółowo

Makroekonomia Zaawansowana

Makroekonomia Zaawansowana Makroekonomia Zaawansowana wiczenia 2 Podstawy pracy z Octave/Matlabem MZ 1 / 20 Plan wicze«1 Pierwsze uruchomienie 2 Podstawowe operacje macierzowe w Matlabie/Octave 3 Wy±wietlanie wyników 4 Zadanie MZ

Bardziej szczegółowo

Metody dowodzenia twierdze«

Metody dowodzenia twierdze« Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku

Bardziej szczegółowo

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych: Plan Spis tre±ci 1 Homomorzm 1 1.1 Macierz homomorzmu....................... 2 1.2 Dziaªania............................... 3 2 Ukªady równa«6 3 Zadania 8 1 Homomorzm PRZYPOMNIENIE Ka»d przestrze«wektorow

Bardziej szczegółowo

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/

Bardziej szczegółowo

Wstawianie gotowych rysunków w texu - informacje podstawowe.

Wstawianie gotowych rysunków w texu - informacje podstawowe. Wstawianie gotowych rysunków w texu - informacje podstawowe. By móc wstawi rysunek musimy w preambule pliku dopisa odpowiedni pakiet komend : \usepackage. W przypadku graki doª czamy pakiet:graphicx, (nieco

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

Bardziej szczegółowo

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru

Bardziej szczegółowo

1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f.

1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f. GAL II 2012-2013 A Strojnowski str1 Wykªad 1 Ten semestr rozpoczniemy badaniem endomorzmów sko«czenie wymiarowych przestrzeni liniowych Denicja 11 Niech V b dzie przestrzeni liniow nad ciaªem K 1) Przeksztaªceniem

Bardziej szczegółowo