Download - 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