Linjärisering och Newtons metod

Relevanta dokument
Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper

Linjärisering, Jacobimatris och Newtons metod.

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Matlab övningsuppgifter

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Optimeringsproblem. 1 Inledning. 2 Optimering utan bivillkor. CTH/GU STUDIO 6 TMV036c /2015 Matematiska vetenskaper

Icke-linjära ekvationer

Newtons metod och arsenik på lekplatser

Introduktion till Matlab

LABORATION cos (3x 2 ) dx I =

Introduktion till Matlab

TMV225 Inledande Matematik M

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Introduktion till Matlab

Introduktion till Matlab

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Grafik och Egna funktioner i Matlab

Ickelinjära ekvationer

Egenvärdesproblem för matriser och differentialekvationer

Mer om funktioner och grafik i Matlab

DERIVATA. = lim. x n 2 h h n. 2

5B1134 Matematik och modeller Lösningsförslag till tentamen den 11 oktober 2004

5B1134 Matematik och modeller Lösningsförslag till tentamen den 12 januari 2005

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Konvergens för iterativa metoder

Lösningsförslag Tentamen i Beräkningsvetenskap I, 5.0 hp,

Icke-linjära ekvationer

Institutionen för Matematik, KTH Lösningar till tentamen i Analys i en variabel för I och K (SF1644) 1/ e x h. (sin x) 2 1 cos x.

Laborationstillfälle 1 Lite mer om Matlab och matematik

5B1134 Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under läsåren och

Introduktion till Matlab

Funktioner och grafritning i Matlab

Del I: Lösningsförslag till Numerisk analys,

f(x + h) f(x) h f(x) f(x h) h

SF1625 Envariabelanalys

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Labb 3: Ekvationslösning med Matlab (v2)

Introduktion till Matlab

Introduktion till Matlab

Chalmers tekniska högskola Datum: kl Telefonvakt: Carl Lundholm MVE475 Inledande Matematisk Analys

Strömning och varmetransport/ varmeoverføring

Mer om funktioner och grafik i Matlab

ALA-a Innehåll RÄKNEÖVNING VECKA 7. 1 Lite teori Kapitel Kapitel Kapitel Kapitel 14...

Funktionsstudier med derivata

Introduktion till Matlab

Inbyggda funktioner i MATLAB

Envariabelanalys 5B1147 MATLAB-laboration Derivator

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning.

Planering för Matematik kurs D

Introduktion till Matlab

UPPGIFTER KAPITEL 2 ÄNDRINGSKVOT OCH DERIVATA KAPITEL 3 DERIVERINGSREGLER

Föreläsning 1. Numeriska metoder grundkurs II, DN1240. Carina Edlund Mottagningstid i rum 4516: onsdagar kl.

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Introduktion till Matlab

Teknisk Beräkningsvetenskap I Tema 3: Styvhetsmodellering av mjuk mark med icke-linjära ekvationer

ANDREAS REJBRAND Statistisk fysik Wiens förskjutningslag: hur snäll är solen?

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

6 Derivata och grafer

% Föreläsning 4 22/2. clear hold off. % Vi repeterar en liten del av förra föreläsningen:

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Numerisk Analys, MMG410. Lecture 10. 1/17

Funktioner och grafritning i Matlab

SF1625 Envariabelanalys Lösningsförslag till tentamen

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Kapitel 4. Iterativ lösning av ekvationer

5B1134 Matematik och modeller Lösningsförslag till tentamen den 29 augusti 2005

Matriser och Inbyggda funktioner i Matlab

Uppsala Universitet Matematiska Institutionen Bo Styf. Lösningar till kryssproblemen 1-5. Uppgifter till lektion 1: = 10 x. = x 10.

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Introduktion till MATLAB

SF1620 (5B1134) Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under tiden

Tentamen : Lösningar. 1. (a) Antingen har täljare och nämnare samma tecken, eller så är täljaren lika med noll. Detta ger två fall:

Sekantens riktningskoefficient (lutning) kan vi enkelt bestämma genom. k = Men hur ska vi kunna bestämma tangentens riktningskoefficient (lutning)?

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp

Symboliska beräkningar i Matlab

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Linjära system av differentialekvationer

Matematik 3 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Intervallhalveringsmetoden, GKN sid 73. Sekantmetoden, GKN sid 79

En vanlig uppgift är att bestämma max resp min för en trigonometrisk funktion och de x- värden för vilka dessa antas.

2. (a) Skissa grafen till funktionen f(x) = e x 2 x. Ange eventuella extremvärden, inflektionspunkter

5B1134 Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under läsåren , och

Fler uppgifter på andragradsfunktioner

5B1134 Matematik och modeller Lösningsförslag till tentamen den 13 januari T = 1 ab sin γ. b sin β = , 956 0, 695 0, 891

4. Bestäm eventuella extrempunkter, inflexionspunkter samt horisontella och vertikala asymptoter till y = 1 x 1 + x, och rita funktionens graf.

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

SF1625 Envariabelanalys

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

SF1664 Tillämpad envariabelanalys med numeriska metoder Lösningsförslag till tentamen DEL A

1. Bestäm definitionsmängden och värdemängden till funktionen f(x,y) = 1 2x 2 3y 2. Skissera definitionsmängden, nivålinjerna och grafen till f.

Sidor i boken f(x) = a x 2 +b x+c

Lösningar och kommentarer till uppgifter i 3.1

Tentamen i matematik. f(x) = 1 + e x.

Transkript:

CTH/GU STUDIO 5 TMV36a - 214/215 Matematiska vetenskaper 1 Inledning Linjärisering och Newtons metod Vi skall fortsätta med att lösa ekvationer. I förra studioövningen såg vi på intervallhalveringsmetoden. Den är pålitlig men ganska långsam. I denna studioövning skall vi använda Newtons metod som är mycket snabbare, bara vi har en bra första approximation av en lösning. Som exempel kan vi ta, f(x) =.5(x 2) 2 2 cos(2x) 1.5 = Vi börjar med att rita grafen till f för att få en uppfattning om hur många nollställen vi har och ungefär var de ligger. >> f=@(x).5*(x-2).^2-2*cos(2*x)-1.5; >> x=linspace(-3,7); >> plot(x,f(x)) >> axis([-3 7-5 1]), grid on 1 5 y = f(x) 5 3 2 1 1 2 3 4 5 6 7 Vi ser lösningar till f(x) = som de punkter där grafen skär x-axeln. Vi kan grafiskt läsa av en första approximation av en lösning för att sedan förbättra denna med Newtons metod. Innan vi kan komma till Newtons metod måste vi dock först se på linjäriseringar av funktioner i en variabel. 2 Linjärisering Vi skall se på linjärisering av en differentierbar (deriverbar) funktion i en variabel f : R R. Linjäriseringen av f runt punkten a ges av (Definition 8, Adams 4.9) L(x) = f(a) + f (a)(x a). Nära punkten a har vi f(x) L(x) och den räta linjen y = L(x) är tangenten till kurvan y = f(x) vid a. Uppgift 1. Linjärisera f(x) =.5(x 2) 2 2 cos(2x) 1.5 runt a = 1, a = 2.5 och a = 2.8. Rita funktionskurvan tillsammans med linjäriseringarna i a för de olika a-värdena. 1

3 Newtons metod Låt f : R R vara en deriverbar funktion. Vi skall lösa ekvationen f(x) = med Newtons metod (Adams 4.2) som bygger på successiva linjäriseringar. Antag att x k är en approximation av en lösning till ekvationen f(x) =. Bilda linjäriseringen i x k, dvs. L(x) = f(x k ) + f (x k )(x x k ) och lös L(x) =, istället för f(x) =, och tag denna lösning x k+1 = x k f(x k) f (x k ) som en ny approximation av nollstället. Detta är Newtons metod. Som stoppvillkor för iterationen tar vi x k+1 x k tol Det betyder att vi accepterar x k+1 om ändringen i sista iteration är mindre än toleransen. Vi tillåter maximalt k max iterationer (k max = 1 är rimligt). Vi ser på några steg med metoden: Starta med en approximation x av en lösning till f(x) =. 4 2 y = f(x) x 2 2 2 4 6 Bilda tangenten y = f(x )+f (x )(x x ) till f i x = x och tag dess skärningspunkt med x-axeln som en ny approximation x 1 = x f(x ) f (x ) 4 2.5 y = f(x) x 1 x 2 2 2 4 6.5 x 2 x 1 1.5 2 2.5 3 3.5 Bilda tangenten y = f(x 1 )+f (x 1 )(x x 1 ) i x = x 1 och tag dess skärningspunkt med x-axeln som en ännu nyare approximation x 2 = x 1 f(x 1) f (x 1 ) 2

Som exempel tar vi: Lös ekvationen f(x) = där f(x) = 1 2 (x 2)2 2 cos(2x) 3 2 Grafen som vi redan ritat visar att vi har ett nollställe nära x = 4 som vi tar som startapproximation. >> f=@(x).5*(x-2).^2-2*cos(2*x)-1.5; >> Df=@(x)x-2+4*sin(2*x); >> x=4; >> kmax=1; tol=.5e-8; >> for k=1:kmax d=-f(x)/df(x); x=x+d; disp([x d]) if abs(d)<tol, break, end end Utskriften av x k och d k = x k+1 x k ger 3.8672246859472 -.1327753194528 3.86647999346416 -.81668124834 3.86647887464428 -.111881988 3.86647887464427 -.2 För en tillräckligt bra startapproximation x konvergerar Newtons metod mycket snabbt. Ungefär en fördubbling av antalet korrekta decimaler i varje iteration. Uppgift 2. Låt f(x) = x 3 cos(4x). Lös ekvationen f(x) =. Rita upp grafen till f för att se var ungefär lösningarna (skärningspunkterna) ligger. Hur många lösningar finns det? Läs av i grafiken en första approximation av en lösning för att sedan förbättra denna med Newtons metod. Rita ut lösningen med en liten ring. Upprepa tills du beräknat alla lösningar till ekvationen. 4 Eget program i Matlab Det är praktiskt att packetera en metod genom att skriva ett program eller funktion som utför metoden. Vi gjorde det i förra studioövningen för intervallhalveringsmetoden och nu gör vi det även för Newtons metod. Uppgift 3. Skriv en function som löser ekvationen f(x) = med Newtons metod. Funktionen skall heta min newton och skall som indata ges två funktioner, dels en som beräknar f(x) dels en som beräknar f (x), en startapproximation av lösningen, samt den noggrannhet lösningen skall bestämmas med. Funktionen skall som utdata ge en approximation av nollstället som uppfyller noggrannhetskravet. Funktionen skall innehålla en hjälptext som beskriver hur den skall användas. Skriver vi help min newton i Command Window så skall det se ut något liknande: 3

>> help min_newton min_newton - beräknar nollställe till f(x) givet startapproximation x. Syntax: x = min_newton(f,df,x,tol) Argument: f - funktionshandtag: pekar på namnet till en funktionsfil eller till en anonym funktion. T.ex. f=@funk eller f=@(x)cos(x)-x Df - funktionshandtag: pekar på namnet till en funktionsfil eller till en anonym funktion som ger derivatan av f. T.ex. Df=@Dfunk eller Df=@(x)-sin(x)-1 x - ett tal som ger en startapproximation av nollstället. tol - positivt tal som anger önskad noggrannhet för nollstället. Returnerar: x - ett tal som ger approximativt nollställe. Beskrivning: Programmet beräknar ett approximativt nollställe till f(x) med Newtons metod. Exempel: x = min_newton(@(x)cos(x)-x,@(x)-sin(x)-1,1.,1e-5) För att underlätta lite finns på studiohemsidan ett programskal min newton.m att utgå ifrån. Uppgift 4. Använd din funktion min newton för att lösa följande ekvationer. Rita grafer och beräkna samtliga lösningar. (a). f(x) =.5(x 2) 2 2 cos(2x) 1.5 = (b). f(x) = x 3 cos(4x) = 5 Modifiering av Newtons metod En dålig startapproximation kan leda till att Newtons metod divergerar, då är det lämpligt att försöka med dämpad Newton f(x k ) x k+1 = x k α k, k =, 1, f (x k ) Dämpningsfaktorn α k väljs så att f(x k+1 ) < f(x k ). Man kan t.ex. börja med α k = 1, på försök ta ett steg i iterationen, om vi har fått en minskning av f accepterar vi steget. I annat fall halverar vi successivt α k och gör nya försök, tills vi har en minskning av f. Om vi inte vill beräkna derivator så kan vi approximera dem med differenskvoter för lämpligt valt litet positivt tal h. f (x) 6 Färdigt program i Matlab f(x + h) f(x h) 2h Verktygslådan Optimization Toolbox i Matlab har en funktion fzero som finner nollställen. Metoden i fzero är en modifiering av Newtons metod i kombination med intervallhalveringsmetoden, där den senare griper in då startapproximationen inte tillräckligt bra. 4

Funktion fzero används enligt något av alternativen x=fzero(fun,x) x=fzero(fun,x,opts) där fun beskriver funktionen vi skall finna nollstället till, x är en startapproximation av nollstället eller ett intervall med teckenväxling som omsluter nollstället vi söker. I senare fallet kommer fzero garanterat finna en approximation av ett nollställe. Alternativet med opts använder vi då vi t.ex. vill ange hur noggrant lösningen skall beräknas. Man skapar vektorn opts med funktionen optimset, se hjälptexten. Vi använder fzero för att beräkna en lösning till för en sista gång. >> f=@(x).5*(x-2).^2-2*cos(2*x)-1.5; >> x=4; >> x=fzero(f,x) x = 3.86647887464427 f(x) = 1 2 (x 2)2 2 cos(2x) 3 2 = Uppgift 5. Lös ekvationen f(x) = (x 5) e x + 5 = med fzero. Rita graf och se efter var nollställena ligger och beräkna det intressanta nollstället. Läs sedan helt kort om bakgrunden till ekvationen i nästa avsnitt. 7 Svartkroppsstrålning Detta avsnitt anknyter till Atkins och Jones kapitel 1. Energitätheten vid svartkroppsstrålning ges av Plancks strålningslag u(λ, T) = 8πhc 1 λ 5 e hc/kλt 1 där λ [m] är våglängden, T [K] är temperaturen, h = 6.6256 1 34 [Js] är Plancks konstant, c = 2.9979 1 8 [ms 1 ] är ljushastigheten i tomrum och k = 1.385 1 23 [JK 1 ] är Boltzmanns konstant. I nästa studioövning skall vi återskapa figur 1.12, Atkins och Jones kapitel sid 8, som visar graferna av u(λ, T) över intervallet < λ 1 µm för några olika värden på T. Huvuddelen av strålningen förskjuts mot allt kortare våglängder då temperaturen ökar, se graferna i figur 1.12 (topparna flyttas åt vänster då T ökar). Enligt Wiens förskjutningslag (Atkins och Jones sid 9) gäller sambandet Tλ max = b λ där λ max är den våglängd för vilken strålningen är maximal och b λ = 2.8979 1 3 är Wiens förskjutningskonstant. Man kan härleda Wiens förskjutningslag från Plancks strålningslag genom att deriverar u(λ, T) med avseende på λ och sätta derivatan till noll. Vi får du dλ = d ( ) 8πhc 1 = dλ λ 5 e hc/kλt 1 5

så vi har Låter vi x = hc kλt = 5 8πhc 1 λ 6 e hc/kλt 1 + 8πhc λ 5 = 8πhc λ 6 (e hc/kλt 1) du dλ = hc kλt 1 (e hc/kλt 1) 2 ehc/kλt ( hc e hc/kλt kλt e hc/kλt 1 5 ( hc kλ 2 T ) e hc/kλt e hc/kλt 1 5 = kommer vi efter förenkling fram till ekvationen f(x) = (x 5) e x + 5 = ) = Denna ekvation kan inte lösas exakt. I uppgift 5 beräknade vi ekvationens lösning x = 4.9651 och får därmed b λ = hc x k = 2.8979 1 3. Enligt Stefan-Boltzmanns lag (Atkins och Jones sid 9) gäller sambandet E = σt 4 mellan totala energimängden E och temperaturen T, där σ = 5.674 1 8 [Wm 2 K 4 ] är Stefan-Boltzmanns konstant. Stefan-Boltzmanns lag kan fås från Plancks lag genom integration, men vi väntar med detta tills läsperiod 2 då vi lär oss om integraler. 6