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



Podobne dokumenty
Interpolacja Lagrange'a, bazy wielomianów

Rozdziaª 13. Przykªadowe projekty zaliczeniowe

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

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

1 Bª dy i arytmetyka zmiennopozycyjna

Liniowe zadania najmniejszych kwadratów

Numeryczne zadanie wªasne

Arytmetyka zmiennopozycyjna

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

LZNK. Rozkªad QR. Metoda Householdera

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

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

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

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 ;

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

Interpolacja funkcjami sklejanymi

Metody numeryczne i statystyka dla in»ynierów

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

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Funkcje, wielomiany. Informacje pomocnicze

Macierze i Wyznaczniki

Informacje pomocnicze

1 Granice funkcji wielu zmiennych.

Interpolacja wielomianowa i splajnowa

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

Materiaªy do Repetytorium z matematyki

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Metody numeryczne i statystyka dla in»ynierów

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

Ukªady równa«liniowych

Macierze i Wyznaczniki

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

Metody numeryczne i statystyka dla in»ynierów

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia

PAKIET MathCad - Część III

Laboratorium metod numerycznych numer 1

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

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, Dawid Rasaªa Metody numeryczne 1 / 9

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Algebra Liniowa 2. Zadania do samodzielnych wicze«wydziaª Elektroniki, I rok Karina Olszak i Zbigniew Olszak

Metody numeryczne i statystyka dla in»ynierów

Egzamin z Metod Numerycznych ZSI, Grupa: A

2 Liczby rzeczywiste - cz. 2

Aproksymacja funkcji metod najmniejszych kwadratów

Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.

Zadania z PM II A. Strojnowski str. 1. Zadania przygotowawcze z Podstaw Matematyki seria 2

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

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Obliczanie całek. Instytut Fizyki Akademia Pomorska w Słupsku

Lab. 02: Algorytm Schrage

Kurs wyrównawczy dla kandydatów i studentów UTP

Temat: Co to jest optymalizacja? Maksymalizacja objętości naczynia prostopadłościennego za pomocą arkusza kalkulacyjngo.

Liniowe równania ró»niczkowe n tego rz du o staªych wspóªczynnikach

Mathematica - podstawy

Informacje pomocnicze:

Zadania z analizy matematycznej - sem. II Ekstrema funkcji wielu zmiennych, twierdzenia o funkcji odwrotnej i funkcji uwikªanej

Bardzo łatwa lista powtórkowa

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:

CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski

Ćwiczenie 1. Wprowadzenie do programu Octave

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

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Funkcje wielu zmiennych

Metodydowodzenia twierdzeń

Metody dowodzenia twierdze«

x y

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

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Proste modele o zªo»onej dynamice

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

ANALIZA MATEMATYCZNA Z ALGEBR

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

01.Wprowadzenie do pakietu MATLAB

Funkcje wielu zmiennych

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

2. L(a u) = al( u) dla dowolnych u U i a R. Uwaga 1. Warunki 1., 2. mo»na zast pi jednym warunkiem: L(a u + b v) = al( u) + bl( v)

WBiA Architektura i Urbanistyka. 1. Wykonaj dziaªania na macierzach: Które z iloczynów: A 2 B, AB 2, BA 2, B 2 3, B = 1 2 0

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Ćwiczenie 1. Wprowadzenie do programu Octave

1 Pochodne wyższych rzędów

x y x y x y x + y x y

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

1 Ró»niczka drugiego rz du i ekstrema

Analiza Matematyczna MAT1317

Semestr letni 2014/15

Dokªadna arytmetyka liczb rzeczywistych w j zyku Python

1. Wprowadzenie do C/C++

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

Metody numeryczne I Równania nieliniowe

Elementy metod numerycznych - zajęcia 9

Matematyka 1. Šukasz Dawidowski. Instytut Matematyki, Uniwersytet l ski

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Podstawowe działania w rachunku macierzowym

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Transkrypt:

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 dwa tygodnie laboratorium komputerowego do semestralnego wykªadu z Matematyki Obliczeniowej. Zakªadamy,»e zadania zostan rozwi zane przy wykorzystaniu pakietu oblicze«numerycznych octave albo pakietu matlab.

Spis tre±ci 1 Wst p 2 2 Wst pne zapoznanie si z octavem 5 3 Obliczenia w arytmetyce zmiennopozycyjnej 9 4 Interpolacja Lagrange'a, bazy wielomianów 13 5 Splajny kubiczne i liniowe. Interpolacja splajnowa 20 6 Wielomiany Czebyszewa 25 7 Kwadratury 31 8 Rozwi zywanie równa«nieliniowych 37 9 Ukªady równa«liniowych - rozkªady typu LU i LL' 43 10 LZNK. Rozkªad QR. Metoda Householdera 48 11 Numeryczne zadanie wªasne 54 12 Algorytm FFT 60 13 Przykªadowe projekty zaliczeniowe 64 1

Rozdziaª 1 Wst p Celem zada«komputerowych przeprowadzanych w laboratorium komputerowym jest przetestowanie numerycznych metod omawianych w czasie wykªadu i wicze«z Matematyki Obliczeniowej. Zadania komputerowe przedstawione w tym zbiorze polegaj na implementacji metod numerycznego rozwi zywania zada«z wykorzystaniem pakietu octave, czyli ±rodowiska oblicze«numerycznych-naukowych i przetestowaniu funkcji octave'a, które s w stanie rozwi za zadania omawiane w trakcie kursu Matematyki Obliczeniowej. Cz ± funkcji octave'a wywoªuje odpowiedni bibliotek numeryczn, w której jest zaimplementowana odno±na - zazwyczaj zaawansowana - metoda. Ale cz ± funkcji octave'a jest zaimplementowana wprost w samym octave'ie. Cz sto nie wiemy jakiej metody numerycznej u»ywa octave. Szczególnie,»e kolejne wersje tego pakietu u»ywaj innych bibliotek, mimo»e nazwa funkcji - np. rozwi zuj cej równanie nieliniowe - jest wci» taka sama. Pakiet octave jest zarówno ±rodowiskiem oblicze«numerycznych, jak i j zykiem programowania. Umo»liwia on proste rozwi zywanie podstawowych zada«numerycznych jak: numeryczne obliczenie caªki, rozwi zanie zada«liniowych lub nieliniowych, równa«ró»niczkowych zwyczajnych itp. Mo»na go u»ywa z linii komend, pisa wªasne skrypty, czy m-pliki (czyli pliki z implementacjami wªasnych funkcji octave'a). Pakiet octave jest programem ogólnodost pnym jako wolne oprogramowanie. Rozprowadzany jest na zasadach licencji GNU GPL. Warto doda,»e pakiet octave jest odpowiednikiem ±rodowiska matlab, które jest programem komercyjnym, szeroko stosowanym do oblicze«numerycznych. Zadania z tego zbioru s sformuªowane tak,»e bez kªopotów mog by wykonane zarówno w octave, jak i w ±rodowisku matlaba. Zalet octave'a jest to,»e jest on dost pny bez opªat. Octave jest dystrybuowany w wersjach binarnych zarówno pod ró»ne dystrybucje Linuxa, jak i 2

w wersji binarnej pod system Windows. Poni»ej zaª czamy link 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 Podstawowym podr cznikiem do kursu z matematyki obliczeniowej jest ksi»ka [11]. Innymi wartymi polecenia podr cznikami w j zyku polskim s np. [8], [3], [17] i [1], [16]. W j zyku angielskim opublikowano wiele podr czników do matematyki obliczeniowej, inaczej nazywanej te» metodami numerycznymi, czy analiz numeryczn. Niektóre z nich zawieraj zadania komputerowe. Warto poleci ksi»ki: [15], [14]. Obie zawieraj wi cej materiaªu ni» standardowy kurs matematyki obliczeniowej na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego. Innymi wartymi polecenia podr cznikami i monograami dotycz cymi metod numerycznych s : [5], [6], [2], [12], [13], [9], [18], [10], [7] i inne. Niektóre z tych podr czników obejmuj tylko cz ± materiaªu z wykªadu matematyki obliczeniowej lub wykraczaj poza ten materiaª. Je±li chodzi o pakiet octave - polecamy przeczyta manual, tzn. [4] dost pny w dziale dokumentacji na stronach octave'a on-line pod adresem: http://www.gnu.org/software/octave/. Zadania w tym zbiorze s podzielone na rozdziaªy. Standardowe zaj cia z laboratorium komputerowego do Matematyki Obliczeniowej polegaj zazwyczaj na rozwi zaniu kilku zada«z zadanego tematu. Pozostaªe zadania mog zosta ewentualnie zadane do rozwi zania samodzielnego. Zaj cia z laboratorium do Matematyki Obliczeniowej na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego odbywaj si co dwa tygodnie, wi c ilo± rozdziaªów w tym skrypcie przewy»sza standardow liczb zaj. Prowadz cy zaj cia mo»e wybra, które rozdziaªy omówi na zaj ciach. Zadania w poszczególnych rozdziaªach s tak skomponowane,»e standardowy scenariusz zaj dotycz cych tematu danego rozdziaªu powinien obejmowa kilka pierwszych zada«. Prowadz cy zaj cia mo»e dokona samodzielnego wyboru zada«, pomijaj c niektóre z nich. 3

Scenariusze i zadania komputerowe 4

Rozdziaª 2 Wst pne zapoznanie si z octavem W przypadku przeznaczenia dwóch laboratoriów scenariusz ka»dych zaj polega na rozwi zaniu mo»liwie du»ej ilo±ci kolejnych zada«z tego rozdziaªu. W przypadku jednych zaj nale»y dokona wyboru rozwi zuj c tylko kilkanajwa»niejszych pozycji z listy zada«. Zadania w tym rozdziale ilustruj podstawowe operacje, struktury i wªasno±ci octave'a. Przedstawimy w zadaniach octave jako kalkulator naukowy. Omówimy te» operator dwukropek sªu» cy np. tworzeniu indeksów. Przetestujemy, jak tworzy macierze, wektory; jak zapisywa zmienne do plików (czyta z plików) w formatach: tekstowym i binarnym. Sprawdzimy tworzenie macierzy z podmacierzy, wycinanie podmacierzy i inne podstawowe operacje na macierzach - mno»enie, dodawanie, transponowanie, funkcje matematyczne od macierzy, normy wektorów/macierzy. Zadania obejmuj równie» tworzenie wykresów funkcji matematycznych przy pomocy funkcji octave'a plot(). Sprawdzimy te» tworzenie i u»ywanie skryptów i funkcji (m-pliki) w octavie, oraz podstawowe instrukcje warunkowe i p tle: if else endif; switch case endswitch while( ) do endwhile; do.. until( ); for.. endfor. Zadania obejm te» wska¹niki do funkcji (function handle) i operator @ - zwracaj cy wska¹nik do funkcji. 5

Zadanie 1 Octave jako kalkulator. Otwórz sesj octave'a. Zapoznaj si z pomoc do funkcji sqrt() oraz sin(). Policz w octave'ie, ile wynosi pierwiastek z 5 oraz policz warto± funkcji sin na tym pierwiastku. Zadanie 2 Operacje macierzowe. Operator dwukropek. Utwórz wektor z liczbami od 1 do 20 oraz wektor ze wszystkimi liczbami parzystymi od 6 do 4. Utwórz dowolne macierze 3x4 A i 3x5 B, a nast pnie macierz 3x8 C, której pierwsze 3 kolumny to A, a kolejne to B. Z macierzy C 'wytnij' podmacierz D skªadaj c si z 1 gªównego minora tzn. 3x3 od C(1,1) do C(3,3). Zamie«kolejno± kolumn D. Zamie«kolejno± wierszy D. Wytnij dolnotrójk tn, a potem górnotrójk tn cz ± macierzy D Wstaw D z powrotem do C jako gªówny minor. Policz sin(d) = (sin(d ij ) od D. Zapisz D do pliku (binarnego i ASCII) - zamie«element D(1,1) na -100 i wczytaj now macierz do octave'a. Zadanie 3 Funkcje matematyczne od macierzy. Normy macierzy i wektorów Policz dyskretn norm maksimum od (sin(x)) 2 na [0, 1] (wektorowoczyli bez u»ycia p tli). Zadanie 4 Wykresy funkcji matematycznych. Narysuj wykres funkcji sin(x) na odcinku [0, 4]. Narysuj wykres funkcji sin(x) na odcinku [0, 4] - wykres powinien by podpisany, narysowany za pomoc gwiazdek w kolorze czerwonym. Narysuj w jednym oknie podpisane wykresy funkcji sin(x) i log(x) na odcinku [1, 6] podpisane odpowiednio. Zadanie 5 Znajd¹ przybli»one maksimum i minimum funkcji f(x) = x (3 + 2 cos(x)) 6

na odcinku [ 1, 5] bez u»ycia p tli, oraz przybli»enia punktów ekstremalnych. Powtórz to zadanie dla jakiego± wielomianu stopnia dwa i trzy np. x 3 + x 2 x 4. Zadanie 6 Funkcje w octave'ie, m-pliki, czyli tzw. pliki funkcyjne. Utwórz funkcj w m-pliku obliczaj c dla zadanego x warto± funkcji f(x) = (sin(x)) 2. Zadanie 7 Zmienne globalne Utwórz m-plik z funkcj octave'a obliczaj c warto± funkcji matematycznej z parametrem: sin(a x) - parametr przeka» jako zmienn globaln. Zadanie 8 Implementacja wektorowa funkcji w octave'ie. Utwórz m-plik z funkcj obliczaj cy warto± funkcji f(x) = 1 + (cos(x)) 2 dla argumentu b d cego macierz, tzn. je±li X = (x i,j ) i,j macierz wymiaru M N, to funkcja powinna zwróci Y macierz wymiaru M N tak,»e Y = (y i,j ) i,j, y i,j = f(x i,j ). Narysuj wykres f na odcinku [ 1, 5] z wykorzystaniem tylko jednego wywoªania tak zaimplementowanej funkcji octave'a. Zadanie 9 Funkcje anonimowe. Utwórz funkcj uchwyt do funkcji anonimowej, która dla danego argumentu x zwraca warto± równ (sin(x)) 2. Zadanie 10 P tle, instrukcje warunkowe, instrukcja printf (). Zapoznaj si z pomoc octave'a do p tli while, p tli for, instrukcji warunkowej if oraz funkcji drukuj cej napisy na ekranie printf(). Przy pomocy p tli for ( k =... ) endfor 7

while ( warunek stopu ) endwhile oblicz sum dla N = 100. U»yj instrukcji warunkowej i f ( ) endif S N = 1 +... + N by sprawdzi, czy otrzymane S N zostaªo obliczone poprawnie, tzn. czy otrzymali±my 0.5 N (N + 1) wyprowad¹ na ekran komunikat u»ywaj c printf ( ) 8

Rozdziaª 3 Obliczenia w arytmetyce zmiennopozycyjnej Zadania z tego rozdziaªu powinny wykaza pewne charakterystyczne wªasno- ±ci arytmetyki zmiennopozycyjnej. W octavie wykorzystywane s domy±lnie liczby zmiennopozycyjne o podwójnej precyzji, jakkolwiek w najnowszych wersjach octave'a mo»na równie» sztucznie wymusi u»ywanie zmiennych w precyzji pojedynczej przy pomocy funkcji single (a) zwracaj cej zmienn pojedynczej precyzji z t sam warto±ci. Jedn z wa»nych wªasno±ci arytmetyki zmiennopozycyjnej, która wynika z jej konstrukcji, jest to,»e odejmowanie dwóch warto±ci o tym samym znaku o maªej ró»nicy mo»e skutkowa du» utrat dokªadno±ci wzgl dnej. Zadanie 1 Funkcje single (a) i eps. Wywoªaj pomoc do tych funkcji w octave'ie. Sprawd¹, czy prawd jest,»e 1 + eps obliczone w arytmetyce podwójnej precyzji w octave'ie jest wi ksze od jeden. Przyjmij,»e a = single(eps) i sprawd¹, czy ponownie 1 + a jest wi ksze od jeden. Zadanie 2 Epsilon maszynowy w arytmetyce podwójnej precyzji Wyznacz samodzielnie epsilon maszynowy - czyli najmniejsz liczb w arytmetyce zmiennopozycyjnej tak,»e po dodaniu jej do jeden otrzymujemy liczb wi ksz od jeden. B dziemy szukali liczby postaci 2 t dla t - ilo±ci bitów mantysy. Porównaj z eps komend octave'a. Zadanie mo»na te» wykona w C/C++. Czy otrzymane wyniki s takie same jak te otrzymane w octavie (dla liczb typu double)? 9

Zadanie 3 Epsilon maszynowy w arytmetyce pojedynczej precyzji Powtórz poprzednie zadanie dla arytmetyki pojedynczej precyzji. Funkcja octave'a single (x) tworzy zmienne takiego typu. Wykorzystuj c t funkcj ponownie wyznacz epsilon maszynowy jako liczb postaci 2 t, ale dla liczb w pojedynczej precyzji. Zadanie 4 Narysuj wykres funkcji f(x) = (x + a) a na [0, 1] dla ró»nych warto±ci a = 10 k dla k = 1, 2,.., 20. Tutaj wa»ne jest aby oblicza warto± f(x) dokªadnie ze wzorów: b = (x a), f(x) = b a, cho matematycznie f(x) = x. Zadanie 5 Policz f(x) = x 1 + x x algorytmem wprost wynikaj cym z tego wzoru, a nast pnie z wykorzystaniem równowa»nego wzoru tzn. prosz zastosowa : Algorytm 1 oraz Algorytm 2 f(x) = a = 1 + x 2 1 x + 1 + x x w 1 = x a a = 1 + x 2 w 2 = 1 x + a dla x = 10 k i k = 4,..., 10. Czy wida ró»nic w wyniku? Powtórz zadanie w arytmetyce pojedynczej precyzji, tzn. z wykorzystaniem funkcji octave'a single (x). Zadanie 6 Wykres wielomianu na dwa sposoby Oblicz warto±ci wielomianu (x 2) 4 = x 4... + 16 na siatce równomiernej 1000 punktowej na [2 a, 2 + a] dla a = 10 3 za pomoc dwóch algorytmów: Algorytm 1 a = (x 2), f 1 (x) = a 4 ; 10

Algorytm 2 f 2 (x) = x x x x... + 16. Matematycznie f 1 f 2, ale wyniki obliczone w arytmetyce zmiennopozycyjnej mog si ró»ni. Narysuj wykresy obu funkcji i policz bª d f 1 (x) f 2 (x), czyli max k f 1 (x(k) f 2 (x(k)). Tu x(k) = 2 a + k h dla h = a/500. Wektor x mo»na utworzy w octavie przy pomocy funkcji octave'a linspace(). Zadanie 7 Powtórz poprzednie zadanie dla arytmetyki pojedynczej precyzji, tzn. powtórz obliczenia wielomianu (x 2) 4 = x 4... + 16 na odcinku [2 a, 2 + a] dla a = 10 3, 10 2, 10 4 dla zmiennych w pojedynczej precyzji uzyskanych za pomoc funkcji octave'a: single (x). Narysuj wykresy wielomianu obliczanego obydwoma algorytmami. Zadanie 8 Przybli»enie exp(x) z rozwini cia w szereg k=0 xk /k!. Za odpowiedni aproksymacje exp(x) bierzemy najpierw sto pierwszych elementów szeregu czyli przybli»amy exp(x) przez F N (x) = N k=0 x k k!, dla N = 100, a potem przybli»amy przez tysi c elementów szeregu, czyli ustalamy N = 1000. Sprawd¹ bª d wzgl dny F N (x) exp(x) / exp(x) dla x od 100 do 100 (np. dla liczb ró»ni cych si o dziesi, czyli 100 +k 10 dla k = 0,..., 20) dla obu warto±ci N. Czy bª dy dla liczb ujemnych i dodatnich s tego samego rz du? Jak zmodykowa powy»sz metod przybli»onego obliczania funkcji eksponencjalnej exp(x) dla x << 0 tak aby bª d wzgl dny byª na tym samym poziomie co dla x > 0? Zadanie 9 Policz caªki I n = 1 0 xn /(5+x)dx n = 0,.., 20 dwoma algorytmami ze wzoru I n + 5 I n 1 = 1/n 11

Pierwszy algorytm przyjmuje I 0 = log(6/5) i oblicza z powy»- szego wzoru kolejne dla n = 1, 2, 3,.... I n = 1/n 5 I n 1 Drugi algorytm wykorzystuje fakt,»e 1 (n + 1)6 I n 1 (n + 1)5 (3.1) W tym algorytmie przyjmujemy za I 30 jak kolwiek warto± z tego przedziaªu np. I 30 = 1/180 i iterujemy w tyª, tzn. dla n = 30, 29,..., 20,..., 0 obliczamy I n 1 = 1 5 (1/n I n). Porównaj wyniki obu algorytmów dla 0 n 20 oraz sprawd¹ czy wyniki otrzymane w octave'ie speªniaj oszacowanie (3.1) dla n = 1,..., 20. Dlaczego jeden z algorytmów dziaªa zdecydowanie lepiej w arytmetyce zmiennopozycyjnej? Jako dodatkowe zadanie teoretyczne pozostawimy uzasadnienie wzoru rekurencyjnego i oszacowania (3.1) wykorzystywanych w algorytmach. Zadanie 10 Zastosuj algorytm bisekcji (algorytm poªowienia odcinka) dla funkcji (x 2) 3 liczonej z wzoru na rozwini cie dwumianu x 3... 8 startuj c z a = 2 10 3 a b = 2 + 10 3. Jako warunek zako«- czenia dziaªania algorytmu przyjmujemy,»e bª d jest mniejszy od 10 20 (za przybli»enie rozwi zania przyjmujemy ±rodek danego odcinka w metodzie bisekcji, czyli warunkiem zako«czenia iteracji jest to,»e dªugo±ci odcinka, w którym jest rozwi zanie powinna by mniejsza od 2 10 20 ). Czy algorytm zwraca przybli»enie liczby dwa jedynego pierwiastka tego wielomianu? Narysuj wykresy tej funkcji obliczone z obu wzorów. tzn. (x 2) 3 i x 3... 8 na odcinkach 2 + [ h, 2 h] dla h = 10 3, 10 4, 10 5. Czy z wykresów wynika,»e ten wielomian ma tylko jedno miejsce zerowe w otoczeniu dwa? 12

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, speªniaj cego n + 1 warunków interpolacyjnych. W octave'ie istnieje funkcja znajduj ca wspóªczynniki wielomianu interpolacyjnego Lagrange'a. Jest to funkcja polyt(), czyli funkcja obliczaj ca wspóªczynniki wielomianu interpolacyjnego w bazie pot gowej dla zadanych warto±ci i w zªów. Z kolei funkcja polyval() jest funkcj obliczaj c warto± wielomianu zadanego poprzez wspóªczynniki w bazie pot gowej w jednym lub równocze±nie wielu punktach - czyli wektorowo. Co wa»ne, obie funkcje s ze sob zgodne. Trzeba uwa»a na kolejno± wspóªczynników; octave numeruje wspóªczynniki w bazie pot gowej (x j ) n j=0 przestrzeni wielomianów stopnia nie wi kszego od n w odwrotnej kolejno±ci tzn. (x n, x n 1,..., 1) czyli np. wektor wspóªczynników (3, 2, 1) odpowiada wielomianowi 3x 2 +2x+ 1. Oczywi±cie stopnie«wielomianu, a dokªadniej: dla jakiego n rozpatrujemy baz pot gow dla tego wektora, jest dªugo±ci wektora wspóªczynników pomniejszon o jeden. Zadanie 1 Zapoznaj si z pomoc octave'a do funkcji octave'a polyval(). Oblicz warto± wielomianu x 50 1 dla x = 1, 0, 1. Zadanie 2 Korzystaj c z funkcji polyval() narysuj wykres wielomianu x 3 + x 2 bez wykorzystania p tli - czyli wektorowo. 13

Zadanie 3 Zadanie 4 Test funkcji polyt(). Zapoznaj si z pomoc octave'a do funkcji octave'a polyt(). Wykorzystuj c funkcj polyt() znajd¹ wielomian interpolacyjny L n F dla funkcji F (x) = sin(x) dla w zªów 1, 0, 1. Policz warto- ±ci ró»nicy F L n F w w zªach oraz korzystaj c z funkcji plot() narysuj wykresy F i L n F na jednym rysunku. Wykonaj powtórnie to zadanie ale dla w zªów 1, 0, 1, 10. Oblicz warto±ci wielomianu bez u»ycia p tli z wykorzystaniem funkcji polyval(). Interpolacja Lagrange'a - zbie»no± ci gu wielomianów interpolacyjnych dla w zªów równoodlegªych i w zªów Czebyszewa: Wykorzystuj c funkcj polyt() znajd¹ wielomiany interpolacyjne L N f dla funkcji f = sin() dla N w zªów równoodlegªych na [0, 2 π] dla N = 4, 8, 16, 32, 64. Oblicz dyskretn norm maksimum ró»nicy f L N f na siatce tysi ca równoodlegªych punktów na tym odcinku, tzn. e N = max f(x k ) L N f(x k ), gdzie x k to punkty siatki. Policz stosunek e N /e 2N dla N < 64. Czy bª dy malej do zera? Jak zachowuje si e N /e 2N? Siatk tysi ca równoodlegªych punktów na odcinku [a, b] najpro±ciej utworzy z wykorzystaniem funkcji octave'a: linspace(a,b,1000). Narysuj na ekranie wykresy sin(x) i tych wielomianów dla ró»nych N - u»ywaj c funkcji polyval() i plot(). Zadanie 5 Zadanie 6 Powtórz zadanie 4 dla tej samej funkcji i tego samego odcinka dla w zªów Czebyszewa. W zªy Czebyszewa to pierwiastki wielomianu: T n+1 (t) = cos((n + 1)arccos(t)) na [ 1, 1] odpowiednio przesuni te i przeskalowane. Przetestuj, czy bª dy e N dla w zªów Czebyszewa s mniejsze ni» dla w zªów równoodlegªych. Napisz funkcj znajduj c wspóªczynniki w bazie pot gowej wielomianu interpolacyjnego zadanego stopnia dla w zªów równoodlegªych oraz w zªów Czebyszewa dla danej funkcji, odcinka [a, b], tzn. napisz funkcj octave'a (w m-pliku): 14

function [LN, en]= LagrInterp (FCN, a, b,n, type=0) która dla parametrów: zadanego wska¹nika funkcyjnego FCN (ang. function handle) do funkcji jednego argumentu: function y=f(x), a, b - ko«ców odcinka [a, b], N - stopnia wielomianu interpolacyjnego type - typu w zªów 0 - równoodlegªych, 1 - Czebyszewa zwróci wektor LN - wspóªczynniki L N f wielomianu interpoluj cego funkcj w tych w zªach oraz en przybli»enie dyskretnej normy maksimum ró»nicy L N f f na tym odcinku. Przybli»enie normy maksimum liczymy na dyskretnej siatce zawieraj cej tysi c punktów. Zadanie 7 Powtórz zadanie 4 dla obu typów w zªów, tzn. powtórz znajdowanie wielomianów interpolacyjnych na w zªach równoodlegªych i w zªach Czebyszewa dla funkcji f(x) = log(1 + x) na odcinkach [0, 1], [0, 10]. Czy dla tej funkcji i obu odcinków bª dy w normach maksimum malej wraz ze wzrostem N? Porównaj wyniki otrzymane w tym zadaniu w obliczeniach z oszacowaniami teoretycznymi bª du interpolacji Lagrange'a. Zadanie 8 Interpolacja Lagrange'a - przykªad Rungego. Powtórz zadanie 4 dla obu typów w zªów, tzn. znajdowanie wielomianów interpolacyjnych na w zªach równoodlegªych i w zªach Czebyszewa, ale dla funkcji: f(x) = 1/(1 + x x) na [ 5, 5]. Czy obliczone wyniki wskazuj na to,»e obliczone ci gi wielomianów interpolacyjnych zbiegaj do f jednostajnie dla obu typów w zªów? 15

Zadanie 9 Napisz funkcj octave'a obliczaj c warto± wielomianu zadanego w bazie pot gowej tzn. w(x) = n a k x k k=0 algorytmem Hornera. Parametrami funkcji b d wektor wspóªczynników a macierz warto±ci x. N - stopnie«wielomianu (to mo»e by parametr opcjonalny, domy±lnie przyjmuj cy warto± równ dªugo±ci wektora a minus jeden) Funkcja ma zwróci warto±ci wielomianu dla warto±ci w x. Przetestuj funkcj dla wielomianów 1 + x 2 oraz 1 2x + x 2 dla w zªów równoodlegªych na [ 1, 2], tzn. policz warto±ci wielomianów dla kilku warto±ci oraz narysuj wykresy tych wielomianów z wykorzystaniem tej funkcji. Zadanie 10 Napisz funkcj octave'a znajduj c dla danego wielomianu stopnia n: n w(x) = a k x k k=0 oraz danej liczby q wspóªczynniki (b k ) n k=0 wielomianu oraz warto± r takie,»e n 1 p(x) = b k x k k=0 w(x) = (x q) p(x) + r, obliczone z wykorzystaniem algorytmu Hornera. Zadanie 11 Napisz funkcj octave'a znajduj c dla danego wielomianu stopnia n: n w(x) = a k x k oraz liczby q warto± w(q) i pochodnej w (q), obliczone z wykorzystaniem algorytmu Hornera. k=0 16

Zadanie 12 Algorytm Hornera w bazie Newtona. Ró»nice dzielone. Zaprogramuj w octavie funkcj ze zmodykowanym algorytmem Hornera zwracaj c warto± wielomianu zadanego w bazie Newtona dla danych w zªów. Parametrami b d x punkt, w którym obliczamy wielomian (ewentualnie tablica punktów, ale wtedy funkcja te» musi zwróci wektor z warto±ciami wielomianu w tych punktach), N - stopnie«wielomianu, wektor dªugo±ci N + 1 ze wspóªczynnikami wielomianu w bazie Newtona. Przetestuj na kilku prostych przykªadach: dla w zªów 1, 0, 1 i wielomian w(x) = x 2, który w bazie Newtona zwi zanej z tymi w zªami ma nast puj c posta : x 2 = (x + 1)x (x + 1) + 1. Zadanie 13 Napisz funkcj octave'a, która dla danego wielomianu w(x), którego wspóªczynniki w bazie pot gowej znamy, oblicza wspóªczynniki tego wielomianu w bazie Newtona dla zadanych w zªów podanych w wektorze y. Tzn. parametrami funkcji b d : wektor a = (a k ) k taki,»e w(x) = n a k x k k=0 y = (y k ) k wektor wspóªczynników bazy Newtona. Zadanie 14 Funkcja powinna zwróci wektor wspóªczynników b k takich,»e n w(x) = b k w k, gdzie k=0 w k (x) = Π k 1 j=0 (x y j). Napisz funkcj, która dla danego wielomianu w(x), którego wspóªczynniki w bazie Newtona (w k ) n k=0 znamy, oblicza wspóªczynniki tego wielomianu w bazie pot gowej (1, x, x 2,..., x n ). Tzn. parametrami funkcji jest wektor wspóªczynników b = (b k ) k takich,»e n w(x) = b k w k k=0 17

i wektor y = (y k ) k w zªów bazy Newtona (w k ) n k=0 dla w k (x) = Π k 1 j=0 (x y j). Funkcja ma zwróci wektor wspóªczynników a = (a k ) k takich,»e w(x) = n a k x k. k=0 Zadanie 15 Sprawd¹ eksperymentalnie ile wynosi dla ró»nych warto±ci N = 4, 8, 16, 32, 64,... przybli»enie: A r,n = N l k,[ 1,1] k=0 dla {l k } N k=0 bazy Lagrange'a dla w zªów równoodlegªych na [ 1, 1], tzn. dla x k = 1 + k h dla h = 2/N. Norm maksimum funkcji f,[a,b] liczymy w sposób przybli»ony obliczaj c dyskretn norm maksimum na max{1000, 100 N} równoodlegªych punktach z odcinka [a, b]. Zadanie 16 Sprawd¹ eksperymentalnie ile wynosi dla ró»nych N np. przybli»enie: N = 4, 8, 16, 32, 64,... A c,n = N l k,[ 1,1] k=0 dla {l k } N k=0 bazy Lagrange'a dla w zªów Czebyszewa na [ 1, 1], tzn. dla x k zer wielomianu T N+1 (x) = cos((n + 1)arccos(x)). Norm maksimum funkcji f,[a,b] liczymy w sposób przybli»ony obliczaj c dyskretn norm maksimum na max{1000, 100 N} równoodlegªych punktach z odcinka [a, b]. Zadanie 17 Powtórz dwa poprzednie zadania dla w zªów równoodlegªych i w zªów Czebyszewa na odcinku [0, 10] i dla odpowiedniej normy maksimum na tym odcinku. Zadanie 18 Policz iloraz L N f,[ 5,5] N k=0 l k,[ 5,5] 18

dla f = 1/(1+x 2 ) i L N f wielomianu interpoluj cego f w w zªach równoodlegªych na [ 5, 5] dla N = 10, 20, 40, 80. Tutaj {l k } N k=0 baza Lagrange'a dla tych w zªów. Norm maksimum funkcji f,[a,b] liczymy w sposób przybli»ony obliczaj c dyskretn norm maksimum na max{1000, 100 N} równoodlegªych punktach z odcinka [a, b]. Zadanie 19 Powtórz poprzednie zadanie dla tych samych funkcji i odcinka dla w zªów Czebyszewa zamiast w zªów równoodlegªych. 19

s(x 1 ) = y 1. Rozdziaª 5 Splajny kubiczne i liniowe. Interpolacja splajnowa W tym rozdziale zajmiemy si interpolacj splajnow, czyli interpolowaniem danej funkcji za pomoc splajnów - inaczej funkcji gi tych. Skupimy si na splajnach kubicznych, czyli funkcjach, które s klasy C 2 na odcinku [a, b] i dla danego podziaªu tego odcinka: a = x 0 < x 1... < x N = b na pododcinki. Te funkcje obci te do ka»dego pododcinka [x i, x i+1 ] s wielomianami kubicznymi. Zadanie interpolacji splajnami kubicznymi polega na znalezieniu spaljnu kubicznego s speªniaj cego: s(x 0 ) = y 0 s(x N ) = y N dla zadanych warto±ci y k. Okazuje si,»e tak postawione zadanie nie jest jednoznaczne; trzeba doda dwa dodatkowe warunki na s. Zazwyczaj s to odpowiednie warunki brzegowe, tzn. zwi zane z warto±ciami s, pierwszych lub drugich pochodnych s w ko«cach odcinka. Zadanie 1 Funkcje octave'a spline() and ppval. Zapoznaj si z pomoc do tych funkcji (help spline i help ppval). Wykorzystuj c te funkcje narysuj wykres splajnu kubicznego s 1 na podziale równomiernym odcinka [ 3, 3] z w zªami {x k = k} 20

dla k = 3, 2,..., 3 przyjmuj cego warto±ci s 1 (x k ) = ( 1) k w tych w zªach. Nast pnie znajd¹ wspóªczynniki splajnu kubicznego s 2 na tym samym podziale odcinka i przyjmuj cego te same warto±ci w w zªach co s 1, ale który dodatkowo przyjmuje warto±ci pochodnych w ko«cowych w zªach równe zero, tzn. wywoªaj funkcje spline() podaj c dwie warto±ci wi cej. Nast pnie narysuj wykresy splajnów s 1 i s 2 na tym samym rysunku. Czy otrzymali±my te same splajny? Policz przybli»on norm maksimum ró»nicy s 1 s 2 na odcinku [ 3, 3]. Zadanie 2 Zadanie 3 Zadanie 4 Splajn kubiczny bazowy. Dla danych w zªów równoodlegªych {k} k= 5, 4,...,5 na [ 5, 5] narysuj wykres splajnu kubicznego typu not-a-knot (czyli splajnu, którego wspóªczynniki zwróci funkcja spline() przy najprostszym wywoªaniu przez podanie wektora w zªów i wektora warto±ci w tych w zªach, por. help spline) takiego,»e s(0) = 1 i s(k) = 0 dla w zªów k 0. Okre±l na podstawie wykresu no±nik tego splajnu. Splajn kubiczny o minimalnym no±niku. Dla danych w zªów równoodlegªych {k} k= 5, 4,...,5 na [ 5, 5] narysuj wykres splajnu kubicznego takiego,»e s( 1) = s(1) = 1, s(0) = 4 i s(k) = 0 dla w zªów k { 1, 0, 1} oraz ma pochodne równe zero w w zªach skrajnych, tzn. : 5 i 5. Czy poza [ 2, 2] ten splajn jest równy zero? Policz przybli»one normy maksimum na [ 5, 2] i [2, 5] dla tego splajnu. Testowanie eksperymentalne rz du zbie»no±ci splajnu interpolacyjnego kubicznego z hermitowskimi warunkami brzegowymi. Korzystaj c z funkcji octave'a spline() znajd¹ wspóªczynniki interpolacyjnego splajnu kubicznego hermitowskiego S N na N w zªach równoodlegªych dla funkcji f(x) = sin(x) na odcinku [ π, 2 π] dla N = 2 k N 0 dla N 0 = 5 i k = 1, 2, 3, 4, 5. Nast pnie 21

narysuj wykresy funkcji f(x) i splajnów S N dla ró»nych N. oblicz dyskretn norm maksimum na siatce równomiernej zªo»onej z tysi ca punktów na tym odcinku, tzn. e N = max k sin(x k ) S N (x k ) dla x k punktów siatki. policz równocze±nie wspóªczynnik e N e2n. Czy prawd jest,»e e N e 2N 2 p dla jakiego± p caªkowitego np. p = 4, 8 lub 16? Zadanie 5 Zadanie 6 Zadanie 7 Testowanie eksperymentalne rz du zbie»no±ci splajnu interpolacyjnego kubicznego bez warunków brzegowych (splajn typu not a knot). Powtórz zadanie 4, ale dla splajnów interpolacyjnych otrzymanych przez spline() bez podawania warto±ci pochodnych w skrajnych w zªach. Czy wspóªczynniki N e e 2N s te same? Tzn. czy szybko± zbie»no±ci sin(x) S N jest taka sama? Testowanie eksperymentalne rz du zbie»no±ci splajnu interpolacyjnego kubicznego naturalnego (warunek brzegowy - zerowanie si drugich pochodnych w ko«cach odcinka). Powtórz zadanie 4, ale dla splajnów interpolacyjnych naturalnych. Tu trzeba wykorzysta funkcj z octave-forge (czyli rozszerzenia pakietu octave) pp=csape(x,y,'variational') - ostatni argument okre±la to,»e splajn b dzie naturalny. Podajemy link do strony www z pomoc do funkcji csape(): http://octave.sourceforge.net/splines/function/csape.html Przykªad Rungego, czyli f(x) = 1/(1 + x x) i odcinek [ 5, 5], a zbie»no± interpolacji splajnami kubicznymi. Przetestuj jak w poprzednich zadaniach, czy splajny interpolacyjne kubiczne z podanymi warunkami na pochodne w ko«cach odcinka zbiegaj w normie supremum do f, tzn. korzystaj c z funkcji octave'a spline() znajd¹ wspóªczynniki splajnu interpolacyjnego kubicznego S N na N w zªach równoodlegªych dla f na odcinku [ 5, 5] dla N = 2 k N 0 dla N 0 = 5 i k = 1, 2, 3, 4, 5 oraz narysuj wykresy f i tych splajnów dla ró»nych N. 22

Nast pnie oblicz dyskretn norm maksimum na siatce zªo»onej z tysi ca punktów na tym odcinku, tzn. e N = max sin(x k ) S N sin(x k ) dla x k = 5 + k 0.01 z k = 0,..., 1000. Policz równocze±nie wspóªczynnik e N e2n. Czy e N e2n p caªkowitego? 2 p dla jakiego± Zadanie 8 Zadanie 9 Funkcja octave'a mkpp(). Zapoznaj si z t funkcj (help mkpp()). Utwórz przy pomocy mkpp() splajn kubiczny s na podziale 1 0 1 odcinka [ 1, 1] taki,»e s jest wielomianem trzeciego stopnia na caªym odcinku [ 1, 1] np. s(x) = x 2 lub (x + 1) 3. Funkcja octave'a umkpp(). Zapoznaj si z t funkcj (help umkpp()). Utwórz przy pomocy spline() splajn kubiczny s na podziale 1 0 1 odcinka [ 1, 1] taki,»e s interpoluje wielomian trzeciego stopnia na caªym odcinku [ 1, 1] np. f(x) = (x + 1) 3. Nast pnie sprawd¹ wspóªczynniki s w bazie {(x x k ) j } j=0,1,2,3 za pomoc umkpp() na obu przedziaªach, tzn. dla x 0 = 1 na przedziale [ 1, 0] i x 1 = 0 na [0, 1]. Zadanie 10 Zadanie 11 Znajd¹ za pomoc funkcji octave'a umkpp() wspóªczynniki splajnu z zadania 3 na wszystkich pododcinkach [k, k + 1] w bazie {(x k) j } j=0,...,3 dla k = 2,..., 1 czyli tam, gdzie ten B-splajn ma no±nik. Porównaj z wynikami otrzymanymi teoretycznie. Interpolacja splajnami liniowymi. Dla danego równomiernego podziaªu odcinka [ π, 2 π] na N pododcinków utwórz za pomoc mkpp() struktur splajnu liniowego s n interpoluj cego funkcj sin(x) w w zªach dla N = 3, 6, 9, 18. Narysuj wykresy funkcji sin(x) oraz tych splajnów liniowych na jednym wykresie Policz przybli»one normy maksimum (na 1000 punktach z tego odcinka) bª du e N = sin s n. Policz wspóªczynnik e N e2n. Czy wida,»e e N e 2N 2 p dla jakiego± p caªkowitego np. p = 2, 4 lub 8? 23

W tym zadaniu mo»na wykorzysta funkcj z nast pnego zadania, tj. zadania 12. Zadanie 12 Napisz w octavie funkcj function pp=linspline(x,y), która dla x wektora N + 1 ró»nych w zªów uszeregowanych (a = x 0 < x 1... < x N = b) y - wektora N + 1 warto±ci funkcji y = f(x) zwróci w strukturze pp wspóªczynniki splajnu liniowego s dla podziaªu zadanego w zªami x k. Struktur nale»y utworzy funkcj octave'a mkpp() w taki sposób, aby mo»na byªo obliczy warto± tego splajnu w punkcie (tablicy punktów) za pomoc funkcji octave'a ppval(). Zadanie 13 Testowanie rz du zbie»no±ci interpolacji splajnami liniowymi w zale»no±ci od gªadko±ci funkcji. Dla funkcji f j (x) = (x) j + = { 0 x < 0 x j x > 0 j = 1, 2, 3 oraz dla podziaªu odcinka [a, b] z a = π i b = 3 na w zªy równoodlegªe {x k = π + k h} dla h = (b a)/n i N = 4, 8, 16, 32, 64. Przetestuj rz d zbie»no±ci splajnu liniowego interpolacyjnego. Bardziej szczegóªowo: przy pomocy funkcji octave'a z zadania 12 znajd¹ wspóªczynniki odpowiedniego splajnu liniowego s N f j. policz przybli»on norm maksimum bª du (na 1000 równomiernych punktach), tzn. przybli»enie policz wspóªczynniki e N = s N f j f j,[a,b]. e N e 2N. Czy wida,»e e N e 2N 2 p dla jakiego± p caªkowitego np. p = 2, 4 lub 8? Czy wida ró»nic dla ró»nych j? 24

Rozdziaª 6 Wielomiany Czebyszewa Wielomiany Czebyszewa deniujemy rekurencyjnie: T 1 0, T 0 1 oraz T n+1 (x) = 2xT n (x) T n 1 (x) (6.1) albo ze wzoru: T n (x) = cos(n arccos(x)) x [ 1, 1]. (6.2) W tym rozdziale przetestujemy podstawowe wªasno±ci tych wielomianów. Zadanie 1 Napisz rekurencyjn funkcj octave'a obliczaj c warto± wielomianu zadanego poprzez wspóªczynniki w bazie Czebyszewa wprost ze wzoru rekurencyjnego (6.1), tzn. parametrami funkcji b d : x argument dla którego chcemy obliczy warto± wielomianu a - wektor zawieraj cy wspóªczynniki a 0,..., a n takie,»e w(x) = n k=0 a kt k (x). n - stopie«wielomianu (parametr opcjonalny, mo»na t warto± uzyska z wektora a) Funkcja octave'a ma zwróci warto± w(x). Przetestuj t funkcj dla w(x) = T 15 (x), tzn. narysuj dwa wykresy T 15 (x) raz korzystaj c z tej funkcji oraz drugi raz korzystaj c wprost ze wzoru (6.2). Zadanie 2 Napisz nierekurencyjn funkcj octave'a function [Y]=Czebyszew (X, a, n) 25

obliczaj c warto± wielomianu zadanego poprzez wspóªczynniki w bazie Czebyszewa z wzoru (6.1), tzn. parametry wej±ciowe funkcji to: macierz X = (x ij ) ij, wymiaru k l wektor wspóªczynników takich,»e a = [a 0,..., a n ] w(x) = n a k T k (x). k=0 n stopie«wielomianu; ten parametr mo»e by opcjonalny, je±li go nie podamy to funkcja powinna przyj,»e n to wymiar wektora wspóªczynników minus jeden. Funkcja octave'a powinna zwróci macierz Y = (y ij ) ij, wymiaru k l z warto±ciami y ij = w(x ij ). Funkcja ma korzysta z wzoru rekurencyjnego (6.1), ale jako funkcja octave'a ma by nierekurencyjna. Koszt algorytmu powinien wynosi k l O(n). Narysuj dwa wykres T 3 (x) - jeden korzystaj c z tej funkcji oraz drugi - ze wzoru (6.2). Zadanie 3 Zadanie 4 Sprawd¹ obliczeniowo, czy powy»sze wzory na wielomiany Czebyszewa: wzór deniuj cy wielomiany Czebyszewa rekurencyjnie (6.1) i (6.2), s zgodne na odcinku [ 1, 1]. Tzn. dla du»ej ilo±ci np. 10000 losowych punktów na [ 1, 1] policz warto±ci T 32 ze wzoru T 32 (x) = cos(32 arccos(x)) oraz ze wzoru rekurencyjnego (6.1). Policz maksimum warto±ci absolutnych z ró»nicy mi dzy warto- ±ciami wielomianu obliczonymi obiema metodami. Porównaj czas obliczania warto±ci tego wielomianu obydwoma wzorami. Powtórz testy ale dla wielomianów innych stopni, np. T 7, T 50. Narysuj korzystaj c z wzoru T n (x) = cos(n arccos(x)) 26

wykres wielomianów T n dla n = 0, 1, 2, 3, 4, 5. Policz dyskretn norm maksimum na siatce. Czy wynosi jeden? Policz na wykresie zera oraz ekstrema ka»dego z wielomianów. Zadanie 5 Wyznacz zera i ekstrema T 10 i T 15 ze wzoru T n (x) = cos(n arccos(x)). Sprawd¹ warto±ci tych wielomianów w jego zerach i ekstremach. Zadanie 6 Zadanie 7 Sprawdzenie wªasno±ci optymalno±ci zer wielomianu Czebyszewa jako w zªów interpolacji Lagrange'a. Chcemy eksperymentalnie sprawdzi, czy wielomian 2 n T N+1 (x) ma minimaln norm supremum na [ 1, 1] w±ród wszystkich wielomianów postaci Π N k=0 (x x k). Policz dla N + 1 ró»nych losowych w zªów x k, k = 0,..., N z odcinka [ 1, 1] dla N = 2, 4, 8, 16, 32 i kilkuset ró»nych losowych zestawów przybli»on norm supremum wielomianu Π n k=0 (x x k). Przeprowad¹ testy równie» dla w zªów Czebyszewa (czyli zer T N+1 ) oraz w zªów równoodlegªych dla tego samego N. Sprawdzenie wªasno±ci ekstremalnej wielomianów Czebyszewa. Z teorii wiadomo,»e wielomian 2 n T N+1 (x) ma minimaln norm supremum na [ 1, 1] w±ród wszystkich wielomianów postaci w(x) = x n+1 + n a k x k. Chcemy sprawdzi eksperymentalnie, czy ta wªasno± si potwierdzi. Policz dla N + 1 losowych wspóªczynników a k dla k = 0,..., N przybli»on norm supremum wielomianu: w(x) = x n+1 + k=0 n a k x k. Przetestuj dla N = 2, 4, 8, 16, 32 i co najmniej kilku tysi cy ró»- nych losowych zestawów w zªów. W zªy losujemy funkcj randn() zwracaj c liczby losowe o rozkªadzie normalnym. k=0 Zadanie 8 Sprawdzenie wªasno±ci ekstremalnej wielomianów Czebyszewa przyjmuj cych ustalon warto± poza [ 1, 1]. 27

Chcemy sprawdzi, czy dla dowolnego punktu a = 2 i b 1 wielomian w (x) = T n (x)/t n (2) ma minimaln norm supremum na [ 1, 1] w±ród wszystkich wielomianów w stopnia nie wi kszego od n+1 przyjmuj cych warto± b w punkcie a. Policz dla n losowych wspóªczynników a k z k = 1,..., n dla n = 2, 4, 8, 16, 32 i co najmniej kilku tysi cy ró»nych losowych zestawów w zªów przybli»on norm supremum wielomianu n w(x) = 1 + a k (x 2) k k=1 i porównaj z norm supremum w na [ 1, 1] równ 1/T n (2) (dlaczego tyle ona wynosi?). W zªy losujemy funkcj randn() zwracaj c liczby losowe o rozkªadzie normalnym. Zadanie 9 Zadanie 10 Funkcja octave'a sªu» ca przybli»onemu obliczaniu caªek po odcinkach (zadanie pomocnicze) Zapoznaj si z funkcj octave'a quad(). Policz caªk przy pomocy funkcji quad() z sin(x) na [ π, 2 π]. (trudne) Iloczyn skalarny typu L 2 w(a, b). Napisz funkcj octave'a: function [ nl2 ]=IlSkL2w (FCN,GCN, a, b,fcnw) komendy octave ' a nl2 =.... endfunction która oblicza iloczyn skalarny typu L 2 w(a, b) z wag w(x) tzn.: (f, g) L 2 w (a,b) = b a f(x)g(x)w(x) dx dla danej funkcji wagowej w(x) i funkcji f, g. Parametry funkcji to: 28

wska¹niki do funkcji F CN, GCN do dwóch funkcji octave'a function y=f ( x ) y =...... endfunction function y=g ( x ) y =...... endfunction obliczaj cych odpowiednio warto±ci funkcji f(x) i g(x) dla x [a, b]. a, b - ko«ce odcinka caªkowania [a, b], F CNW to wska¹nik do funkcji wagowej function y=w( x ) y =...... endfunction Funkcja powinna zwróci przybli»enie iloczynu skalarnego obliczone za pomoc funkcji octave'a quad(). W przypadku wywoªania funkcji IlSkL2() tylko z czterema pierwszymi argumentami (tzn. bez podania wska¹nika do wagi) funkcja powinna zwróci iloczyn skalarny z wag w 1. Zadanie 11 Ortogonalno± wielomianów Czebyszewa w L 2 1 ( 1, 1). 1 x 2 Sprawd¹ eksperymentalnie w octavie, np. za pomoc funkcji quad() lub wªasnej funkcji z poprzedniego zadania, czy wielomiany Czebyszewa tworz ukªad ortogonalny w L 2 1 ( 1, 1), 1 x 2 tzn. czy prawd jest,»e 29

1 1 1 0 m n, T n (x)t m (x) dx = π m = n > 0, 1 x 2 2 π m = n = 0. Sprawd¹ powy»sze zale»no±ci dla ró»nych m, n ró»nej wielko±ci np. dla m = 0, 1, 2, 3, 100, 1000 i n = 0, 3, 10, 500, 1004. 30

Rozdziaª 7 Kwadratury Zadania z tego rozdziaªu sªu» przetestowaniu najprostszych kwadratur numerycznych, czyli metod przybli»onego obliczania caªek po odcinkach. W tym rozdziale zapoznamy si tak»e z funkcj octave'a quad() sªu» c przybli»onemu obliczaniu caªek jednowymiarowych postaci b a f(t) dt a < b +, Mo»emy wi c znajdowa przybli»enia caªek po caªej prostej rzeczywistej czy póªprostych. Zadanie 1 Zapoznaj si z pomoc do funkcji octave'a quad(). Policz przy pomocy quad() caªk b f(t) dt dla nast puj cych a funkcji i odcinków: x 2 na [ 1, 1] x 9 na [0, 1] sin(x) na [0, π] cos(100 x) na [0, π] cos(100 x) cos(1000 x) na [0, π] Czy wyniki s zgodne z teori? Zadanie 2 Zªo»ona kwadratura trapezów. (a) Zaprogramuj w octavie funkcj function c=kwadtrapez(fcn,a,b,n) 31

obliczaj c zªo»on kwadratur trapezów: ( ) n 1 T n f = h 0.5[f(a) + f(b)] + f(a + k h) dla h = (b a)/n. Parametry funkcji: k=1 F CN - wska¹nik do funkcji octave'a function y=f(x) obliczaj cej warto± funkcji podcaªkowej a - lewy koniec odcinka b - prawy koniec odcinka n - ilo± oblicze«warto±ci funkcji podcaªkowej w kwadraturze trapezów minus jeden (tak, jak we wzorze powy»ej) Funkcja zwraca przybli»on warto± caªki obliczon za pomoc powy»szego wzoru, tzn. zªo»onej kwadratury trapezów. Funkcja powinna dziaªa równie» je±li j wywoªamy tylko z trzema parametrami. Wtedy n powinno domy±lnie przyj warto± sto. (b) Przetestuj funkcj octave'a z poprzedniego podpunktu dla N k = 2 k N 0 k = 0, 1, 2,... z ustalonym N 0 = 5 licz c: dla bª du E N = E N E 2N b a f dt T N f dla nast puj cych funkcji, dla których warto±ci caªek znamy: x 2 na [0, 1], sin(x) na [0, π] i N 0 = 5 - funkcja analityczna, sin(100 x) na [0, π] i N 0 = 5 - funkcja analityczna, silnie oscyluj ca - du»e warto±ci drugiej pochodnej, x j+0.5 na [0, 1] dla j = 0, 1, 2 czyli funkcji w C j ([0, 1]) i o nieograniczonej w otoczeniu zera j + 1 pochodnej. Porównaj wyniki obliczane kwadratur trapezów z wynikami funkcji quad(). Mo»na sprawdzi dla jakiego n bª d 32

obliczony zªo»on kwadratur trapezów jest na poziomie bª du funkcji octave quad() - i porówna ilo± wywoªa«funkcji f przez obie procedury. Zadanie 3 Czy wielomiany Czebyszewa tworz ukªad funkcji ortogonalnych w L 2 1 na [ 1, 1] z wag 1 x 2. Policz za pomoc funkcji octave quad(): 1 1 1 1 x x T n (x)t m (x) dx dla m = 2 i n = 3. Czy wynik jest zgodny z teori? Zadanie 4 Kwadratura Gaussa-Czebyszewa dla czyli GC n+1 f = π n + 1 I(f) = 1 1 n f(x k ) = k=0 1 f(x) dx 1 x 2 π n + 1 n f k=0 ( cos dla x k zer T n+1 - n + 1 wielomianu Czebyszewa. ( )) 0.5 π + kπ n + 1 Zaimplementuj funkcj function c=gaussczeb(fcn,n) obliczaj c warto± kwadratury GC n f. Parametry - wska¹nik do funkcji function y=f(x) i ilo± punktów kwadratury. Przetestuj jej dziaªanie: policz przybli»enia caªek I(Tk 2). Czy GC n(tk 2 ) przybli»a π/2 dla k > 0 dla n = 20, 40, 80? policz przybli»enie caªki z wielomianów ró»nych stopni dla n = 4, 10, 20 - czy kwadratura jest dokªadna dla wielomianów Czebyszewa stopnia 0 < k < 2n (tzn. czy zwraca zero)? dla funkcji matematycznej f(x) = exp(arccos(x)), której caªk z t wag mo»emy obliczy dokªadnie. Porównaj warto± kwadratury z wynikiem dokªadnym dla n = 10, 20, 40, 80, tzn. policz e n = GC n (f) I(f) przyjmuj c za I(f) warto± dokªadn. 33

analogicznie do poprzedniego podpunktu tego zadania, porównaj wynik obliczony za pomoc kwadratury Gaussa - Czebyszewa, tzn. GC n (f), dla funkcji f(x) = exp(arccos(x)) z wynikiem obliczonym funkcj quad(). Wypisz na ekran e n = GC n (f) c dla c warto±ci uzyskanej za pomoc funkcji octave'a quad(). Przetestuj rz d zbie»no±ci tej kwadratury dla funkcji f(x) = exp(arccos(x)), jak w przypadku kwadratury trapezów, tzn. policz bª dy e n, analogicznie do poprzednich podpunktów i wypisz e n /e 2n. Zadanie 5 Zªo»ona kwadratura prostok tów. (a) Zaprogramuj w octave funkcj function c=kwadprost(fcn,a,b,n), która zwraca warto± zªo»onej kwadratury prostok tów dla funkcji f na odcinku [a, b] na n równoodlegªych punktach: n P n f = h f(a + (k 0.5) h)), k=1 h = (b a)/n. Parametry funkcji: F CN - wska¹nik do funkcji octave'a postaci function y=f ( x ) y =...... endfunction obliczaj cej warto± funkcji, której caªk chcemy obliczy, tj. f(x), w danym punkcie x. a, b - ko«ce odcinka, n - ilo± w zªów wykorzystywanych przez kwadratur. Funkcja zwraca przybli»on warto± caªki obliczon za pomoc powy»szego wzoru, tzn. zªo»onej kwadratury prostok tów. Funkcja powinna dziaªa równie» je±li j wywoªamy bez ostatniego parametru. Wtedy n powinno domy±lnie przyj ustalon warto±, np. dwie±cie. 34

(b) Testy dla funkcji, których caªki znamy. Przetestuj t funkcj octave'a kwadprost() dla N k = 2 k N 0 k = 0, 1, 2,... z ustalonym N 0 = 5 licz c: E N E 2N, E N = b a f dt P N f dla caªek z nast puj cych funkcji po odpowiednich odcinkach: x 2 na [0, 1] sin(x) na [0, π] i N 0 = 5 - funkcja analityczna, sin(100 x) na [0, π] i N 0 = 5 - funkcja analityczna silnie oscyluj ca (du»e warto±ci drugiej pochodnej), x j+0.5 na [0, 1] dla j = 0, 1, 2 czyli funkcji w C j ([0, 1]) i o nieograniczonej w otoczeniu zera j + 1 pochodnej. Porównaj wyniki obliczane kwadratur prostok tów z wynikami funkcji quad(). Zadanie 6 Porównaj wyniki obliczane kwadratur prostok tów z wynikami funkcji obliczaj cej caªk za pomoc zªo»onej kwadratury trapezów. Porównaj bª dy dla warto±ci N i f(x) z poprzedniego zadania - czyli caªek, których warto± teoretycznie znamy - z wynikami dla obu kwadratur: dla tej samej ilo±ci wywoªa«funkcji f, tzn. porównaj P N f z T N 1 f, porównaj obie kwadratury dla tego samego h, tzn. T N f z P N f, aby oceni bª d w terminach parametru h = (b a)/n. Zadanie 7 Kwadratura Romberga. (a) Zaprogramuj w octave funkcj function c=romberg(fcn,a,b,p,n0) z kwadratur Romberga R p,n0 obliczaj c przybli»enie caªki b f(t) dt. a Parametry funkcji: F CN wska¹nik do funkcji octave'a function y=f(x) obliczaj cej warto± funkcji podcaªkowej 35

a lewy koniec odcinka b prawy koniec odcinka p ilo± poziomów w kwadraturze Romberga N 0 startowa ilo± punktów w kwadraturze Romberga Funkcja zwraca przybli»on warto± caªki obliczon za pomoc kwadratury Romberga. Funkcja powinna dziaªa równie» je±li j wywoªamy tylko z trzema albo czterema parametrami. Parametr p powinien wtedy domy±lnie przyj warto± 5, a N0 warto± sto. (b) Przetestuj kwadratur Romberga dla caªki b f dt dla nast puj cych funkcji, odcinków i warto±ci parametrów N 0 i a p: sin(x) dla [0, π] sin(x) dla [0, 100 π] sin(10 x) dla [0, π] x j+0.5 na [0, 1] dla j = 0, 1, 2,..., 10, dla N0 = 100 i dla p = 2, 3, 4, 5, 6. Czy dla x i rosn cego p bª d maleje? Czy stosunek E N /E 2N maleje tak samo dla wszystkich funkcji? Tutaj u»yli±my oznaczenia na bª d E N = b a f dt R p,n0. 36

Rozdziaª 8 Rozwi zywanie równa«nieliniowych W poni»szych zadaniach przetestujemy jak dziaªaj cztery metody rozwi - zywania równa«nieliniowych skalarnych, tzn. metoda bisekcji, metoda Newtona, metoda siecznych i metoda iteracji prostych oraz dwie metody rozwi - zywania ukªadów równa«nieliniowych, czyli wielowymiarowa metoda Newtona i metoda iteracji prostych w najprostszej formie. Zapoznamy si równie» z funkcjami octave'a fzero() oraz fsolve () sªu-» cymi do rozwi zywania równa«nieliniowych skalarnych i ukªadów równa«nieliniowych. Zadanie 1 Zaimplementuj metod bisekcji w skrypcie - dla rozwi zania równania cos(x) = 0 na odcinku [0, 2]. Przetestuj, czy funkcja znajdzie dobre przybli»enie π/2. Zadanie 2 Przetestuj metod bisekcji z poprzedniego zadania do rozwi zania innych problemów: x 2 2 = 0 exp(x) = 2 cos(10 x) = 0 startuj c z odcinka [0, 110]. Zadanie 3 Napisz funkcj octave'a: function [ y, i t e r, kod]= b i s e k c j a (FCN, a, b,... tola, maxit ), 37

której parametrami b d wska¹nik do funkcji FCN (inaczej: function handle), a, b - ko«ce przedziaªu, tola -» dana tolerancja bezwzgl dna - bª d powinien by mniejszy od tola, maxit - maksymalna ilo± iteracji. Funkcja ma zwróci y - przybli»one rozwi zanie, iter - ilo± iteracji, kod - kod wyniku: 0 metoda zbiegªa, 1 - metoda zatrzymaªa si z powodu przekroczenia maksymalnej ilo±ci iteracji, 2 - warto±ci w ko«cach odcinka funkcji maj ten sam znak. Funkcja ma dziaªa równie» je±li podamy tylko trzy lub cztery pierwsze argumenty - wtedy maksymalna ilo± iteracji domy±lnie powinna wynosi sto, a tolerancja 10 5. Zadanie 4 Zapoznaj si z pomoc dla funkcji octave'a fzero() - rozwi zuj c skalarne równania nieliniowe, przetestuj j na kilku prostych przykªadach skalarnych np. cos(x) = 0, x 2 2 = 0, x 10 2 = 0, x sin(x) = 0 i innych prostych równaniach nieliniowych. Prosz przetestowa t funkcj dla ró»nych warto±ci pocz tkowego przedziaªu x 0 = [a, b]. Zadanie 5 Zapoznaj si z pomoc dla funkcji octave'a fsolve () - rozwi zuj c ukªady równa«nieliniowych. Przetestuj j na kilku prostych przykªadach skalarnych, np. na tych z poprzedniego zadania. 38

Zadanie 6 Zaimplementuj metod Newtona w octavie i przetestuj jej zbie»- no± dla nast puj cych funkcji: f1(x)= x x 2 z x 0 = 2, f2(x)= x x x 27 z x 0 = 27, f3(x)= exp(x) 2 z x 0 = 10, 10, 1e3, f4(x)= sin(x) dla x 0 = 2, f5(x)= cos(x) z x 0 = 2 f6(x)= (x 2) k x x 0 = 3 dla k = 2, 4, 8, 16, f7(x)= x x 2 z x 0 = 10 6, sprawd¹, czy metoda Newtona zbiega, a je±li tak - to czy zbiega ona kwadratowo, f8(x)= 1/x a dla danych a = 0.5, 2, 4, 100 (oczywi±cie implementuj c bez dzielenia) jak dobra x 0? Dla wszystkich tych funkcji znamy rozwi zania, wi c mo»na wy- ±wietla równocze±nie na ekranie bª d e n = x n r (tutaj r - znane rozwi zanie) i bada eksperymentalnie rz d zbie»- no±ci, tzn. drukowa na ekranie stosunki bª du bie» cego do poprzedniego w odpowiedniej pot dze: dla p = 1, 2, 3. e n / e n 1 p Prosz powtórzy testy z innymi ró»nymi warto±ciami startowymi x 0. Zadanie 7 Powtórz zadanie 6 zast puj c metod Newtona przez metod siecznych. Przetestuj, czy e n /(e n 1 e n 2 ) asymptotycznie zbiega do staªej, i czy e n / e n 1 p dla p = (1 + 5)/2 zbiega do staªej np. dla x x 2 z x 0 = 2 lub innych równa«z poprzedniego zadania. Za x 1 mo»emy przyj x 0 + 10 7. 39

Zadanie 8 Sprawd¹, czy metoda iteracji prostych zbiega do x = cos(x ). x n = cos(x n 1 ) Zbadaj eksperymentalnie, czy zbie»no± jest liniowa, tzn. czy x x n x x n 1 zbiega do staªej. Za dobre przybli»enie x mo»na przyj rozwi - zanie równania obliczone za pomoc wywoªania funkcji octave'a: fzero(). Zadanie 9 Zaimplementuj przybli»on metod Newtona, w której pochodn przybli»amy ilorazem ró»nicowym, tzn. x n+1 = x n dla ustalonego h. f(x n ) f(x n+h) f(x n) h = x n f(x n ) h f(x n + h) f(x n ) Przetestuj ró»ne h, np. h = 10 4, 10 7, 10 10 itp. Porówna zbie»no± z dokªadn metod Newtona (szczególnie ostatnie iteracje) dla funkcji z zadania 6. Zadanie 10 Rozwikªywanie funkcji: Dla funkcji y(x) zadanej w sposób uwikªany równaniem g(x, y) = 2x 2 + 3y 2 3 = 0 znajd¹ przybli»one warto±ci y k = y(x k ) dla x k = k h dla k = N,..., N i h = 1/N, tzn. speªniaj ce g(x k, y k ) = 0. Testuj dla ró»nych warto±ci N, np. N = 10, 20, 40, 80,... oblicz y k rozwi zuj c równanie g(x k, y k ) = 0. korzystaj c z odpowiedniej funkcji octave'a lub wªasnej implementacji metody Newtona. Jak w kolejnych krokach dobiera przybli»enie startowe w metodzie Newtona? 40

Zadanie 11 Odwracanie funkcji Rozpatrzmy dan funkcj, np. f(x) = sin(x) + 2 x. Znajd¹ warto±ci funkcji odwrotnej f 1 na odcinku [0, 5] na siatce k h dla k = 0,.., 100. Narysuj wykres funkcji f 1. Sam wykres mo»na narysowa du»o pro±ciej bez wyliczania warto±ci f 1. Jak to zrobi w octave'ie? Zadanie 12 Wielowymiarowa metoda Newtona Zaimplementuj wielowymiarow metod Newtona w wersji z dokªadnym Jakobianem i w wersji, gdy Jakobian przybli»amy ró»- nicami dzielonymi z parametrem h. Zastosuj t metod do rozwi zania ukªadu f 1 (x 1, x 2 ) = x 1 + 2x 2 = 1 f 2 (x 1, x 2 ) = 3 x 2 1 + x 2 2 = 1 dla ró»nych przybli»e«pocz tkowych. W przypadku zbie»no±ci policz x x n p x x n 1 q p dla p = 1, 2, oraz q = 1, 2, 3. Czy ten iloraz zbiega do staªej dla jakiego± z tych q? Funkcj F (x) := (f 1 (x), f 2 (x)) T w octavie mo»na zdeniowa nast puj co: function y=f( x ) #x wektor pionowy y =[[1 2] x 1;3. x (1) x(1)+x (2) x (2) 1]; endfunction Zadanie 13 Wielowymiarowa metoda iteracji prostych Zastosuj metod iteracji prostych x n = x n af (x) 41

do ukªadu z zadania 12, tzn. przyjmijmy,»e F (x) := (f 1 (x), f 2 (x)) T, a parametr a 0 np. a = 1, 1, 10 1 itp. Czy metoda zawsze zbiega, a je±li tak - to jak szybko? W przypadku zbie»no±ci policz dla p = 1, 2,. x x n p x x n 1 p Zadanie 14 Do ukªadu równa«z zadania 12 zastosuj funkcj fsolve () - porównaj z implementacj metody Newtona w zadaniu 12, która byªa zastosowana do rozwi zania tego ukªadu. Czy obie metody zbiegaj do tego samego rozwi zania dla tych samych warto±ci wektorów startowych? Sprawd¹ - za pomoc funkcji tic i toc - czas potrzebny do rozwi zania tego ukªadu równa«za pomoc obu metod. 42

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 typu LU i LL T oraz obliczaniu macierzy odwrotnej. Zapoznamy si z odpowiednimi funkcjami octave'a sªu» cymi znajdowaniu odpowiednich rozkªadów, czy rozwi zywaniu ukªadów równa«liniowych z pomoc tych rozkªadów. Podstawowe funkcje i operatory octave'a zwi zane z rozkªadem LU to: [L,U,P]=lu(A) - funkcja zwracaj ca czynniki rozkªad LU nieosobliwej macierzy A, czyli P A = LU, [R]=chol(A) - funkcja zwracaj ca czynnik rozkªadu Choleskiego macierzy symetrycznej dodatnio okre±lonej A = A T > 0, czyli A = R T R, (zazwyczaj w literaturze podaje si ten rozkªad w terminach czynnika L = R T ), operator x=a\b - operator rozwi zuj cy ukªad równa«ax = b dla A macierzy nieosobliwej i b wektora prawej strony, inv(a) - funkcja zwracaj ca macierz odwrotn do A macierzy nieosobliwej, cond(a) - funkcja zwracaj ca wspóªczynnik uwarunkowania macierzy A, czyli A 2 A 1 2. Zadanie 1 Operator octave'a \ sªu» cy m.in. do rozwi zywaniu ukªadów równa«liniowych w octavie. 43