Resene Naloge NM2

download Resene Naloge NM2

of 278

Transcript of Resene Naloge NM2

  • 7/24/2019 Resene Naloge NM2

    1/278

    Reene naloge iz numerinih metod

    Gaper Jakli Selena Praprotnik

  • 7/24/2019 Resene Naloge NM2

    2/278

    Predgovor

    Zbirka nalog, ki je pred vami, je nastala iz gradiva, ki sva ga pripravila priizvajanju predmeta Numerine metode na NTF v letih 2009-2013 in na pod-

    lagi izkuenj, ki sva jih pridobila pri izvajanju raznovrstnih drugih predmetov.Ker dosedaj ni bilo primerne zbirke nalog iz numerinih metod, so tudentipogreali naloge, s katerimi bi si pomagali pri pripravah na kolokvije in izpite.To je posebej vano na tudijskih smereh, kjer je matematinih predmetovrelativno malo.Namen te zbirke je preprost. Obravnavana so osnovna podroja numerinematematike, pri vsakem so na kratko ponovljeni osnovni teoretini rezultati,nato pa se zanejo naloge. Za razliko od podobnih zbirk ne napieva samoidej reevanja in konnega rezultata, ampak reitev detajlno razdelava. Takolahko tudent/ka nalogo rei samostojno, in nato primerja reitvi korak za

    korakom. Nekaj nalog zahteva preizkus numerinih metod z raunalnikom.Tu sva se odloila za brezplaen program Octave, ki je kompatibilen z Matla-bom. Programe, ki so nastali pri pisanju zbirke, lahko bralec/bralka najdena spletni strani zbirke, opisani pa so tudi v enem od zakljunih razdelkov.Zbirka je namenjena predvsem tudentom/tudentkam, ki posluajo pred-mete numerine matematike na smereh, kjer je matematike nekoliko manj,ter tudentom praktine matematike. Poleg tega slui za utrditev osnovnihalgoritmov numerine matematike tudi za tudente matematike na univerzi-tetnih bolonjskih smereh.Zahvaljujeva se kolegom, ki so podrobno pregledali zbirko in podali vrsto

    koristnih pripomb.

    Ljubljana, januar 2014

    Selena Praprotnik in Gaper Jakli

    2

  • 7/24/2019 Resene Naloge NM2

    3/278

    Kazalo

    1 Predstavitev programa Octave 6

    1.1 Namestitev programa in dokumentacija . . . . . . . . . . . . . 61.2 Osnove dela z Octaveom . . . . . . . . . . . . . . . . . . . . . 6

    1.2.1 Shranjevanje. . . . . . . . . . . . . . . . . . . . . . . . 71.3 Matrike in vektorji . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3.1 Vnos matrik in vektorjev . . . . . . . . . . . . . . . . . 71.3.2 Zapis z dvopijem. . . . . . . . . . . . . . . . . . . . . 81.3.3 Izpis elementov . . . . . . . . . . . . . . . . . . . . . . 8

    1.4 Operacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.5 Vgrajene funkcije in konstante . . . . . . . . . . . . . . . . . . 91.6 Pisanje programov . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.6.1 Pogojni stavki . . . . . . . . . . . . . . . . . . . . . . . 101.6.2 Zanka for . . . . . . . . . . . . . . . . . . . . . . . . . 111.6.3 Zanka while . . . . . . . . . . . . . . . . . . . . . . . 111.6.4 Stavkabreakin continue . . . . . . . . . . . . . . . . 121.6.5 Interaktivni vnos podatkov. . . . . . . . . . . . . . . . 12

    1.7 Grafika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.8 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2 Aritmetika v premini piki in stabilnost izrauna 232.1 Premina pika. . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2 Osnovna zaokroitvena napaka . . . . . . . . . . . . . . . . . 252.3 Stabilnost izrauna . . . . . . . . . . . . . . . . . . . . . . . . 252.4 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3 Reevanje nelinearnih enab 383.1 Bisekcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.1.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2 Navadna iteracija . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.2.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3 Tangentna metoda . . . . . . . . . . . . . . . . . . . . . . . . 44

    3

  • 7/24/2019 Resene Naloge NM2

    4/278

    3.3.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    3.4 Laguerrova metoda . . . . . . . . . . . . . . . . . . . . . . . . 473.5 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4 Reevanje sistemov nelinearnih enab 754.1 Sistemi nelinearnih enab. . . . . . . . . . . . . . . . . . . . . 754.2 Navadna iteracija . . . . . . . . . . . . . . . . . . . . . . . . . 754.3 Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . . . 76

    4.3.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.4 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    5 Vektorske in matrine norme 845.1 Osnove linearne algebre. . . . . . . . . . . . . . . . . . . . . . 845.2 Vektorske norme . . . . . . . . . . . . . . . . . . . . . . . . . 865.3 Matrine norme . . . . . . . . . . . . . . . . . . . . . . . . . . 875.4 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    6 Reevanje sistemov linearnih enab 936.1 tetje operacij . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.2 LU razcep brez pivotiranja . . . . . . . . . . . . . . . . . . . . 93

    6.2.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    6.3 LU razcep z delnim pivotiranjem . . . . . . . . . . . . . . . . 976.3.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.4 LU razcep s kompletnim pivotiranjem. . . . . . . . . . . . . . 986.5 Razcep Choleskega . . . . . . . . . . . . . . . . . . . . . . . . 99

    6.5.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.6 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    7 Iterativno reevanje sistemov linearnih enab 1287.1 Jacobijeva iteracija . . . . . . . . . . . . . . . . . . . . . . . . 1287.2 Gauss - Seidlova iteracija . . . . . . . . . . . . . . . . . . . . . 129

    7.2.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.3 Metoda SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307.4 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

    8 Reevanje predoloenih sistemov 1448.1 Normalni sistem. . . . . . . . . . . . . . . . . . . . . . . . . . 144

    8.1.1 Zgled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458.2 QR razcep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458.3 Givensove rotacije. . . . . . . . . . . . . . . . . . . . . . . . . 1468.4 Householderjeva zrcaljenja . . . . . . . . . . . . . . . . . . . . 147

    4

  • 7/24/2019 Resene Naloge NM2

    5/278

    8.5 Singularni razcep . . . . . . . . . . . . . . . . . . . . . . . . . 149

    8.6 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    9 Numerino raunanje lastnih vrednosti 1949.1 Definicija in lastnosti lastnih vrednosti . . . . . . . . . . . . . 1949.2 Potenna metoda in Hotelingova redukcija . . . . . . . . . . . 1959.3 Inverzna potenna metoda . . . . . . . . . . . . . . . . . . . . 1959.4 turmovo zaporedje in bisekcija . . . . . . . . . . . . . . . . . 1969.5 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

    10 Interpolacija 21110.1 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

    11 Bzierove krivulje 21711.1 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    12 Numerino odvajanje 22712.1 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

    13 Numerina integracija 23113.1 Sestavljena pravila . . . . . . . . . . . . . . . . . . . . . . . . 23213.2 Rombergova ekstrapolacija . . . . . . . . . . . . . . . . . . . . 233

    13.3 Monte Carlo integracija. . . . . . . . . . . . . . . . . . . . . . 23413.4 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

    14 Numerino reevanje navadnih diferencialnih enab 24314.1 Zaetni problemi - enokorane metode . . . . . . . . . . . . . 24314.2 Zaetni problemi - vekorane metode. . . . . . . . . . . . . . 24414.3 Enabe vijega reda. . . . . . . . . . . . . . . . . . . . . . . . 24514.4 Robni problemi . . . . . . . . . . . . . . . . . . . . . . . . . . 24514.5 Naloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    15 Uporabljeni programi 265

    Literatura 277

    5

  • 7/24/2019 Resene Naloge NM2

    6/278

    Poglavje 1

    Predstavitev programa Octave

    1.1 Namestitev programa in dokumentacija

    Octave je odprtokodni program za numerino raunanje. Ve informacijo programu lahko najdete na njegovi domai strani http://www.gnu.org/software/octave/. Z domae strani sledite povezavi Download, s katerelahko prenesete datoteke, ki jih potrebujete za namestitev programa. Pod-prti so vsi standardni operacijski sistemi (Windows, MacOS, Unix). Nadomai strani najdete tudi dokumentacijo. Ve lahko preberete na http:

    //en.wikibooks.org/wiki/Octave_Programming_Tutorial.

    1.2 Osnove dela z Octaveom

    Pomo prikliemo z ukazom help oz. help ime_funkcije. Primer: helpeig. Po zgodovini ukazov se premikamo s tipkama gor/dol.e se program izvaja predolgo asa (npr. e se zanka ne kona), lahko usta-vimo izvajanje s kombinacijo Ctrl+c. Octave zapustimo z ukazom exit aliquit.Za brisanje vrednosti spremenljivk uporabimo ukaz clear all. e elimo

    izbrisati vrednost ene same spremenljivke, npr. x, uporabimo clear(x).Ukazwhoprikae, katere spremenljivke smo e definirali.Imena spremenljivk so lahko karkoli, morajo pa se zaeti s rko. Enako veljaza imena datotek, v katere shranimo programe. Imena ne smejo vsebovatipresledkov. Prav tako se izogibamo uporabi umnikov. Octave razlikuje medmalimi in velikimi rkami. Nize vpisujemo med enojne narekovaje.Natannost izpisa doloamo z ukazom format. Privzet nain je formatshort, ki izpie 5 decimalnih mest. e elimo dalji izpis, lahko uporabimoformat long, ki izpie 16 decimalnih mest. Izpisujemo z ukazom disp.

    6

    http://www.gnu.org/software/octave/http://www.gnu.org/software/octave/http://www.gnu.org/software/octave/http://en.wikibooks.org/wiki/Octave_Programming_Tutorialhttp://en.wikibooks.org/wiki/Octave_Programming_Tutorialhttp://en.wikibooks.org/wiki/Octave_Programming_Tutorialhttp://en.wikibooks.org/wiki/Octave_Programming_Tutorialhttp://www.gnu.org/software/octave/http://www.gnu.org/software/octave/
  • 7/24/2019 Resene Naloge NM2

    7/278

    1.2.1 Shranjevanje

    Osnovno okolje v Octaveu je vmesnik, v katerega piemo ukaze in ki prikaerezultate izraunov. Znotraj vmesnika lahko shranimo le vrednosti spre-menljivk, ne pa tudi zaporedja ukazov. Ukaz save ime_datoteke shranivrednosti vseh spremenljivk v datoteko ime_datoteke. Datoteka, v ka-tero shranjujemo, ima konnico .mat. Shranimo lahko tudi vrednosti ledoloenih spremenljivk. e elimo shraniti vrednosti spremenljivk x,y,z,to storimo z ukazom save ime_datoteke x y z. Npr. save test.mat xy z. Ko naslednji zaenemo Octave, vrednosti naloimo z ukazom loadime_datoteke. V danem primeru torej load test.mat. Z ukazom saveshranimo samo rezultate izraunov v binarnem zapisu. Za uporabnika jeobiajno zanimivo zaporedje ukazov, s katerim smo prili do rezultata. Tozaporedje zapiemo v posebno tekstovno datoteko.Programe in funkcije piemo v datoteke s konnico .m. Take datoteke loimoglede na uporabo na skriptne in funkcijske. Skriptne datoteke vsebujejozaporedje ukazov, funkcijske pa definicije funkcij. Pozorni moramo biti na to,da se v Octaveu nahajamo v delovnem podroju (mapi), v kateri se nahajadatoteka s programom. e elimo zagnati program program.m, moramobiti v mapi, v kateri je shranjen, klic ukaza program pa bo zagnal ukaze vdatoteki.

    1.3 Matrike in vektorji

    1.3.1 Vnos matrik in vektorjev

    Osnovni objekti v Octaveu so matrike. tevila so 1 1 matrike, vektorjipa bodisi stolpci bodisi vrstice. Znotraj vrstice elemente loujemo z vejicoali presledkom, v novo vrstico pa skoimo s podpijem. Nakljune matrikegeneriramo s pomojo funkcijerand. Ukazrand(n)generira kvadratno ma-triko dimenzije n n z nakljunimi elementi med 0 in 1. Podobno funkcijarand(m,n)generira nakljuno pravokotno matriko dimenzije m

    n(mvrstic

    in nstolpcev). Kompleksna tevila zapiemo kot z = 4 + 3i. Iz obstojeihvektorjev lahko sestavimo nove, npr. zaporedje ukazov x0 = [6,7,8], v =[3,4,5,x0]vrne [3,4,5,6,7,8]. e sestavljamo matriko, moramo paziti,da se dimenzije ujemajo.Primeri:[0;1;2]je stolpec[0,1,2]je vrsticam = [0,1,2;3,4,5]je 2 3matrika, ki smo jo shranili v spremenljivko mrand(2,3)je matrika nakljunih tevil med 0 in 1 velikosti 2 3

    7

  • 7/24/2019 Resene Naloge NM2

    8/278

    1.3.2 Zapis z dvopijem

    e elimo zapisati vektor zaporednih tevil, je to lahko zamudno, zato upora-bimo zapis z dvopijem. Izraz1:5predstavlja vrstini vektor[1,2,3,4,5].tevila v tako generiranih seznamih niso nujno cela.Primeri:1:5je vrstica tevil od 1 do 5, [1,2,3,4,5]0:2:10je vrstica tevil od 0 do 10, korak je 2, [0,2,4,6,8,10]5:-1:0je vrstica tevil od 5 do 0, korak je -1, [5,4,3,2,1,0]0:0.5:2je vrstica tevil od 0 do 2, korak je 0.5, [0,0.5,1,1.5,2]

    1.3.3 Izpis elementovElementi vektorjev in matrik so indeksirani. Prvi element ima indeks 1. eelimo izpisati element, ki ne obstaja, program javi napako. Indekse lahkozapiemo z dvopijem ali z vektorjem eljenih indeksov.Primeri:v = [3,4,5,6,7,8]

    v(4)izpie etrti element,6v(0)ali v(10)javi napakov(2:4)izpie elemente od drugega do etrtega (oba vkljuena), [4,5,6]v(1:2:3)izpie prvi in tretji element, [3,5]

    v(3:end)izpie elemente od tretjega do zadnjega, [5,6,7,8]m = [0,1,2;4,5,6;7,8,9]

    m(1:2,:) izpie prvi dve vrstici matrike mm(:,2:3)izpie drugi in tretji stolpec matrikem(:) iz matrike naredi vektor (stolpec), tako da stolpce zaporedoma zloi vvektor

    1.4 Operacije

    Osnovne operacije so + (setevanje), - (odtevanje), * (mnoenje), ^ (po-tenciranje), (transponiranje),\ (levo deljenje) in / (desno deljenje). eelimo, da operacija deluje po komponentah, pred operator zapiemo piko.Pozorni moramo biti na dimenzije. Operator (transponiranje) pri matri-kah s kompleksnimi koeficienti pomeni transponiranje in konjugiranje. eelimo matriko le transponirati, uporabimo .. e napiemo x = A\ b, jexreitev sistema A*x = b. e izraunamo x = b/A, jex reitev sistemax*A= b.Primeri:

    8

  • 7/24/2019 Resene Naloge NM2

    9/278

    v0 = [1,2,3]

    v1 = [4,5,6]

    v 0 + 5vsaki komponenti priteje 5, [6,7,8]v0*v1vrne napakov0.*v1zmnoi istolene komponente vektorjev, [4,10,18]m = [ 1 + 2 i , 2 + 2 i ; 1 - i , - 3 i ]

    mvrne [1 - 2i, 1 + i; 2 - 2i, 3i]m. vrne [1 + 2i, 1 - i; 2 + 2i, -3i]

    1.5 Vgrajene funkcije in konstante

    Zapisan je seznam najbolj pogosto uporabljanih vgrajenih funkcij. V vsa-ki vrstici so natete funkcije, ki so si vsebinsko podobne. Imena funkcij sologina glede na njihovo uporabo, za podrobnosti pa si pomagamo s funkcijohelp. V zadnji vrstici so zapisane tudi vgrajene konstante.conj(z), imag(z), real(z), abs(z)max(v), min(v), sort(v), sum(v), size(v), length(v), abs(v)sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), exp(x),log(x), sqrt(x), floor(x), ceil(x), round(x)zeros(n), ones(n), eye(n), diag(v), rand(n)inv(A), det(A), eig(A), rank(A), disp(x)pi, Inf, true = 1, false = 0, i, j, eps, NaN

    1.6 Pisanje programov

    Programe lahko piemo v poljubnem urejevalniku besedil. Vrstice, ki se za-nejo z znakom %, nimajo vpliva na program. Uporabljamo jih za komenti-ranje programa. Programi naj bodo vedno (smiselno) komentirani, koda pazamaknjena. Ime datoteke je enako imenu funkcije, konnica pa je .m.Primer 1:1 function y = sestej(a,b)2 % seteje dani tevili3 y = a + b;4 end

    Ta program shranimo v datoteko z imenom sestej.m. Ko elimo funkcijouporabiti, moramo paziti e, v kateri mapi se nahajamo.V splonem bodo funkcije oblike1 function [izhodne_sprem] = ime_funkcije(vhodne_sprem)2 stavki, ki se izvedejo ...

    9

  • 7/24/2019 Resene Naloge NM2

    10/278

    3 end

    Podpije na koncu stavka pomeni, da se rezultat ukaza ne izpie.Primer 2:1 function [v, r] = vsotaRazlika(x,y)2 v = x + y;3 r = x - y;4 end

    1.6.1 Pogojni stavki

    Pogojne stavke uporabimo, kadar elimo, da se del programa izvede le, e je

    izpolnjen doloen pogoj. Pogoje sestavimo s pomojo relatorjev , =, ==, ~=. Logini operatorji, ki sluijo za povezovanje pogojev, so & ali&& (in), | ali || (ali), (negacija). Rezultat relatorjev je matrika enic inniel. Enica pomeni, da je pogoj izpolnjen (true), nila pa, da ni (false).Pogoj A = B je izpolnjen le, e se razlikujejo VSE komponente matrik.e nas zanima, ali se razlikuje kakna od komponent matrik, napiemoany(any(A = B)).Primer:Program naj za dano tevilo a zapie, ali je enomestno, dvomestno ali ve-mestno.

    1 function mestno(a)2 if a < 103 disp(enomestno)4 elseif a < 1005 disp(dvomestno)4 else5 disp(vecmestno)6 end7 endV splonem je pogojni stavek oblike1 if pogoj1

    2 stavki, ki se izvedejo, e je izpolnjen pogoj13 elseif pogoj24 stavki, ki se izvedejo, e5 pogoj1 ni izpolnjen in6 je izpolnjen pogoj27 else8 stavki, ki se izvedejo, e9 noben od prejnjih pogojev ni izpolnjen10 end

    10

  • 7/24/2019 Resene Naloge NM2

    11/278

    Stavki elseif in else niso obvezni. tevilo elseif stavkov je lahko po-

    ljubno.

    1.6.2 Zanka for

    Zanko for uporabljamo, kadar vemo, kolikokrat elimo ponoviti doloenestavke in za katere vrednosti spremenljivke jih elimo izvesti.Primer 1:Raunamo an =a a a

    (n1) mnoenj.

    1 x=a;

    2 for i = 2:n3 x=x*a;4 endV splonem lahko namesto2:npiemo poljuben vektor.Primer 2:elimon-krat izpisati tevilo a.1 function y = nKrat(a,n)2 y = a;3 for i = 2:n4 y = [y;a];5 end6 endTa program ni najbolj uinkovit, saj je treba ob vsaki ponovitvi zanke pove-ati dimenzijo vektorja y. Popravimo!1 function y = nKrat2(a,n)2 y = zeros(n,1);3 for i = 1:n4 y(i) = a;5 end6 endNaeloma se, e se le da, izognemo uporabi zank. Octave namre najbolje

    deluje pri operacijah z vektorji. e malo pomislimo, najdemo elegantnejoreitev.1 function y = nKrat3(a,n)2 y = a*ones(n,1);3 end

    1.6.3 Zanka while

    Zankawhileje oblike

    11

  • 7/24/2019 Resene Naloge NM2

    12/278

    1 while pogoj

    2 stavki, ki se izvedejo, e je pogoj izpolnjen3 end

    in se izvaja, dokler je pogoj izpolnjen.

    Primer:Izpisati elimo vse potence tevila 2, ki so manje od 1000.1 x = 1;2 while x < 10003 disp(x);4 x = x*2;5 end

    Pozorni bodimo, da se morajo spremenljivke iz pogoja spreminjati znotrajzanke. e na to pozabimo, se program zacikla.

    1.6.4 Stavka breakin continue

    Stavka break in continue uporabljamo, kadar elimo predasno prekinitiizvajanje zanke. Stavekbreakprekine izvajanje zanke in izvajanje programase nadaljuje po zanki. Stavek continueprekine izvajanje zanke in program

    nadaljuje na njenem zaetku.Primer:1 x = 1;2 while true3 disp(x);4 x = x+1;5 if x > 36 break;7 end8 end

    9 disp(x);Poskusite, kaj se zgodi, e namesto ukazabreakuporabite ukazcontinue.

    1.6.5 Interaktivni vnos podatkov

    e elimo, da bi namesto klica funkcije, vrednosti parametrov vpisoval upo-rabnik, uporabimo ukazinput. Primer:a = input(Vpisi stevilo... )

    12

  • 7/24/2019 Resene Naloge NM2

    13/278

    1.7 Grafika

    Ukaz za risanje grafov je plot. e imamo dva vektorjax in y iste dolinein kliemo ukazplot(x,y), se odpre grafino okno, v katerem se narie grafskozi toke(xi, yi).Primer 1:x = linspace(-pi, pi, 100);y = sin(x);plot(x,y);Krivulje lahko riemo tudi parametrino.Primer 2:

    t = 0:.001:2*pi;x = cos(3*t);y = sin(2*t);plot(x,y)Grafe lahko opremimo z naslovom, imeni osi, besedili. . . Uporabimotitle,xlabel, ylabel, legend, axis. Na isti graf lahko nariemo tudi ve kri-vulj.Primer 3:x =0:.01:2*pi;y1 = sin(x);y2 = sin(2*x);plot(x,y1,x,y2)Lahko pa sestavimo matriko stolpcev Y,x = 0:.01:2*pi;Y = [sin(x), sin(2*x), sin(4*x)];plot(x,Y)

    1.8 Naloge

    Vsako nalogo v tem poglavju je mogoe reiti na ve nainov, reitve podajajo

    le eno od monosti. Programe lahko najdete tudi na spletni strani[1].1. S im manj ukazi sestavite naslednje matrike:

    A=

    4 9 9 99 2 9 99 9 2i 99 9 9 0

    , B =

    1 1 1 0 01 1 1 0 01 1 1 0 00 0 0 4 00 0 0 0 4

    , C=

    2 2 2 2 22 0 0 0 02 0 7 7 02 0 7 7 02 0 0 0 10

    .

    13

  • 7/24/2019 Resene Naloge NM2

    14/278

    Reitev.

    % Naloga1.mclear alla = diag([4,-2,2i,0]-9) + ones(4)*9b = [ones(3), zeros(3,2); zeros(2,3), 4*eye(2)]c = zeros(5);c(1,:) = ones(1,5) * 2;c(:,1) = ones(5,1) * 2;c(3:4,3:4) = 7*ones(2);c(5,5) = 10;

    c

    2. V Octave vnesite naslednje matrike:

    A1=

    1 1 1 12 1 1 11 1 1 31 1 1 1

    , A2=1 +i 1 1 i2i 1 3i 1

    4 i 1 + 2i i

    , A3=

    A1 I0 2A1

    .

    Izpiite tretjo vrstico in prvi stolpec matrike A1. V matriki A3 vsenile v spodnjem levem kotu spremenite v 2. Izraunajte determinanto

    in lastne vrednosti nove matrike A3. Poiite maksimalni element poabsolutni vrednosti v matriki A2. Naj bo x drugi, y pa tretji stolpecmatrike A2. Izraunajte skalarni produkt vektorjev xin y.

    Reitev.

    % Naloga2.mclear alla1 = ones(4);a1(2,1) = 2;a1(3,4) = 3

    a2 = [1+i,1,1-i;2i,1-3i,1;4-i,1+2i,i]a3 = [a1, eye(4); zeros(4), 2*a1]a1(3,:) % tretja vrstica matrike a1a1(:,1) % prvi stolpec matrike a1a3(5:end,1:4) = ones(4)*2 % spremenimo matriko a3det(a3) % determinantaeig(a3) % lastne vrednostimax(max(abs(a2))) % maksimalni element po abs. vrednostix = a2(:,2);

    14

  • 7/24/2019 Resene Naloge NM2

    15/278

    y = a2(:,3);

    x*y % skalarni produkt x in y

    3. Napiite funkcijo sestejN(n), ki seteje prvih nnaravnih tevil. Upo-rabite zankofor. Napiite e funkcijosestejN2(n), pri kateri ne upo-rabite zanke. Rezultate lahko preverite s formulo

    ni=1

    i=1

    2n(n+ 1).

    Reitev.

    % sestejN.mfunction y = sestejN(n)

    y = 0 ;for i = 1:n

    y = y + i ;end

    end

    % sestejN2.mfunction y = sestejN2(n)

    y = sum(1:n);end

    % Naloga3.m% preizkusimo funkciji sestejN in sestejN2clear alln=9;sestejN(n)sestejN2(n)% preverimo rezultat po formuli

    1/2*n*(n+1)

    4. Napiite funkcijo enakomerno(xzac,xkon,n), ki naredi isto kot funk-cija linspace, tj. funkcija naj ustvari vektor, ki vsebuje n vrednosti,ki so enakomerno razporejene od xzacdo xkon.

    Reitev.

    % enakomerno.mfunction y = enakomerno(xzac,xkon,n)

    15

  • 7/24/2019 Resene Naloge NM2

    16/278

    t = (xkon - xzac)/(n-1);

    y = xzac:t:xkon;end

    % Naloga4.m% preizkusimo funkcijo enakomernoclear allenakomerno(1,2,5)linspace(1,2,5)

    5. Napiite funkcijo minEksponent(a,b), ki izrauna najmanje naravno

    tevilon, za katerega je an

    b.Ne uporabite funkcijelog.Reitev.

    % minEksponent.mfunction y = minEksponent(a,b)

    n=1;while a^n < b

    n=n+1;endy = n ;

    end

    % Naloga5.m% preizkusimo funkcijo minEksponentclear allminEksponent(2,5)

    6. Napiite funkcijomatrikan(n), ki vrne matriko velikostinnnaslednjeoblike (zan= 4):

    A4 = 1 2 3 4

    2 3 4 53 4 5 64 5 6 7

    .Reitev.

    % matrikan.mfunction y = matrikan(n)

    y = ones(n);v = 1:n;

    16

  • 7/24/2019 Resene Naloge NM2

    17/278

    for i = 1:n

    y(i,:) = v + (i-1);end

    end

    % Naloga6.m% testiramo funkcijo matrikanclear allmatrikan(4)

    7. Napiite funkcijopoVrsti(n), ki vrne matriko velikostin

    n, v kateri

    so po vrsti tevila od 1 do n2.Primer:

    poVrsti(3)=

    1 2 34 5 67 8 9

    .Namig: Pomagajte si s funkcijoreshape.

    Reitev. Funkcija reshape(v,m,n) iz vektorja v naredi matriko di-menzijem n.

    % poVrsti.mfunction y = poVrsti(n)y = 1:n^2;y = reshape(y,n,n);

    end

    % Naloga7.m% preizkusimo funkcijo poVrsticlear allpoVrsti(3)

    8. Napiite program za generiranje matrik oblike1 2 3 4 52 1 2 3 43 2 1 2 34 3 2 1 25 4 3 2 1

    .

    Reitev.

    17

  • 7/24/2019 Resene Naloge NM2

    18/278

    % matrika.m

    function m = matrika(n)m = ones(n);v = 1:n;for i=1:n

    m(i,i:end) = v(1:end-i+1);m(i,1:i) = v(i:-1:1);

    endend

    % Naloga8.m

    % preizkusimo funkcijo matrikaclear allmatrika(5)

    9. Napiite funkcijotridiagonalna(sp,d,zg,n), ki vrne matriko dimen-zijen n, v kateri so na diagonali tevila d, nad diagonalo tevila zg,pod diagonalo pa tevila sp.

    Reitev.

    % tridiagonalna.m

    function y = tridiagonalna(sp,d,zg,n)diagonala = ones(n,1)*d;naddiag = ones(n-1,1)*zg;poddiag = ones(n-1,1)*sp;y = diag(diagonala)+diag(naddiag,1)+diag(poddiag,-1);

    end

    % Naloga9.m% preizkusimo funkcijo tridiagonalnaclear all

    tridiagonalna(3,5,2,4)

    10. Sestavite funkcijo, ki bo izraunala vrednost periodine realne funkcije,ki je na [0,10) definirana takole:

    f(x) =

    x+ sin(x), 0 x

  • 7/24/2019 Resene Naloge NM2

    19/278

    Namig: Uporabite funkcijo mod.

    Reitev. Funkcija mod(a,n) vrne tevilo med 0 in n 1, ki ustrezaostanku pri deljenju tevila a z n. Ostanek pri deljenju izraunamo spomojo funkcijerem(a,n). Razlika med modin remje pri negativnihtevilih a. Tako je mod(5,3) = 2 in mod(-1,3) = 2, ostanka pa starem(5,3) = 2in rem(-1,3)=-1.

    % fun.mfunction y = fun(x)

    x = mod(x,10);if x

  • 7/24/2019 Resene Naloge NM2

    20/278

    % Naloga11.m

    % preizkusimo funkcijo postevankaclear allpostevanka

    12. Sestavite funkcijo stDeliteljev(n), ki prebere naravno tevilo n inizpie, koliko deliteljev ima n.

    Namig: Uporabite funkcijo remali funkcijo mod.

    Reitev. Funkciji remin modsta opisani v reitvi naloge10.

    % stDeliteljev.mfunction y = stDeliteljev(n)y = 0 ;for i=1:n

    if rem(n,i) == 0y=y+1;

    endend

    end

    % Naloga12.m

    % preizkusimo funkcijo stDeliteljevclear allstDeliteljev(12)

    13. Sestavite funkcijoosnova(n,b), ki izpie tevilon v bazib, 1< b

  • 7/24/2019 Resene Naloge NM2

    21/278

    % Naloga13.m

    % preizkusimo funkcijo osnovaclear allosnova(13,2)

    14. Sestavite funkcijo minmaxPovpr(m), ki vrne dve vrednosti. Prva vre-dnost je minimum povpreja stolpcev matrike m, druga pa maksimumpovpreja stolpcev matrike m.

    Reitev.

    % minmaxPovpr.m

    function [a,b] = minmaxPovpr(m)v = sum(m) / length(m); %vektor povprecij stolpceva = min(v);b = max(v);

    end

    % Naloga14.m% preizkusimo funkcijo minmaxPovprclear all[a,b] = minmaxPovpr(rand(5))

    15. Nariite graf funkcije sin xna intervalu [3, 3].Reitev.

    % Naloga15.mclear allx = -3:.01:3;plot(x,sin(x))

    16. Nariite graf funkcije arccos x x2 na intervalu [1, 1]. Opremite ga zimenoma osi in naslovom.

    Reitev.

    % Naloga16.mclear allx = -1:.01:1;y = acos(x).*(x.^2);plot(x,y),xlabel(os x), ylabel(os y),title(Moj prvi graf)

    21

  • 7/24/2019 Resene Naloge NM2

    22/278

    17. Napiite funkcijohorner(a,x), ki po Hornerjevem algoritmu izrauna

    vrednost polinoma p(x) =ni=0 aixi v dani toki x. Pri tem je vektora= (a0, a1, . . . , an)vektor koeficientov polinoma.Hornerjev algoritem:bn=ani= n 1, n 2, . . . , 0

    bi = xbi+1+aiDobljenib0 je enak vrednosti polinoma pv toki x.

    Reitev.

    % horner.m

    function y = horner(a,x)b = a(end);n = length(a);for i = n-1:-1:1

    b = x*b + a(i);endy = b ;

    end

    % Naloga17.m

    % preizkusimo delovanje funkcije hornerclear allhorner([1,5,3],2)1 + 5*2 + 3*2^2

    18. Napiite funkcijo dpoly(a), ki vrne vektor s koeficienti odvoda poli-noma, podanega z vektorjem koeficientov a.

    Reitev.

    % dpoly.mfunction v = dpoly(a)

    n = length(a);v = [1:n-1].*a(2:end);

    end

    % Naloga18.m% preizkusimo delovanje funkcije dpolyclear alldpoly([1,3,5])

    22

  • 7/24/2019 Resene Naloge NM2

    23/278

    Poglavje 2

    Aritmetika v premini piki in

    stabilnost izraunaRaunanje z raunalnikom ni natanno. e v srednji oli smo pri raunanjus kalkulatorjem ugotovili, da se lahko konni rezultati razlikujejo, e vmesnerezultate zaokroamo. Zato je bilo pomembno, da smo rezultate zaokroili nadovolj veliko tevilo decimalk. Pri zaokroevanju na dve decimalki ne veljajonaslednje enakosti:

    3 2 = 6zaokroimo na 1.73 1.41 = 2.44 = 2.45,5

    3 =

    15zaokroimo na 2.24 1.73 = 3.88 = 3.87.

    Podobno je tudi pri raunalniku, le da je tu zapis dalji kot tisti, ki smo gauporabljali v srednji oli. Z Octaveom izraunajmo izraz

    0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 1 :% premicnaPika.m% test zaokroevanja rezultatovclear all

    x = 0 ;for i = 1:10x = x + 0.1;

    endx = x - 1

    V zanki smo tevilu 0 desetkrat priteli 0.1, nato pa smo rezultatu odteli1, zato priakujemo, da bo rezultat rauna enak 0, vendar ni. Octave vrnerezultatx = 1.1102 1016,kar je priblino enako velikosti osnovne zaokro-itvene napake, ki jo bomo spoznali kasneje.

    23

  • 7/24/2019 Resene Naloge NM2

    24/278

    2.1 Premina pika

    teviloxje v premini piki zapisano v obliki

    x= m be.

    tevilom je mantisa, tevilo b je baza(obiajno 2 - dvojiki zapis mantise,lahko tudi 10 ali 16), tevilo e je eksponent v mejah L e U. Mantisozapiemo v obliki m = 0.c1c2 . . . ct, kjer je t dolina mantise. e je c1= 0,pravimo, da je tevilonormalizirano. V zapisu so citevke med 0 in b 1.

    Zapis oznaimo zP(b,t,L,U).tevilom, ki jih dobimo na ta nain, pravimopredstavljiva tevila. Vsa ostala tevila zaokroimo na najblije predstavljivotevilo. V praksi gledamo tevko, ki sledi tevki na mestu t.e je ta tevka 1

    2b, tevki ct pritejemo 1, kar morda vpliva e na tevke pred njo, sicer

    samo odreemo ostanek.

    1 8 23

    predznak

    eksponent mantisa(c1 = 1)c2c3 . . . c24

    Slika 2.1: Predstavljiva tevila v enojni natannosti.

    Najbolj pogosto uporabljamo aritmetiko, ki jo predpisujeIEEE standard. Vosnovni obliki so v raunalniku tevila zapisana v enojni ali v dvojni na-tannosti. V enojni natannosti so tevila shranjena v 32 bitih in zapisana voblikiP(2, 24, 125, 128)(slika2.1). V dvojni natannosti so tevila zapisanav oblikiP(2, 53, 1021, 1024)in jih shranimo v 64 bitih (slika2.2).

    1 11 52

    predznakeksponent mantisa,c2c3 . . . c53

    Slika 2.2: Predstavljiva tevila v dvojni natannosti.

    24

  • 7/24/2019 Resene Naloge NM2

    25/278

    2.2 Osnovna zaokroitvena napaka

    Osnovna zaokroitvena napakau nastane, ker ne moremo natanno predsta-viti vsakega tevila. Enaka je

    u=1

    2b1t.

    Pri zapisu tevila v enojni natannosti je u 6 108,pri dvojni natannostipa jeu= 253 1016.Naj boxdano tevilo. Oznaimo najblije predstavljivo tevilo s f l(x).Velja

    f l(x) =x(1 +),|| u,|f l(x) x|

    |x| u

    1 +u u.

    Pri IEEE standardu za raunanje s standardnimi operacijami velja

    f l(x y) = (x y)(1 +),|| u,

    f l(x) = x(1 +),|| u,kjer jekaterakoli od operacij +, -, *, /. Tu je relativna napaka.

    2.3 Stabilnost izrauna

    Teave s stabilnostjo pri numerinih izraunih imamo najpogosteje, kadarodtevamo dve tevili priblino enake velikosti ali kadar delimo z majhnim

    tevilom.

    2.4 Naloge

    1. Zapiite tevila 1362, 2267 in 3921 v dvojikem zapisu.

    Reitev. tevilo lahko zapiemo v dvojikem zapisu na ve nainov.1. nain - deljenje z 2:

    25

  • 7/24/2019 Resene Naloge NM2

    26/278

    1362:2 = 681 ost. 0

    681:2 = 340 ost. 1340:2 = 170 ost. 0170:2 = 85 ost. 085:2 = 42 ost. 142:2 = 21 ost. 021:2 = 10 ost. 110:2 = 5 ost. 05:2 = 2 ost. 12:2 = 1 ost. 01:2 = 0 ost. 1

    Zadnja vrstica je vedno enaka. Dvojiki zapis tevila dobimo tako, dapreberemo ostanke od spodaj navzgor. Torej je dvojiki zapis tevila1362(10)= 10101010010(2).

    2. nain - zapis s potencami:tevilo zapiemo kot vsoto potenc tevila 2. Odtejemo mu najvejomono potenco2k,pogledamo ostanek in ponovimo postopek. V naemprimeru je

    1362 = 210+338 = 210+28+82 = 210+28+26+18 = 210+28+26+24+21.

    Zadnja tevka v dvojikem zapisu ustreza lenu 20.e len nastopa vzapisu, je tevka enaka 1, sicer je enaka 0. tevka levo od nje ustrezalenu z 21 in je enaka 1, e tak len nastopa v zapisu, . . . V naemprimeru dobimo zapis 1362(10) = 10101010010(2).

    Zapiimo dvojiko e ostali dve tevili:

    2267 = 211 + 27 + 26 + 24 + 23 + 21 + 20 = 100011011011(2),

    3921 = 211 + 210 + 29 + 28 + 26 + 24 + 20 = 111101010001(2).

    2. Zapiite tevilo 3481 v aritmetiki s premino piko v dvojni dolini.

    Reitev. Zapiimo tevilox = 3481v oblikix = (1)s(1 + f) 2e1023.Najprej zapiimo x v dvojikem zapisu, zato ga zapiemo kot vsotopotenc tevila 2:

    3481 = 211 + 210 + 28 + 27 + 24 + 23 + 20.

    Torej je 3481(10) = 110110011001(2) = 1.10110011001 211.Mnoenje z211 tu pomeni premik pike za 11 mest v levo. Iz tega zapisa vidimo, dajef= 0.10110011001 in e= 11 + 1023 = 1034.

    26

  • 7/24/2019 Resene Naloge NM2

    27/278

    Tudi eksponent zapiemo v dvojiki bazi in dobimo e = 1034(10) =

    210 + 23 + 21 = 10000001010(2).

    Zapis tevilaxv aritmetiki s premino piko v dvojni dolini je torej

    0 10000001010 101100110010000 . . . 0 52

    Rezultat lahko preverimo z Octaveom. Vpiemo format bitin deseti-ko tevilo (v tem primeru 3481).

    3. Zapiite tevilo 1342 v aritmetiki s premino piko v dvojni dolini.

    Reitev. Zapiimo tevilox = 1342v oblikix = (

    1)s(1 + f)

    2e1023.

    Najprej zapiimoxv dvojikem zapisu,1342:2 = 671 ost. 0671:2 = 335 ost. 1335:2 = 167 ost. 1167:2 = 83 ost. 183:2 = 41 ost. 141:2 = 20 ost. 120:2 = 10 ost. 010:2 = 5 ost. 05:2 = 2 ost. 1

    2:2 = 1 ost. 01:2 = 0 ost. 1

    Zdaj preberemo ostanke od spodaj navzgor, torej je

    1342(10)= 10100111110(2) = 1.0100111110 210.

    Iz tega zapisa vidimo, da je f= 0.0100111110in e = 10+1023 = 1033.

    e eksponent zapiemo v dvojiki bazi in dobimo e= 1033(10) = 210 +23 + 20 = 10000001001(2).

    Zapis tevilaxv aritmetiki s premino piko v dvojni dolini je torej0 10000001001 01001111100 . . . 0

    52

    Rezultat lahko preverimo z Octaveom. Vpiemo format bitin deseti-ko tevilo (v tem primeru 1342).

    4. Zapiite tevilo 796 v aritmetiki s premino piko v enojni dolini.

    Reitev. Zapiimo tevilo x= 796 v obliki x= (1)s(1 + f) 2e127.Najprej zapiimoxv dvojikem zapisu,

    27

  • 7/24/2019 Resene Naloge NM2

    28/278

    796:2 = 398 ost. 0

    398:2 = 199 ost. 0199:2 = 99 ost. 199:2 = 49 ost. 149:2 = 24 ost. 124:2 = 12 ost. 012:2 = 6 ost. 06:2 = 3 ost. 03:2 = 1 ost. 11:2 = 0 ost. 1

    Zdaj preberemo ostanke od spodaj navzgor, torej je

    796(10)= 1100011100(2) = 1.100011100 29.

    Iz tega zapisa vidimo, da je f= 0.100011100 in e= 9 + 127 = 136.

    e eksponent zapiemo v dvojiki bazi in dobimoe = 136(10) = 27+23 =10001000(2).

    Zapis tevilaxv aritmetiki s premino piko v enojni dolini je torej

    0 10001000 100011100 . . . 0 23

    5. Pokaite, da je

    0.1 =i=1

    (24i + 24i1) (2.1)

    in od tod pokaite, da je binarni zapis za x = 0.1 enak 0.0001100(2)(zadnje 4 tevke se ponavljajo). Izraunajte f l(0.1) v binarni IEEEaritmetiki z enojno natannostjo.

    Reitev. Uporabili bomo formulo za vsoto neskonne geometrijskevrste

    i=0

    qi = 1

    1 q, za|q|

  • 7/24/2019 Resene Naloge NM2

    29/278

    Izraunajmo vsoto na desni strani (2.1):

    i=1

    (24i + 24i1) =i=1

    1

    24

    i+

    1

    24

    i 1

    2

    =i=1

    3

    2

    1

    16

    i

    =3

    2 1

    16

    i=0

    1

    16

    i=

    3

    2 1

    16 1

    1

    116

    =32 1

    1616

    15

    = 1

    10= 0.1.

    Od tod sledi

    0.1 =i=1

    (24i + 24i1)

    = 24 + 25 + 28 + 29 + 212 + 213 +. . .

    = 0.0001100110011002

    = 0.1100110011002 23.

    Ko raunamo f l(0.1), nas zanimata 24. in 25. mesto v zapisu, sajzaokroujemo na 24 decimalk. Vidimo, da je tevka na 25. mestuenaka 1, tevka na 24. mestu pa je 0. Ko tevilo zaokroimo, bo na 24.mestu 1, ostale tevke pa se ne spremenijo.

    Rezultat jef l(x) = 0. 11001100 . . . 1101

    24

    23.

    6. Naj bosta x in y predstavljivi tevili. Ocenite napako pri izraunux2 y2 v premini piki, e raunate na dva naina

    (a) x2 y2 = (x y) (x+y),(b) x2 y2.

    Reitev. Vemo, da velja

    f l(x y) = (x y) (1 +),|| u,

    29

  • 7/24/2019 Resene Naloge NM2

    30/278

    od koder sledi f l(x y) x yx y = ||,kar nam olaja raunanje napake.

    (a) Predpostavimo, da je x > y. Zapiimo izraz v zgornji obliki

    f l

    (x y)(x+y)

    = (x y)(x+y)(1 +1)(1 +2)(1 +3) (x y)(x+y)(1 +u)3= (x2 y2)(1 + 3u+ 3u2 +u3)= (x2

    y2)(1 + 3u+

    O(u2)),

    kjer so|i| u, i = 1, 2, 3. Napaka 1 nastopi zaradi napake priodtevanju, 2 zaradi napake pri setevanju, 3 pa zaradi napakepri mnoenju. Ker jeumajhen, stau2 inu3 e precej manja, zatoju lahko zanemarimo in to oznaimo z oznakoO.Ocenimof l

    (x y)(x+y)

    e navzdol,

    f l

    (x y)(x+y)

    = (x y)(x+y)(1 +1)(1 +2)(1 +3) (x y)(x+y)(1 u)3= (x2

    y2)(1

    3u+ 3u2

    u3)

    = (x2 y2)(1 3u+ O(u2)),torej veljaf l(x y)(x+y) (x2 y2)(1 + 3u+ O(u2))in je

    f l

    (x y)(x+y)

    (x y)(x+y)(x y)(x+y)

    3u+ O(u2).

    Za y < xzamenjamo vlogi xin y.(b) Spet si pomagamo z izrekom in zapiemo

    f l(x2 y2) = (x2(1 +1) y2(1 +2))(1 +3),kjer so|i| u, i= 1, 2, 3.Sledi

    f l(x2 y2) =x2(1 +1)(1 +3) y2(1 +2)(1 +3)=x2(1 +1+3+13) y2(1 +2+3+23)=x2 y2 +x2(1+3+13) y2(2+3+23),

    30

  • 7/24/2019 Resene Naloge NM2

    31/278

    od koder dobimof l(x2 y2) (x2 y2)x2 y2 = x2(1+3+13) y2(2+3+23)

    x2 y2

    x2(2u+u2) +y2(2u+u2)

    |x2 y2|=

    (2u+u2)(x2 +y2)

    |x2 y2| .

    Izraz je odvisen odxiny,zato bo tak izraun slabi od prejnjega.Problem je imenovalec, e je|x| |y|.

    7. Pokaite, da pri raunanju vsote in produkta kompleksnih tevil x, yCv premini piki velja(a) f l(x+y) = (x+y)(1 +),|| u,(b) f l(x y) = (x y)(1 +),||

    2u(2 +u).

    Reitev. Ker sta x, y C, je tudi C. Zapiimo x = a+ bi iny = c+di, a, b, c,d R.(a) Vsoto kompleksnih tevil izraunamo kot x + y= (a + c) + (b + d)i,

    torej porabimo dve setevanji (mnoenje z iloi komponenti), zatoje

    f l(x+y) = (a+c)(1 +1) + (b+d)(1 +2)i

    = (a+c) + (b+d)i x+y

    +(a+c)1+ (b+d)2i

    = (x+y) + (x+y) (hoemo dobiti),

    kjer sta1, 2 R,|i| u.Torej je

    =(a+c)1+ (b+d)2i

    x+y

    in zato

    ||2 =(a+c)221+ (b+d)222(a+c)2 + (b+d)2

    (a+c)2u2 + (b+d)2u2

    (a+c)2 + (b+d)2

    =(a+c)2 + (b+d)2

    (a+c)2 + (b+d)2u2

    =u2,

    torej je|| u.

    31

  • 7/24/2019 Resene Naloge NM2

    32/278

    (b) Produkt kompleksnih tevil izraunamo kotx

    y= (a+bi)(c+di) =

    (acbd) + i(ad+ bc),torej za izraun porabimo 4 realna mnoenjain 2 realni setevanji. Zapiemo

    f l(xy) = (ac(1 +1) bd(1 +2)) (1 +3)++i (ad(1 +4) +bc(1 +5)) (1 +6)

    in zaradi lajega raunanja definiramo(1 +1)(1 +3) = 1 +1, (1 +4)(1 +6) = 1 +3,(1 +2)(1 +3) = 1 +2, (1 +5)(1 +6) = 1 +4.

    Od tod dobimo 1 +1+3+13 = 1 +1,torej velja

    |1| 2u+u2.Enako oceno dobimo tudi za ostale i. Uporabimo jo v zgornjemizrazu,

    f l(xy) =ac(1 +1) bd(1 +2) +i (ad(1 +3) +bc(1 +4))= (ac bd) +i(ad+bc)

    xy

    +ac1 bd2+i(ad3+bc4)

    =xy(1 +),

    torej je|xy| = |ac1 bd2+i(ad3+bc4)|.

    Preoblikujmo zgornjo enabo,

    |x|2|y|2||2 = |ac1 bd2|2 + |ad3+bc4|2 (|ac| + |bd|)2(2u+u2)2 + (|ad| + |bc|)2(2u+u2)2= (2u+u2)2

    (|ac| + |bd|)2 + (|ad| + |bc|)2

    (2u+u2)2

    (|ac| |bd|)2 + (|ac| + |bd|)2 +

    + (|ad| |bc|)2 + (|ad| + |bc|)2

    ,

    kjer smo priteli dva pozitivna lena. Izbrali smo taka lena, dase raun lepo poenostavi,

    = (2u+u2)2(2|ac|2 + 2|bd|2 + 2|ad|2 + 2|bc|2)= 2(2u+u2)2(a2c2 +b2d2 +a2d2 +b2c2)

    = 2(2u+u2)2(a2(c2 +d2) +b2(c2 +d2))

    = 2(2u+u2)2(a2 +b2)(c2 +d2)

    = 2(2u+u2)2|x|2|y|2,

    32

  • 7/24/2019 Resene Naloge NM2

    33/278

    torej je

    || 2(2u+u2) = 2(2 +u) u.8. Zapiite izraze v stabilneji obliki za raunanje in povejte kje so teave

    s stabilnostjo:

    (a) x(

    x+ 1 x),(b)

    1 cos xx2

    ,

    (c) log

    1 +1

    x

    + log x,

    (d)

    1 +x

    1.

    Reitev.

    (a) Teava pri izraunu x(

    x+ 1 x) je odtevanje, zato preure-dimo izraz

    x(

    x+ 1 x) =x (x+ 1) xx+ 1 +

    x

    = xx+ 1 +

    x

    .

    (b) Teava pri izraunu

    1

    cos x

    x2 je odtevanje ali deljenje z majhnimtevilom. Preuredimo izraz v

    1 cos xx2

    =(1 cos x)(1 + cos x)

    x2(1 + cos x)

    = 1 cos2 xx2(1 + cos x)

    = sin2 x

    x2(1 + cos x)

    = sin2 x

    x2

    2cos2 x

    2

    =1

    2

    sin x

    x cos x2

    2,

    kjer smo uporabili 1 + cos x= 2 cos2 x2

    ,kar dobimo iz

    cos2x= cos2 x sin2 x= cos2 x (1 cos2 x) = 2 cos2 x 1,1 + cos 2x= 2 cos2 x,

    1 + cos x= 2 cos2x

    2.

    33

  • 7/24/2019 Resene Naloge NM2

    34/278

    (c) Teava pri izraunu log1 +1

    x + log xje deljenje z majhnim x.Preuredimo izrazlog

    1 +

    1

    x

    + log x= log

    x+ 1

    x

    + log x

    = log(x+ 1) log x+ log x= log(x+ 1).

    (d) Teava pri izraunu

    1 +x 1je odtevanje. Preuredimo izraz

    1 +x 1 =(

    1 +x

    1)(

    1 +x+ 1)

    1 +x+ 1=

    1 +x 11 +x+ 1

    = x1 +x+ 1

    9. Dan imamo tangens kotatan = t. Stabilno izraunajtesin in cos .

    Reitev. Poznamotan ,elimo izraunati sin incos .

    1. ideja:

    t= tan ,

    = arctan t,

    izraunamo sin in cos .

    Tak nain raunanja ni ekonomien, saj trikrat raunamo vrednost tri-gonometrine funkcije.

    2. ideja:Uvedemo oznaki c = cos , s= sin ,dan je t= tan .Izsin2 + cos2 = 1dobimo

    1 + tan2 = 1

    cos2 ,

    torej je

    cos = 1

    1 +t2,

    sinus kota pa dobimo iz

    sin =

    1 cos2 .

    34

  • 7/24/2019 Resene Naloge NM2

    35/278

    Algoritem:

    1 r= 1 +t2 - raun je stabilen (setevamo pozitivni tevili)2 c = 1

    r - ker je r 1, nimamo teav (teave so pri deljenju z

    majhnimi tevili)3 s =1 c2 - teave imamo, kadar je c blizu1, saj takratodtevamo priblino enake vrednostiPredznakeizberemo glede na predznak t= s

    c.

    3. ideja:Popravimo izraun sin in dobimo

    sin =1

    1

    1 +t2 =

    t1 +t2

    =t

    r =t

    c.

    Tretji korak zgornjega algoritma popravimo na s = t c, kar izrau-namo stabilno. Ta algoritem porabi manj operacij kot prvotni in vseso elementarne.

    10. Dano je kompleksno tevilo = u+ iv, kjer sta u, v R in v= 0.Izraunajte

    = x+iy v realni aritmetiki na stabilen nain.

    Reitev. Izrazimoxin y z danima uin v,

    u+iv = = (x+iy)2 =x2 y2 + 2xyi.Od tod dobimo sistem

    u= x2 y2, (2.2)v= 2xy.

    Iz druge enabe izrazimox = v2y

    in ga vstavimo v prvo enabo,

    u=

    v

    2y

    2 y2,

    4uy2 =v2 4y4,4y4 + 4uy2 v2 = 0.

    Od tod dobimo reitve za y2,

    y21,2 =4u

    16u2 4 4 (v2)

    2 4= 1

    2u 1

    2

    u2 +v2

    =1

    2(|| u),

    35

  • 7/24/2019 Resene Naloge NM2

    36/278

    kjer smo oznaili

    |

    |=

    u2 +v2,reitev z minusom pa nas ne zanima,

    saj bi v tem primeru dobili negativno tevilo, mi pa iemo realen y.Torej je

    y1,2=

    1

    2(|| u).

    Iz prve enabe sistema (2.2) izrazimo e x in uporabimo rezultat,

    x2 =u+y2

    =u+1

    2(|| u)

    =1

    2 (|| +u),torej je

    x1,2 =

    1

    2(|| +u).

    Algoritem:1 t = || = u2 +v2, raun je stabilen (to uporabimo, da neraunamo vekrat iste vrednosti).2 x=

    t+u2

    ,tukaj lahko nastopi problem, e je u 0 in t u.Prvi problem je, kako izbrati predznak pri x in y. Izberemo ga tako,da je predznak xy enak predznaku pri v(druga enaba sistema (2.2)).Izraunxali y je nestabilen za majhnev, saj je takrat|u| || =t.Popravimo algoritem:1 t=

    u2 +v2 (= ||)

    2 e je u 03 x=

    t+u2

    4 y= v2x

    5 e je u

  • 7/24/2019 Resene Naloge NM2

    37/278

    Izraun preizkusite z Octaveom.

    Reitev. Teave imamo, kadar je cos xblizu 1, kadar je sin xblizu 0in kadar jexblizu 0. Preoblikujmo izraz:

    y =1 cos x

    x sin x =

    2sin2 x2

    x 2sin x2cos x

    2

    =tan x

    2

    x .

    Upotevali smo enakosti

    1 cos x= 2 sin2x2

    ,

    sin x= 2 sinx

    2cosx

    2 .

    e preizkusimo dobljena izraza v Octaveu, za majhen x res dobimorazlina rezultata. Zaporedje ukazov

    clear ally1 = @(x) (1-cos(x))/(x*sin(x));y2 = @(x) tan(x/2)/x;x = 10^(-9);y1(x)

    y2(x)

    vrne rezultata 0 in 0.5.

    37

  • 7/24/2019 Resene Naloge NM2

    38/278

    Poglavje 3

    Reevanje nelinearnih enab

    3.1 Bisekcija

    Dana je zvezna funkcija f : R R.Iemo reitve enabe f(x) = 0.Vemo,da velja naslednji izrek:Izrek. Naj bo f(x) zvezna funkcija na [a, b] in f(a) f(b) < 0. Potem imaf(x)na intervalu (a, b)nilo, tj. obstaja tak (a, b),da jef() = 0.Algoritem:Dani soa, b, , f;metoda vrnec.1 fa = f(a)2 fb=f(b)3 e= b a4 ifsign(fa) = sign(fb) stop5 repeat6 e= 1

    2e

    7 c= a+e8 fc= f(c)9 ifsign(fa) = sign(fc)10 a= c

    11 fa=fc12 else13 b= c14 fb= fc15 end16 until|e| < Tokac,ki jo dobimo s tem algoritmom, je pribliek za nilo, ki se od pravenile razlikuje za manj kot .Slabosti algoritma so:

    38

  • 7/24/2019 Resene Naloge NM2

    39/278

    - e imafna(a, b)ve niel, nimamo vpliva na to, katero nilo dobimo.

    - Algoritem ni uporaben za iskanje sodih niel.

    3.1.1 Zgled

    Z bisekcijo elimo poiskati pribliek za

    3. Vemo, da je

    3 .= 1.73205.

    Bisekcija vrne priblike za nile funkcije na danem intervalu. Ker elimo najtipribliek za

    3, moramo najprej izbrati enostavno funkcijo, katere nila je

    enaka

    3.Izberemo funkcijo

    f(x) =x2

    3.Zdaj poiemo tak interval, da bo na robovih intervala funkcija razlinopredznaena. Izberemo lahko [1, 2], saj je f(1) =2, f(2) = 1. Torej jea= 1, b= 2.Zdaj lahko naredimo en korak bisekcije:1 fa = 22 fb= 13 c= a+b

    2 = 3

    2= 1.5

    4 fc=f(c) = 34 = 0.75.Zdaj imamo dve monosti: Nila je lahko na intervalu [a, c] = [1, 1.5]ali naintervalu [c, b] = [1.5, 2] . e pogledamo vrednosti funkcije v vseh treh to-kah, vidimo, da je funkcija razlino predznaena na robovih intervala[1.5, 2] ,torej je v naslednjem koraku bisekcije a = 3

    2= 1.5, b= 2 :

    1 fa = 34 = 0.752 fb= 13 c= a+b

    2 = 7

    4= 1.75

    4 fc=f(c) = 116

    = 0.0625.Nila je na intervalu [1.5, 1.75] .Lahko nadaljujemo z bisekcijo na tem inter-

    valu, e pa smo zadovoljni z natannostjo

    74 322

    = 0.125,je pribliek za nilo

    razpolovie zadnjega intervala

    c=74

    + 32

    2 = 1.625.

    Poglejmo e, kaj vrne program bisekcija([1]). Za izbrano funkcijof ,zae-tni interval[1, 2]in natannost102 z zaporedjem ukazov

    clear allf = @(x) x^2-3;bisekcija(f,1,2,10^(-2))

    39

  • 7/24/2019 Resene Naloge NM2

    40/278

    dobimo zaporedje priblikov x0 = 1.5000, x1 = 1.7500, x2 = 1.6250, x3 =

    1.6875, x4 = 1.7188, x5 = 1.7344, x6 = 1.7266, reitev pa je3 .= 1.7305.(Vmesnih priblikov program ne izpisuje. Dobimo jih, e v zanki v datotekibisekcija.mizpisujemo vrednosti spremenljivkec.)

    3.2 Navadna iteracija

    Iemo reitev enabe f(x) = 0. Najprej zapiemo problem f(x) = 0 voblikix= g(x)za ustreznoiteracijsko funkcijo g(x).Za reitev velja g() = f() = 0.e je = g(),pravimo, da je negibna toka funkcijeg.Algoritem:1 izberi x02 r= 1, 2, . . .3 xr =g(xr1)Pri primerno izbranemzaetnem pribliku x0 in primerno izbrani funkciji gzaporedje konvergira k negibni toki funkcije g, ki je nila funkcije f.Negibne toke delimo na

    - odbojne, e je|g()| 1,- privlane, e je |g()|

  • 7/24/2019 Resene Naloge NM2

    41/278

    Na ta nain se lahko izognemo nepotrebnemu delu pri odvajanju. Celotno

    funkcijo moramo odvajati le v primeru, ko je g () = 0.Kako poiemo iteracijsko funkcijo? Primeri:

    - g1(x) =x f(x),

    - g2(x) =x c f(x), c = 0,

    - g3(x) =x h(x) f(x), h() = 0.

    3.2.1 Zgled

    Z navadno iteracijo elimo poiskati reitve enabe

    x3 5x+ 1 = 0.

    V Octaveu z ukazom roots([1,0,-5,1])poiemo nile, ki so

    x1 = 2.330058739567982,x2 = 2.128419063844577,

    x3 = 0.201639675723405.

    Prva iteracijska funkcija, ki jo izpeljemo, je

    g(x) =1 +x3

    5 .

    Na primerih si oglejmo, kaj se zgodi z zaporedjem pri razlinih zaetnih pri-blikih. Iteracijsko funkcijo definiramo z ukazom g = @(x) (1+x.^3)/5,nato uporabimo funkcijo iteracija ([1]). Z ukazi iteracija(g,0,12),iteracija(g,2,15)initeracija(g,3,10)dobimo naslednja zaporedja pri-blikov:

    41

  • 7/24/2019 Resene Naloge NM2

    42/278

    x0 0.000000000000000 2.000000000000000 3.00000000000000e+000

    x1 0.200000000000000 1.800000000000000 5.60000000000000e+000x2 0.201600000000000 1.366400000000000 3.53232000000000e+001x3 0.201638708019200 0.710227139788800 8.81495237522063e+003x4 0.201639652116243 0.271650922681262 1.36990328299253e+011x5 0.201639675147505 0.204009253796415 5.14161690798161e+032x6 0.201639675709356 0.201698163874077 2.71849877008952e+097x7 0.201639675723062 0.201641102963663 4.01806925772563e+291x8 0.201639675723396 0.201639710541370 Infx9 0.201639675723404 0.201639676572794 Infx10 0.201639675723405 0.201639675744126

    x11 0.201639675723405 0.201639675723910x12 0.201639675723417x13 0.201639675723405x14 0.201639675723405

    Decimalke, ki se ujemajo s tono reitvijo, so zapisane odebeljeno. Za zaetnipribliek x0 = 0 dobimo zaporedje, ki oitno konvergira k reitvi x3. Zazaetni pribliek x0 = 2 dobimo zaporedje, ki spet konvergira k reitvi x3,vendar poasneje, saj je bil zaetni pribliek slabi. Za zaetni pribliekx0= 3dobimo zaporedje, ki divergira.Kje nam konvergenco zagotavlja konvergenni izrek? Poglejmo, kje je odvoditeracijske funkcije po absolutni vrednosti manji od 1,

    g(x) =3x2

    5 ,|g(x)|

  • 7/24/2019 Resene Naloge NM2

    43/278

    iteracija(g,1,37)za zaetni pribliek x0 = 1. Tako dobimo zaporedji, ki

    konvergirata k nilama x1 inx2, vendar zelo poasi.

    x0 -1.00000000000000 1.00000000000000x1 -1.81712059283214 1.58740105196820x2 -2.16056476459804 1.90717556826722x3 -2.27681970564885 2.04369491208149x4 -2.31359923956675 2.09678074854246x5 -2.32499494801901 2.11671495967476x6 -2.32850320095544 2.12410433660789

    x7 -2.32958111700741 2.12683047319964x8 -2.32991210810294 2.12783445448731x9 -2.33001372526036 2.12820396200576x10 -2.33004492083705 2.12833992408246x11 -2.33005449743809 2.12838994761394x12 -2.33005743730344 2.12840835181395x13 -2.33005833979421 2.12841512283873x14 -2.33005861684403 2.12841761393191x15 -2.33005870189375 2.12841853041582x16 -2.33005872800262 2.12841886759401

    x17 -2.33005873601761 2.12841899164321x18 -2.33005873847807 2.12841903728141x19 -2.33005873923340 2.12841905407188x20 -2.33005873946527 2.12841906024916x21 -2.33005873953645 2.12841906252181x22 -2.33005873955830 2.12841906335793x23 -2.33005873956501 2.12841906366554x24 -2.33005873956707 2.12841906377871x25 -2.33005873956770 2.12841906382034x26 -2.33005873956790 2.12841906383566x27 -2.33005873956796 2.12841906384130x28 -2.33005873956797 2.12841906384337x29 -2.33005873956798 2.12841906384413x30 -2.33005873956798 2.12841906384441x31 2.12841906384452x32 2.12841906384456x33 2.12841906384457x34 2.12841906384457x35 2.12841906384458x36 2.12841906384458

    43

  • 7/24/2019 Resene Naloge NM2

    44/278

    Poglejmo, kje nam izrek zagotavlja konvergenco pri tej iteracijski funkciji,

    g(x) = 5

    3 3

    (5x 1)2, |g(x)| 13

    5

    3 = x > 15 1 + 135

    3 .= 0.63033,sicer pa

    5x+ 1 > 135

    3 = x < 151 1

    35

    3 .= 0.23033,

    torej iteracija konvergira za vsex (, 0.2303) (0.6303, ).S to funk-cijo lahko izraunamo preostali reitvi enabe.

    3.3 Tangentna metoda

    Iz priblikaxrdobimo nov pribliek xr+1kot preseie tangente na krivuljov toki(xr, f(xr))z abscisno osjo (slika3.1).Enaba tangente na krivuljo v tej toki je

    y f(xr) =f(xr)(x xr),

    44

  • 7/24/2019 Resene Naloge NM2

    45/278

    xr,fxr

    xr

    xr1xr2

    10

    10

    20

    30

    40

    50

    Slika 3.1: Grafina izpeljava tangentne metode.

    iemo pa preseie zxosjo, toko(xr+1, 0).Torej mora veljati

    0 f(xr) =f(xr)(xr+1 xr).

    Nov pribliek iz starega dobimo kot

    xr+1=xr f(xr)f(xr)

    .

    Opazimo e, da je tangentna metoda poseben primer navadne iteracije zaiteracijsko funkcijo

    g(x) =x f(x)f(x)

    .

    Lastnosti tangentne metode:

    - Vsaka nila je privlana toka (|g()| < 1 za vsako nilo), torej jolahko izraunamo z dovolj dobrim zaetnim priblikom.

    - V bliini vekratne nile (f() = 0) je konvergenca linearna.

    - e jeenostavna nila, jef() = 0in g() = 0,zato je konvergencavsaj kvadratina.

    - e je enostavna nila in f() = 0,je konvergenca vsaj kubina.

    45

  • 7/24/2019 Resene Naloge NM2

    46/278

    3.3.1 Zgled

    Iemo reitve enabe

    x3 x2 x+ 1 = 0.

    Natanni reitvi sta 1 = 1 (dvojna nila) in 2 =1 (enostavna nila).Izpeljimo tangentno metodo za ta primer. Tangentno metodo dobimo kot

    xr+1=xr f(xr)f(xr)

    ,

    v tem primeru torej

    xr+1=xr x3r x2r xr+ 13x2r 2xr 1

    .

    Zdaj uporabimo iteracijsko funkcijog(x) =x x3x2x+13x22x1 v Octaveu in upo-

    rabimo program iteracija([1]). Vpiemo ukaze

    g = @(x) x - (x.^3 - x.^2 - x + 1)/(3*x.^2 - 2*x - 1)iteracija(g,0.5,25)iteracija(g,-0.5,9)

    46

  • 7/24/2019 Resene Naloge NM2

    47/278

    in za zaetna priblika x0= 0.5in x0=

    0.5dobimo zaporedji priblikov

    x0 0.500000000000000 -0.500000000000000x1 0.800000000000000 -2.000000000000000x2 0.905882352941176 -1.400000000000000x3 0.954132539091586 -1.100000000000000x4 0.977338616437368 -1.008695652173913x5 0.988734610384883 -1.000074640791193x6 0.994383303992375 -1.000000005570624x7 0.997195612087415 -1.000000000000000x8 0.998598791189703 -1.000000000000000x9 0.999299641276319

    x10 0.999649881983167x11 0.999824956318402x12 0.999912481989770x13 0.999956241952312x14 0.999978121215269x15 0.999989060667537x16 0.999994530350836x17 0.999997265177114x18 0.999998632588296x19 0.999999316282907

    x20 0.999999658134565x21 0.999999829036609x22 0.999999914594049x23 0.999999957166969x24 0.999999978550793

    Zaetni pribliek x0 =0.5 da mnogo hitrejo konvergenco, saj je nila -1enostavna in je red konvergence kvadratien. V splonem pri kvadratinikonvergenci v vsakem koraku dobimo priblino dve novi toni tevki, prilinearni konvergenci dobimo eno, pri kubini pa tri.

    3.4 Laguerrova metodaIemo reitev enabe p(x) = 0,kjer je ppolinom stopnjen.Najprej izrau-namo

    s1(xr) =p(xr)p(xr)

    ,

    s2(xr) = s1(xr) =(p(xr))2 p(xr)p(xr)

    (p(xr))2 .

    47

  • 7/24/2019 Resene Naloge NM2

    48/278

    Nov pribliek dobimo z

    xr+1=xr ns1(xr)

    (n 1)(ns2(xr) s21(xr))

    , (3.1)

    kjer predznak izberemo tako, da je absolutna vrednost imenovalca najveja.Konvergenca metode je v bliini enostavne nile kubina, v bliini vekratnenile pa linearna.

    3.5 Naloge

    1. Z bisekcijo poiite pribliek za 320.Naredite tri korake.Reitev. Najprej izberemo funkcijo f, katere vrednosti je enostavnoizraunati in ki ima nilo 3

    20.Naj bo to funkcija

    f(x) =x3 20.

    Zdaj poiemo tak interval, da bo na robovih intervala funkcija f raz-lino predznaena. Izberemo [1, 4], torej a= 1, b= 4, in naredimo enkorak bisekcije:1 fa=

    19

    2 fb= 443 c= a+b

    2 = 5

    2= 2.5

    4 fc=f(c) = 358 = 4.375.Vidimo, da je funkcija razlino predznaena na robovih intervala

    52

    , 4

    ,

    torej je v naslednjem koraku bisekcijea= 52

    = 2.5, b= 4 :1 fa= 358 = 4.3752 fb= 443 c= a+b

    2 = 13

    4 = 3.25

    4 fc=f(c) = 91764

    = 14.3281.

    Funkcija je razlino predznaena na robovih intervala 52

    , 134 , torej jev naslednjem koraku bisekcije a= 52 , b= 134 :

    1 fa= 358 = 4.3752 fb=

    91764

    = 14.32813 c= a+b

    2 = 23

    8 = 2.875

    4 fc=f(c) = 1927512

    = 3.7637.Konali smo tretji korak bisekcije in vrnemo pribliek med ain c

    c=52

    + 238

    2.

    = 2.6875.

    48

  • 7/24/2019 Resene Naloge NM2

    49/278

    2. Z bisekcijo poiite pribliek za

    2na dve decimalki natanno.

    Reitev. Najprej izberemo funkcijo f, katere vrednosti je enostavnoizraunati in ki ima nilo

    2.Naj bo to funkcija

    f(x) =x2 2.

    Zdaj poiemo tak interval, da bo na robovih intervala funkcija f raz-lino predznaena. Izberemo [1, 2], torej a= 1, b= 2, in naredimo enkorak bisekcije:1 fa=

    1

    2 fb= 23 c= a+b

    2 = 3

    2= 1.5

    4 fc=f(c) = 14

    = 0.25.

    Vidimo, da je funkcija razlino predznaena na robovih intervala1, 3

    2

    ,

    torej je v naslednjem koraku bisekcijea= 1, b= 32

    :1 fa= 12 fb=

    14

    = 0.253 c= a+b

    2 = 5

    4= 1.25

    4 fc=f(c) = 716 = 0.4375.Funkcija je razlino predznaena na robovih intervala 54 , 32 ,torej je vnaslednjem koraku bisekcijea= 5

    4, b= 3

    2 :

    1 fa= 716 = 0.43752 fb=

    14

    = 0.253 c= a+b

    2 = 11

    8 = 1.375

    4 fc=f(c) = 764 = 0.1094.V naslednjem koraku staa= 11

    8 inb= 3

    2 :

    1 fa= 764 = 0.10942 fb=

    14

    = 0.253 c= a+b

    2 = 23

    16= 1.4375

    4 fc=f(c) = 17

    256

    = 0.0664.

    Zdaj staa= 118 in b= 2316 :1 fa= 764 = 0.10942 fb=

    17256

    = 0.06643 c= a+b

    2 = 45

    32= 1.4063

    4 fc=f(c) = 231024 = 0.0225.Razlika medainbje enakaab= 0.0625< 0.1,torej je zadnji pribliekc

    .= 1.40625natanen na eno decimalko. Postopek nadaljujemo, dokler

    ni razlika med ain bmanja od 0.01in dobimo pribliek c .= 1.41797,natanen na dve decimalki.

    49

  • 7/24/2019 Resene Naloge NM2

    50/278

    3. Z uporabo programabisekcija([1]) poiite pribliek za nilo funkcije

    f(x) =ex(3.2 sin x 0.5 cos x)

    na tri decimalke natanno.

    Reitev. Iemo interval, na katerem je funkcija frazlino predzna-ena. Doloimo ga lahko s poskuanjem ali iz grafa funkcije. Defini-rajmo funkcijo z f = @(x) exp(-x)*(3.2*sin(x) - 0.5*cos(x))inposkusimo f(3) in f(4). Lahko izberemo interval [3, 4] in poenemoprogram z ukazom bisekcija(f, 3, 4, 0.001). Pribliek za nilofunkcije f je3.2964.

    4. Ali konvergenni izrek zagotavlja konvergenco zaporedja

    xr+1 = 1

    10

    1 +x5r

    ,

    e izberemo zaetni pribliekx0= 0?Koliken je red konvergence?

    Reitev. Izraunajmo odvod iteracijske funkcijeg(x) = 110

    (1 +x5),

    g(x) = 1

    10 5x4 =1

    2x4,

    in vstavimo vrednostx= 0.Ker je g(0) = 0 < 1, imamo konvergencov okolici x0= 0.Da dobimo red konvergence, spet odvajamo,

    g(x) = 2x3, g(0) = 0,

    g(x) = 6x2, g(0) = 0,

    g(4)(x) = 12x, g(4)(0) = 0,

    g(5)(x) = 12, g(5)(0) = 12 = 0,

    torej je red konvergence enak 5.

    5. Poiite reitve danih enab in ugotovite red konvergence iteracije:

    (a) x=1

    2

    x+

    4

    x

    , izraunajte e interval konvergence z uporabo

    konvergennega izreka,

    (b) x=x(x2 + 12)

    3x2 + 4 ,

    (c) x=x(1 ln x)

    1 +x .

    50

  • 7/24/2019 Resene Naloge NM2

    51/278

    Reitev.

    (a) Najprej izraunajmo reitve enabe,

    x=1

    2

    x+

    4

    x

    ,

    2x= x+4

    x,

    x 4x

    = 0,

    x2 4 = 0,

    (x 2)(x+ 2) = 0,reitvi sta torej 1,2 = 2.Odvajajmo iteracijsko funkcijo g(x) = 1

    2

    x+ 4

    x

    ,

    g(x) =1

    2

    1 4

    x2

    .

    V enabo vstavimo2in dobimo

    g(

    2) =1

    2 1 4

    4= 0.e enkrat odvajajmo,

    g(x) =1

    2(4)(2x3) = 4x3,

    vstavimo2in vidimo

    g(2) = 12= 0,

    torej je konvergenca kvadratina (red je 2).Poglejmo e, kje je|g(x)|< 1 (po konvergennem izreku za takezaetne priblikexiteracijsko zaporedje konvergira),

    |g(x)|

  • 7/24/2019 Resene Naloge NM2

    52/278

    i. Najprej izraunajmo, kje je izraz pod absolutno vrednostjo

    nenegativen,

    1 4x2

    0,

    4x2

    1,4

    x2 1,

    4 x2,|x| 2.

    V tem primeru dobimo naslednjo neenabo

    1 4x2

    x2,4< x2,

    ki je vedno izpolnjena. Reitev je|

    x|

    2.

    ii. V primeru, ko je izraz pod absolutno vrednostjo negativen(tj. za|x|

  • 7/24/2019 Resene Naloge NM2

    53/278

    e reitev testiramo v Octaveu, vidimo, da iteracija res konvergira

    k tokama 2,odvisno od zaetnega priblika. e vzamemo zae-tni pribliek blizu 0, vidimo, da iteracija ne konvergira. Poskusitez zaporedjem ukazov

    g = @(x) 1/2*(x+4/x)iteracija(g,1,10)iteracija(g,-1,10)iteracija(g,10^(-10),10)

    (b) Izraunajmo reitve enabe,

    x=x(x2 + 12)

    3x2 + 4 ,

    x(3x2 + 4) =x(x2 + 12),

    x(3x2 + 4 x2 12) = 0,x(2x2 8) = 0,2x(x2 4) = 0,

    2x(x 2)(x+ 2) = 0,torej so reitve1 = 0, 2 = 2, 3= 2.Odvajajmo iteracijsko funkcijo g(x) =

    x(x2 + 12)

    3x2 + 4 ,

    g(x) =((x2 + 12) +x (2x))(3x2 + 4) x(x2 + 12) 6x

    (3x2 + 4)2

    =(3x2 + 12)(3x2 + 4) 6x4 12 6x2

    (3x2 + 4)2

    =9x4 + 12x2 + 12 3x2 + 4 12 6x4 12 6x2

    (3x2 + 4)2

    =3x4 24x2 + 48

    (3x2 + 4)2

    =

    3(x2

    4)2

    (3x2 + 4)2

    =3(x 2)2(x+ 2)2

    (3x2 + 4)2

    in poglejmo vrednosti odvoda v reitvah enabe,

    g(0) =3 4 4

    16 = 3 1 ni konvergence v okolici toke 0,

    g(2) = 0 imamo vsaj kvadratino konvergenco v okolici 2,g(2) = 0 imamo vsaj kvadratino konvergenco v okolici -2.

    53

  • 7/24/2019 Resene Naloge NM2

    54/278

    e enkrat odvajajmo,

    g(x) =(3 2(x 2)(x+ 2)2 + 3 (x 2)2 2(x+ 2)) (3x2 + 4)2

    (3x2 + 4)4

    3(x 2)2(x+ 2)2 2(3x2 + 4) 6x

    =6(x 2)(x+ 2)(x+ 2 +x 2) (3x2 + 4)2

    (3x2 + 4)4

    36x(x 2)2(x+ 2)2(3x2 + 4)

    =12x(x 2)(x+ 2)(3x2 + 4)(3x2 + 4 3(x 2)(x+ 2))

    (3x2 + 4)4

    =12x(x 2)(x+ 2)(3x2 + 4 3(x2 4))

    (3x2 + 4)3

    =12x(x 2)(x+ 2) 16

    (3x2 + 4)3

    =192x(x 2)(x+ 2)

    (3x2 + 4)3 ,

    torej velja

    g(

    2) = 0

    vsaj kubina konvergenca v okolici

    2.

    Uporabimo trik s funkcijoh1(x) = (x 2)(x + 2),torej jeh1(x) =x+ 2 + x 2 = 2x,in

    g(2) =h1(2)h2(2) +h1(2)h2(2)=h1(2)h2(2) + 0=

    192 (2)(3 4 + 4)3 (4)

    =192 8

    163 =

    3

    8= 0,

    zato je konvergenca kubina v okolici2(red je 3).(c) Poiimo reitve enabe,

    x=x(1 ln x)

    1 +x ,

    x(1 +x) =x(1 ln x),x+x2 =x x ln x,

    x2 +x ln x= 0,

    x(x+ ln x) = 0.

    54

  • 7/24/2019 Resene Naloge NM2

    55/278

    Reitvi enabe sta 1 = 0 in tevilo 2, za katerega velja 2+

    ln 2 = 0, tj. 2 .= 0.5671. Reitev 1 ni smiselna, saj ln 0 neobstaja. Odvajajmo funkcijo g(x) =

    x(1 ln x)1 +x

    ,

    g(x) =

    (1 ln x) +x( 1

    x)

    (1 +x) x(1 ln x)(1 +x)2

    = ln x(1 +x) x(1 ln x)

    (1 +x)2

    = ln x x ln x x+x ln x(1 +x)2

    = x+ ln x(1 +x)2

    .

    Vstavimo toko2in dobimog (2) = 0,saj je2 + ln 2 = 0,kerje 2 reitev enabe. Uporabimo trik s funkcijoh1(x) =x+ ln x,torej dobimoh1(x) = 1 +

    1x

    ,in

    g(2) = 1(1 +2)2

    1 +

    1

    2

    = 1 +2

    2(1 +2)2

    = 12(1 +2)

    = 0,

    zato imamo kvadratino konvergenco (red je 2).

    6. Reujemo enaboex = 1x

    .Izraunajte red konvergence iteracije

    xr+1= xr(1 +xr)

    1 + 2xr+ ln xr.

    55

  • 7/24/2019 Resene Naloge NM2

    56/278

    Reitev. Najprej poglejmo, kako dobimo iteracijsko funkcijo,

    ex = 1

    x,

    x= ln1

    x,

    x= ln x,x= ln x,

    x= 2x+ ln x,

    1 +x= 1 + 2x+ ln x,

    1

    1 +x =

    1

    1 + 2x+ ln x,x

    1 +x=

    x

    1 + 2x+ ln x,

    x= x(1 +x)

    1 + 2x+ ln x.

    Odvajajmo iteracijsko funkcijo g(x) = x(1 +x)

    1 + 2x+ ln x,

    g(x) =((1 +x) +x)(1 + 2x+ ln x) x(1 +x)(2 + 1

    x)

    (1 + 2x+ ln x)2

    =(1 + 2x)(1 + 2x+ ln x) (1 +x)(2x+ 1)

    (1 + 2x+ ln x)2

    =(1 + 2x)(1 + 2x+ ln x 1 x)

    (1 + 2x+ ln x)2

    =(1 + 2x)(x+ ln x)

    (1 + 2x+ ln x)2 .

    Oznaimo reitev enabe z.Torej velja

    e = 1

    ,

    = ln1

    ,

    = ln ,+ ln = 0,

    kar uporabimo, kovstavimo v enabo za odvod,

    g() =(1 + 2)(+ ln )

    (1 + 2+ ln )2 = 0.

    56

  • 7/24/2019 Resene Naloge NM2

    57/278

    Uporabimo trik s funkcijo h1(x) =x+ ln x,sledi h1(x) = 1 + 1x

    ,in

    g() =

    1 +1

    1 + 2

    (1 + 2+ ln )2

    =1 +

    1 + 2

    (1 +)2

    = 1 + 2

    (1 +)= 0,

    ker= 12

    (vstavimo v enabo in vidimo, da e1/2 =2). Torej jered konvergence enak 2.

    7. V enabix2 + ln x + a= 0je a doloen tako, da je reitev enabe enaka= 1

    2.Enabo lahko zapiemo v obliki x = g(x),kjer jeg ena od danih

    funkcij:

    (a) g1(x) =

    ln x a,(b) g2(x) =e

    (a+x2),

    (c) g3(x) =1

    3

    x+ 2e(a+x

    2)

    .

    Izpeljite dano iteracijsko funkcijo in raziite konvergenco zaporedjapriblikovxr+1 = g(xr)pri poljubnem zaetnem pribliku.

    Reitev.

    (a) Najprej izpeljimo iteracijsko funkcijo,

    x2 = ln x a, (3.2)x=

    ln x a.

    Odvajajmog1,

    g1(x) = 1

    x

    2 ln x a

    = 1

    2x ln x a

    in preverimo, ali je|g1()|

  • 7/24/2019 Resene Naloge NM2

    58/278

    |g1()| = 1

    2 ln a

    = 1

    2

    2

    = 1

    2||=

    1

    2 12 1

    2

    = 2> 1.

    Iteracijsko zaporedje ne konvergira.

    (b) Izpeljimo iteracijsko funkcijo,

    x2 + ln x+a= 0,

    ln x= (x2 +a),x= e(x

    2+a).

    Odvajajmog2,g2(x) =e

    (x2+a) (2x)in poglejmo vrednost v = 12 ,

    |g2()| = |eln| | 2| =1

    2 1 =1

    2

  • 7/24/2019 Resene Naloge NM2

    59/278

    in vstavimo= 12

    ,

    |g3()| =13(1 4 )

    = 13 (1 42)= 0,

    torej ima metoda vsaj kvadratino konvergenco.Izraunajmo e drugi odvod,

    g3(x) =1

    3

    4e(x2+a) 4xe(x2+a) (2x)

    =

    1

    3 4e(x2+a)(2x2 1),

    in vstavimo= 12

    ,

    |g3()| =4

    3 (22 1) = 1

    3= 0,

    torej je metoda reda 2.

    8. Iemo reitve enabex2+ln x= 0(reitev je .= 0.653).Raziite kon-vergenco zaporedja priblikov v bliini reitve, e uporabite naslednjeiteracijske funkcije, ki jih tudi izpeljite:

    (a) g1(x) =

    ln x,(b) g2(x) =e

    x2 ,

    (c) g3(x) =12

    (x+ex2),

    (d) g4(x) =2x3 +ex

    2

    1 + 2x2 .

    Reitev.

    (a) Najprej izpeljimo iteracijsko funkcijo. Zanemo s funkcijo f inizrazimo spremenljivkox,

    x2 + ln x= 0,

    x

    2

    = ln x,x=

    ln x.Oglejmo si konvergenco zaporedja. Izraunajmo odvod funkcijeg1(x) =

    ln x,

    g1(x) = 1

    x

    2 ln x

    = 1

    2x ln x

    59

  • 7/24/2019 Resene Naloge NM2

    60/278

    in vstavimo vrednost,

    |g1()| = 12 ln

    = 122 = 1.173 1,kjer smo upotevali = g1() =

    ln .Ker je vrednost odvodav toki veja od 1, po izreku sledi, da zaporedje ne konvergira,torej ta metoda ni dobra.

    (b) Najprej izpeljimo iteracijsko funkcijo,

    x2 + ln x= 0,

    ln x=

    x2,

    x= ex2

    .

    Oglejmo si konvergenco zaporedja. Izraunajmo odvod funkcijeg2(x) =e

    x2 ,g2(x) = 2xex

    2

    ,

    in vstavimo,

    |g2()| = | 2e2| = 22 = 0.853< 1,

    kjer smo upotevali = g2() = e2. Ker je vrednost odvoda v

    toki manja od 1, zaporedje po izreku konvergira, vendar pa jekonvergenca poasna, saj je vrednost odvoda blizu 1.

    (c) Najprej izpeljimo iteracijsko funkcijo, uporabimo e toko8b,

    x= ex2

    ,

    2x= x+ex2

    ,

    x=1

    2(x+ex

    2

    ).

    Oglejmo si konvergenco zaporedja. Izraunajmo odvod funkcije

    g3(x) =

    1

    2(x+ex2

    ),

    g3(x) =1

    2(1 2xex2).

    Vstavimo ,

    |g3()| = |1

    2(1 2e2)| = |1

    2(1 22)| = 0.074< 1.

    Po izreku zaporedje konvergira. Konvergenca je bolja, saj je vre-dnost odvoda zelo majhna.

    60

  • 7/24/2019 Resene Naloge NM2

    61/278

    (d) Najprej izpeljimo iteracijsko funkcijo, uporabimo e toko8b,

    x= ex2

    ,

    2x3 +x= 2x3 +ex2

    ,

    x(2x2 + 1) = 2x3 +ex2

    ,

    x=2x3 +ex

    2

    2x2 + 1 .

    Oglejmo si konvergenco zaporedja. Izraunajmo odvod funkcije

    g4(x) =2x3 +ex

    2

    1 + 2x2 ,

    g4(x) =(2 3x2 2xex2)(1 + 2x2) (2x3 +ex2) 2 2x

    (1 + 2x2)2

    =6x2 + 6x2 2x2 2xex2 4x3ex2 4x 2x3 4x ex2

    (1 + 2x2)2

    =4x4 4x3ex2 + 6x2 6xex2

    (1 + 2x2)2

    =4x3(x ex2) + 6x(x ex2)

    (1 + 2x2)2

    =(x ex2

    )(4x

    3

    + 6x)(1 + 2x2)2

    =2x(2x2 + 3)(x ex2)

    (1 + 2x2)2 ,

    in vstavimo.Iz toke8bsledie2

    =,kar uporabimo v raunu,

    |g4()| = 0.Ta metoda nam je najbolj ve, saj je odvod v enak 0. Izrau-najmo e drugi odvod (uporabimo trik s funkcijoh1(x) =xex2).Dobimo

    g4() =

    1 e2 (2)2(22 + 3)

    (1 + 22)2

    =(1 + 22) 2(22 + 3)

    (1 + 22)2

    =2(22 + 3)

    1 + 22 = 2.716 = 0.

    Torej ima po izreku metoda kvadratino konvergenco (ima red 2),kar pomeni, da konvergira hitreje od ostalih.

    61

  • 7/24/2019 Resene Naloge NM2

    62/278

    9. Pokaite, da lahko kvadratni koren pozitivnega tevilaa raunamo ite-

    rativno z xr+1=xr x2r+ 3a

    3x2r+ a. Doloite red konvergence v bliinia in

    pokaite, da je metoda konvergentna za poljuben zaetni pribliek vejiod 0.

    Reitev.Najprej preverimo, da je iterativna funkcija g(x) =xx2 + 3a

    3x2 +ares dobra za raunanje kvadratnega korena,

    g(a) = aa+ 3a3a+a

    = a,

    dodatna negibna toka je e 0.

    Oglejmo si red konvergence. Zato izraunajmo odvod funkcijeg v tokia,

    g(x) =x2 + 3a

    3x2 +a+ x

    2x(3x2 +a) (x2 + 3a) 6x(3x2 +a)2

    =(x2 + 3a)(3x2 +a)

    (3x2 +a)2 +

    6x4 + 2ax2 6x4 18ax2(3x2 +a)2

    =3x4 + 9ax2 +ax2 + 3a2 + 2ax2 18ax2

    (3x2 +a)2

    =3x4 6ax2 + 3a2

    (3x2 +a)2

    =3(x4 2ax2 +a2)

    (3x2 +a)2

    =3(x2 a)2(3x2 +a)2

    g(a) = 0.

    Izraunajmo e drugi odvod,

    g(x) = 32(x2 a) 2x(3x2 +a)2 (x2 a)2 2(3x2 +a) 6x

    (3x2 +a)4

    = 3(3x2 +a)(x2 a)((12x3 + 4ax) (12x3 12ax))

    (3x2 +a)4

    = 3(x2 a) 16ax

    (3x2 +a)3

    = 48ax x2 a(3x2 +a)3

    g(a) = 0.

    62

  • 7/24/2019 Resene Naloge NM2

    63/278

    Zdaj pri tretjem odvodu uporabimo trik s funkcijo h1(x) =x2

    a,

    g(

    a) = 48aa(3a+a)3

    (2a)

    =2 48a2

    64a3

    = 3

    2a= 0.

    Od tod sledi, da je konvergenca kubina (metoda je reda 3).

    Pokazati hoemo e, da je metoda konvergentna za vsak zaetni pribli-ek veji od 0. Dokaimo, da velja (pri predpostavkah si pomagamo s

    sliko3.2),(a)

    a xr+1 xr, x0 (0,

    a],v tem primeru dobimo naraajoe

    navzgor omejeno zaporedje, torej je konvergentno.

    (b)

    a xr+1 xr, x0 (

    a, ), v tem primeru dobimo padajoenavzdol omejeno zaporedje, torej je konvergentno.

    ygx

    yx

    x0 x1gx0 a

    gx0

    gx1

    Slika 3.2: Iteracija za x0 x0 in

    po indukciji sledi, da je zaporedje naraajoe. Za x0 >a dobimox1< x0,torej je po indukciji zaporedje padajoe.

    Dokaimo e levi neenakosti:

    g(x) a= x x2 + 3a

    3x2 +a a

    =x3 + 3ax 3ax2 aa

    3x2 +a

    =x3 3x2a+ 3x

    a2

    a3

    3x2 +a

    =(x a)3

    3x2 +a ,

    od koder za x0

    a.Torejzaporedje konvergira za vsakx0>0.

    10. Reujemo enabox 1 +x= 0.Ali iteracija

    xr+1 =

    1 +xr

    konvergira k reitvi, e izberemo x0 dovolj blizu reitve?

    Za katere vrednosticiteracija

    xr+1 = xr c(x2r xr 1)

    konvergira k reitvi, e je x0 dovolj blizu reitve?

    Reitev. Izraunajmo reitvi,

    x 1 +x= 0,1 +x= x,

    1 +x= x2,x2 x 1 = 0,

    in dobimo

    1,2=1 5

    2 .

    Ker sta1,2 reitvi osnovne enabe, velja tudi

    1,2=

    1 +1,2. (3.3)

    64

  • 7/24/2019 Resene Naloge NM2

    65/278

    Izraunajmo odvod iteracijske funkcije g(x) =

    1 +x,

    g(x) = 1

    2

    1 +x,

    in poglejmo vrednost v reitvah 1,2,kjer uporabimo (3.3),

    |g(1,2)| = 121 +1,2

    = 121,2

    = 1|1 5|

  • 7/24/2019 Resene Naloge NM2

    66/278

    11. V iteracijski formuli

    xr+1=A2

    x5r

    +

    x3rA

    +x6rA2

    za raunanje 3

    A doloite parametre , ,, tako da bo konvergencavsaj kubina. Kaken je red konvergence?

    Reitev. Da bo iteracija konvergirala k 3

    A in bo konvergenca vsajkubina, mora veljati

    g( 3

    A) = 3

    A,

    g( 3A) = 0, (3.4)g( 3

    A) = 0,

    kjer jegiteracijska funkcija

    g(x) =A2x5 +Ax2 +x.

    Izraunajmo odvoda,

    g(x) =

    5A2x6

    2Ax3 +,

    g(x) = 30A2x7 + 6Ax4.

    Zdaj vstavimo 3

    Ain iz (3.4) dobimo tri pogoje. Prvi pogoj je

    g( 3

    A) =A2 A 53 +A A 23 +A 13 =A 13 ,A

    13 +A

    13 +A

    13 =A

    13 ,

    ++= 1,

    drugi

    g( 3A) = 5A2 A2 2A A1 += 0,5 2+= 0,

    tretji pa

    g( 3

    A) = 30A2A73 + 6AA

    43 = 0,

    30A13 + 6A

    13 = 0,

    5+= 0.

    66

  • 7/24/2019 Resene Naloge NM2

    67/278

    Tako dobimo naslednji sistem za , in ,

    ++= 1,

    5 2+= 0,5+= 0.

    Iz druge enabe dobimo

    = 5+ 2, (3.5)

    kar uporabimo v preostalih dveh enabah, da dobimo nov sistem,

    6+ 3= 1,

    5+= 0.

    Od tod iz druge enabe dobimo

    = 5, (3.6)kar vstavimo v prvo enabo. Izraunamo =1

    9, iz (3.6) dobimo

    = 59

    ,iz (3.5) pa e= 59

    .

    Za red konvergence izraunamo tretji odvod funkcijegin vstavimo 3

    A,

    g(x) = 30A2(7x8) + 6A(4x5),

    g( 3A) = 210A2 19 A 83 24A 59 A 53=

    70

    3A

    23 40

    3A

    23

    = 103

    A2= 0,

    torej je konvergenca kubina (reda 3).

    12. Za katere zaetne priblike je iteracija xr+1 = g(xr) konvergentna, eje g(x) = 8x 12 x2? Kam konvergirajo ta zaporedja in koliken jered konvergence? Kje zagotavlja konvergenco konvergenni izrek?

    Reitev. Izraunajmo negibne toke funkcije g,

    x= g(x),

    x= 8x 12 x2,x2 7x+ 12 = 0,

    1,2=7 49 4 12

    2 ,

    1 = 3, 2= 4,

    67

  • 7/24/2019 Resene Naloge NM2

    68/278

    in njene nile,

    x2 + 8x 12 = 0,x2 8x+ 12 = 0,

    (x 6)(x 2) = 0,xN1 = 2, xN2 = 6.

    ygx

    yx

    2 3 4 5 6 7

    4

    2

    2

    4

    6

    Slika 3.3: Skica premicey = xin funkcijeg z negibnima tokama in nilama.

    S skice3.3razberemo naslednje trditve, ki jih dokaemo:(a) Za x0 < 3 zaporedje divergira. Dokaimo, da je v tem primeru

    xr+1 < xr za vsak r N :g(x) x= 8x 12 x2 x= x2 + 7x 12 = (x 3)(x 4),torej je za x < 3 izraz g(x) x < 0,zato zaporedje ne more bitikonvergentno (e bi konvergiralo, bi konvergiralo k 3 ali 4).

    (b) Zax0 > 5zaporedje divergira. Dokaimo, da velja x0 > 5 x1 0,

    zato jex1

  • 7/24/2019 Resene Naloge NM2

    69/278

    (d) e je x0= 5,je

    g(5) = 8 5 12 52 = 3in po toki12czaporedje konvergira k 3.

    (e) Ostane e primer, ko je 3 < x0 < 5. Trdimo, da v tem primeruzaporedje konvergira k 4. Izraunajmo

    xr+1 4 = 8xr 12 x2r 4 = x2r+ 8xr 16 = (xr 4)2.Oglejmo si napako na rtem koraku iteracije er =|xr 4|. Izzgornjega vemo, da je

    er+1

    = e2r,

    iz predpostavke3< x0

  • 7/24/2019 Resene Naloge NM2

    70/278

    13. Za katere zaetne priblike je navadna iteracija za reevanje enabe

    x= g(x)konvergentna, e je g(x) =x2 4x + 6?Kam konvergirajo tazaporedja? Koliken je red konvergence? Za katere zaetne priblikezagotavlja konvergenco konvergenni izrek?

    Reitev. Izraunajmo reitve enabe (tj. fiksne toke iteracijske fun-kcije g),

    x= g(x),

    x= x2 4x+ 6,x2 5x+ 6 = 0,

    (x 3)(x 2) = 0,torej sta fiksni toki1 = 2in 2 = 3.Skicirajmo funkcijog in premicoy = x (slika3.4). S skice dobimo naslednje predpostavke:

    ygx

    yx

    1 2 3 4

    1

    2

    3

    4

    5

    6

    Slika 3.4: Skica premice y = x in funkcije g z negibnima tokama.

    (a) Zax0>3 zaporedje divergira.

    (b) Za x0

  • 7/24/2019 Resene Naloge NM2

    71/278

    (a) Izraunajmog(x)

    xza x >3,

    g(x) x= x2 4x+ 6 x=x2 5x+ 6= (x 3)(x 2)> 0 za x >3,

    torej po indukciji sledi, da je xr+1 > xr, e je x0 >3,torej zapo-redje ne more konvergirati k 2 ali k 3 in divergira.

    (b) Dovolj je pokazati, da je g(x0) > 3za x0 < 1, divergenca potemsledi iz toke13a. Izraunajmo

    g(x0) 3 =x2

    0 4x0+ 6 3=x20 4x0+ 3= (x0 3)(x0 1)> 0 za x0 < 1.

    (c) Za x0= 3dobimo

    g(x0) =g(3) = 32 4 3 + 6 = 3,

    torej je zaporedje konstantno in konvergira k 3.

    (d) Za x0= 1dobimo

    g(x0) =g(1) = 12

    4 1 + 6 = 3,od tu naprej pa je zaporedje po toki 13ckonstantno, torej kon-vergira k 3.

    (e) Naj box0 (1, 3).Oglejmo si razliko xr+1 2,xr+1 2 =x2r 4xr+ 6 2 =x2r 4xr+ 4 = (xr 2)2.

    Definirajmo napako na rtem koraku iteracije zer = |xr 2|.

    Vemo, da velja er+1 = e2r in po predpostavki e0 =|x0 2| < 1,torej

    e0 = |x0 2|

  • 7/24/2019 Resene Naloge NM2

    72/278

    Zato zaporedje

    |xr

    2

    | 0,ko grer

    ,in gre torej xr

    2.

    Zanima nas red konvergence. Izraunamo odvode:

    g(x) = 2x 4, g(2) = 0,g(x) = 2, g(2) = 2 = 0.

    Torej je konvergenca kvadratina (red je 2).Konvergenni izrek zagotavlja konvergenco, kjer je

    |g(x)| = |2x 4|

  • 7/24/2019 Resene Naloge NM2

    73/278

    (c) Spet preoblikujemo enabo v sin x

    10(1

    x) = 0in vstavimo v

    formulo,

    xr+1=xr sin xr 10(1 xr)cos xr+ 10

    .

    Naslednji pribliek je

    x1=x0 sin x0 10(1 x0)cos x0+ 10

    = 0 0 10(1 0)1 + 10

    =10

    11.

    15. Doloite vse polinome 4. stopnje z vodilnim koeficientom 1, pri katerihse tangentna metoda vede takole:

    - v bliini nile ima linearno konvergenco,

    - v bliini nileima kubino konvergenco.Katere so preostale nile in kaken je red konvergence v njihovi bliini?

    Reitev. Ker je v okolicikonvergenca le linearna, mora bitivekra-tna nila. Kubina konvergenca v okolici pomeni, da jep() = 0inp() = 0.Zapiimo polinom v obliki z nilami (nila stopnje 2,enostavna nila, neznana nila (in edina neznanka!) naj bo ),

    p(x) = (x )2

    (x+)(x ).Dvakrat odvajamo,

    p(x) = 2(x )(x+)(x ) + (x )2(x ) + (x )2(x+)p(x) = 2(x+)(x ) + 2(x )(x ) + 2(x )(x+)+

    + 2(x )(x ) + (x )2++ 2(x )(x+) + (x )2= 2(x+)(x ) + 4(x )(x )++ 4(x

    )(x+) + 2(x

    )2,

    in vstavimo,

    p() = 4(2)( ) + 2(2)2= 8(+) + 82

    = 8(2+) = 0.

    Od tod dobimo, da je= 2.

    73

  • 7/24/2019 Resene Naloge NM2

    74/278

    Preverimo e ostale pogoje,

    p() = (2)2( ) = 43 = 0,ker bi v primeru = 0 dobili v okolici linearno in kubino konver-genco, kar pa ni mogoe.

    Zanima nas e red konvergence. Ker je =, torej je enostavnanila, mora biti v okolici metoda vsaj reda 2. Izraunajmo

    p() =p(2) = 4(3)() + 2(3)2 = 302 = 0,torej je metoda v okolici reda 2 (kvadratina konvergenca).

    16. Izpeljite Laguerrovo metodo zax3 6x2 + 11x 6 = 0

    in naredite en korak z zaetnim priblikom x0 = 0.

    Reitev. Najprej izraunamos1in s2,

    s1(x) =p(x)p(x)

    = 3x2 12x+ 11x3 6x2 + 11x 6 ,

    s2(x) = s1(x)

    =(3x2 12x+ 11)2 (x3 6x2 + 11x 6)(6x 12)

    (x3

    6x2 + 11x

    6)2

    ,

    torej

    s1(x0) =s1(0) = 116

    , s2(x0) =s2(0) =121 6 12

    36 =

    49

    36

    ki ju potem uporabimo v enabi (3.1) za nov pribliek. Nov pribliekje v tem primeru enak

    x1 = x0 ns1(x0)

    (n 1)(ns2(x0) s21(x0))

    = 0

    3

    11

    62(3 4936 12136)= 3

    116

    2 26

    36

    = 18

    11 + 2

    13

    .= 0.9884,

    kar je e zelo blizu 1, ki je nila polinoma. V imenovalcu smo izbralipredznak -, ker je 11

    6 < 0 in bo tako imenovalec veji po absolutni

    vrednosti.

    74

  • 7/24/2019 Resene Naloge NM2

    75/278

    Poglavje 4

    Reevanje sistemov nelinearnih

    enab

    4.1 Sistemi nelinearnih enab

    Reujemo sistem nenab z n neznankami

    f1(x1, x2, . . . , xn) = 0,

    f2(x1, x2, . . . , xn) = 0,

    ...fn(x1, x2, . . . , xn) = 0,

    ki ga zapiemo v oblikiF(x) = 0,

    kjer je

    F = [f1, f2, . . . , f n]T , x= [x1, x2, . . . , xn]

    T , F : Cn Cn.

    4.2 Navadna iteracijaPoiemo funkcijoG: Cn Cn,za katero velja

    G() = F() = 0.Algoritem:1 Izberemo zaetni pribliekx(0) Cn2 r= 0, 1, . . .3 x(r+1) =G(x(r))

    75

  • 7/24/2019 Resene Naloge NM2

    76/278

    4.3 Newtonova metoda

    Newtonova metoda je posploitev tangentne metode, kjer namesto odvodanastopa Jacobijeva matrika,

    x(r+1) =x(r) JF1(x(r))F(x(r)).Inverza matrike ne raunamo, zato sistem prevedemo na reevanje sistemalinearnih enab,

    JF(x(r))(x(r+1) x(r)) = F(x(r)).Oznaimo razlikox(r+1) x(r) = x(r) in dobimo

    JF(x(r))x(r) = F(x(r)).

    Algoritem:1 Izberemo zaetni pribliekx(0)

    2 r= 0, 1, . . .3 reimo sistemJF(x(r))x(r) = F(x(r))4 x(r+1) =x(r) + x(r)

    V okolici enostavne nile imamo kvadratino konvergenco (JF() je nesin-gularna). Slabost je, da teko izberemo dober zaetni pribliek. Na vsakemkoraku moramo izraunati novo Jacobijevo matriko, zato je metoda precej

    zahtevna.

    4.3.1 Zgled

    Z uporabo Octavea reujemo sistem nelinearnih enab

    x2 +y2 10x+y = 1,x2 y2 x+ 10y= 25.

    Zapiimo sistem v matrini obliki,

    F = x2 +y2 10x+y 1x2 y2 x+ 10y 25

    ,in izraunajmo Jacobijevo matriko,

    JF =

    2x 10 2y+ 12x 1 2y+ 10

    .

    Pomagamo si s programomnewton([1]). Ukazi, ki jih uporabimo, so zapisaniv skripti testnewton1 ([1]). Zaetni pribliek in tevilo reitev doloimo s

    76

  • 7/24/2019 Resene Naloge NM2

    77/278

    10 5 0 5 10 15

    10

    5

    0

    5

    10

    15

    Slika 4.1: Slika krivulj x2 +y2 10x+y = 1in x2 y2 x+ 10y= 25.

    slike4.1. Na sliki vidimo, da se krivulji sekata v okolici tok (2, 4)in (9, 3),zato ti toki uporabimo za zaetna priblika v Newtonovi metodi.e uporabimo zaetni pribliek (2, 4)nam Newtonova metoda vrne rezultat(1.9623, 3.6258),za zaetni pribliek(9, 3)pa(9.0944, 3.5799).Dobili smo

    dve razlini reitvi sistema enab, s slike4.1pa vidimo, da sta to edini reitvi.Torej smo poiskali vse reitve sistema.

    4.4 Naloge

    1. Za dane sisteme enab naredite korak Newtonove metode z zaetnimpriblikom [1, 1]T,

    (a) x2 + 2y2 = 2,

    x2 xy+y = 0,(b) x2 +y2 = 2,

    x2 2xy+y = 2,

    (c) x2 +y2 10x+y = 1,x2 y2 x+ 10y= 25.

    Reitev.

    77

  • 7/24/2019 Resene Naloge NM2

    78/278

    (a) Zapiimo v vektorski obliki

    F(x, y) =

    x2 + 2y2 2x2 xy+y

    in izraunajmo Jacobijevo matriko

    JF(x, y) =

    2x 4y

    2x y x+ 1

    .

    Reiti moramo sistem

    JF(x0, y0)x0

    y0

    = F(x0, y0),torej

    2 41 0

    x0y0

    =

    11

    .

    Zapiimo sistem v obiajni obliki,

    2 x0+ 4 y0 = 1,x0 =

    1,

    od koder dobimo e y0 = 14 .Nov pribliek je torej enakx1y1

    =

    11

    +

    114

    =

    054

    .

    (b) Zapiimo v vektorski obliki

    F(x, y) =

    x2 +y2 2

    x2

    2xy+y

    2

    in izraunajmo Jacobijevo matriko

    JF(x, y) =

    2x 2y

    2x 2y 2x+ 1

    .

    Reiti moramo sistem2 20 1

    x0y0

    =

    02

    .

    78

  • 7/24/2019 Resene Naloge NM2

    79/278

    Zapiimo sistem v obiajni obliki,

    2 x0+ 2 y0 = 0,

    y0 = 2,

    od koder dobimo y0 =2 in x0 = 2. Nov pribliek je torejenak

    x1y1

    =

    11

    +

    22

    =

    31

    .

    (c) Zapiimo v vektorski obliki

    F(x, y) = x2 +y2 10x+y 1x2 y2 x+ 10y 25

    in izraunajmo Jacobijevo matriko

    JF(x, y) =

    2x 10 2y+ 12x 1 2y+ 10

    .

    Reiti moramo sistem

    JF(x0, y0) x0

    y0= F(x0, y0),torej 8 3

    1 8

    x0y0

    =

    816

    .

    Zapiimo sistem v obiajni obliki,

    8 x0+ 3 y0= 8,x0+ 8 y0= 16,

    od koder dobimo x0

    =

    16

    67 in y

    0= 136

    67. Nov pribliek je torej

    enak x1y1

    =

    11

    +

    1667

    13667

    =

    516720367

    .

    2. Za dani sistem enab naredite korak Newtonove metode z zaetnimpriblikom [1

    4, 1516

    ]T,

    ln(x2 +y) = 1 y,x+xy = 0.

    79

  • 7/24/2019 Resene Naloge NM2

    80/278

    Reitev. Zapiimo v vektorski obliki

    F(x, y) =ln(x2 +y) 1 +y

    x+xy

    in izraunajmo Jacobijevo matriko

    JF(x, y) =

    1x2+y

    2x 1x2+y

    + 11

    2x

    + y x

    .

    Reiti moramo sistem

    JF(x0, y0)

    x0y0

    = F(x0, y0),

    torej 12

    23116

    14

    x0y0

    =

    116

    4764

    .

    Zapiimo sistem v obiajni obliki,

    1

    2x0+ 2 y0=

    1

    16,

    31

    16x0+

    1

    4y0= 47

    64,

    od koder dobimo x0 = 1948 iny0 = 25192 ,torej je nov pribliek enakx1

    y1

    =

    141516

    +1948

    25192

    =

    748205192

    .

    3. Zapiite Newtonovo metodo za reevanje sistema enab

    x3 3xy2 = 1,3x2y y3 = 0.

    Reitev. Zapiimo problem v obliki F(x) = 0,

    F(x, y) =

    x3 3xy2 + 1

    3x2y

    y3 = 0,

    in izraunajmo Jacobijevo matriko,

    JF(x, y) =

    3x2 3y2 3x 2y

    3y 2x 3x2 3y2

    =

    3x2 3y2 6xy

    6xy 3x2 3y2

    .

    V prvem koraku metode izberemo zaetni pribliek[x0, y0]T in reujemosistem

    3x20 3y20 6x0y06x0y0 3x

    20 3y20

    x0y0

    =

    x30 3x0y20+ 1

    3x20y0 y30

    .

    80

  • 7/24/2019 Resene Naloge NM2

    81/278

    4. Za dani sistem enab naredite korak Newtonove metode z zaetnim

    priblikom [1, 1, 1]T,

    x2 +y2 +z2 = 1,

    2x2 +y2 4z= 0,3x2 4y+z2 = 0.

    Reitev. Zapiimo v vektorski obli