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

Relevanta dokument
Linjärisering och Newtons metod

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

Linjärisering, Jacobimatris och Newtons metod.

Matlab övningsuppgifter

Introduktion till Matlab

Introduktion till Matlab

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

Linjära ekvationssystem

Funktioner och grafritning i Matlab

Introduktion till Matlab

Introduktion till Matlab

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

Introduktion till Matlab

Newtons metod och arsenik på lekplatser

Introduktion till Matlab

Parametriserade kurvor

LABORATION cos (3x 2 ) dx I =

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

Icke-linjära ekvationer

Introduktion till Matlab

Introduktion till Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

Funktioner och grafritning i Matlab

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

Mer om funktioner och grafik i Matlab

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

TMV225 Inledande Matematik M

Mer om funktioner och grafik i Matlab

Introduktion till Matlab

Labb 3: Ekvationslösning med Matlab (v2)

Grafik och Egna funktioner i Matlab

Inbyggda funktioner i MATLAB

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

Introduktion till Matlab

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

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

Symboliska beräkningar i Matlab

Tillämpning: Bildinterpolation. Ekvationslösning. Integraler. Tillämpning: En båt. Räkning med polynom. Projekt. Tentamensinformation.

Fler uppgifter på andragradsfunktioner

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Dubbelintegraler. 1 Inledning. 2 Rektangelregeln. CTH/GU LABORATION 5 MVE /2018 Matematiska vetenskaper

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

Ickelinjära ekvationer

Laboration: Grunderna i Matlab

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

MMA132: Laboration 1 Introduktion till MATLAB

Mer om geometriska transformationer

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

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

Icke-linjära ekvationer

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

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

TANA17 Matematiska beräkningar med Matlab

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

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

Introduktion till MATLAB

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 20 november 2015 Sida 1 / 30

Armin Halilovic: EXTRA ÖVNINGAR

Programmering i Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

TAIU07 Matematiska beräkningar med Matlab

SF1625 Envariabelanalys

Geometriska transformationer

Matriser och Inbyggda funktioner i Matlab

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

Linjära ekvationssystem i Matlab

MATLAB Laboration problem med lokala extremvärden

Tangenter till tredjegradsfunktioner

Kort om programmering i Python

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

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

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.

Matriser och Inbyggda funktioner i Matlab

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.

Konvergens för iterativa metoder

4x 2 dx = [polynomdivision] 2x x + 1 dx. (sin 2 (x) ) 2. = cos 2 (x) ) 2. t = cos(x),

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Differentialekvationer. Repetition av FN5 (GNM kap 6.

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

Intervallhalveringsmetoden, GKN sid 73. Sekantmetoden, GKN sid 79

Matriser och vektorer i Matlab

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

15 februari 2016 Sida 1 / 32

Lab 1, Funktioner, funktionsfiler och grafer.

a3 bc 5 a 5 b 7 c 3 3 a2 b 4 c 4. Förklara vad ekvationen (2y + 3x) = 16(x + 1)(x 1) beskriver, och skissa grafen.

Planering för Matematik kurs D

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

) + γy = 0, y(0) = 1,

System av ordinära differentialekvationer

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

TANA19 NUMERISKA METODER

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

SF1625 Envariabelanalys

Matlab övningsuppgifter

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

Linjära system av differentialekvationer

Transkript:

CTH/GU LABORATION 6 MVE011-2012/2013 Matematiska vetenskaper 1 Inledning Newtons metod Vi skall fortsätta med att lösa ekvationer. I förra veckan såg vi på intervallhalveringsmetoden. Den är pålitlig men ganska långsam. I denna vecka 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) = 0.5 (x 2) 2 2 cos(2x) 1.5 = 0 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)0.5*(x-2).^2-2*cos(2*x)-1.5; >> x=linspace(-3,7); >> plot(x,f(x)) >> axis([-3 7-5 10]), grid on Vi ser lösningar till f(x) = 0 som de punkter där grafen skär x-axeln. 10 5 0 y = f(x) 5 3 2 1 0 1 2 3 4 5 6 7 Vi kan grafiskt läsa av en första approximation av en lösning för att sedan förbättra denna med 2 Newtons metod Antag att x k är en approximation av ett nollställe till ekvationen f(x) = 0. Följ tangenten i punkten (x k, f(x k )), dvs. y = f(x k ) + f (x k )(x x k ) ned till x-axeln (y = 0) och tag skärningspunktens x-koordinat som en ny approximation av nollstället. x k+1 = x k f(x k) f (x k ) 1

y = f(x k ) + f (x k )(x x k ) y = f(x) x k xk+1 Den räta (gröna) linjen är en bit av tangenten till kurvan y = f(x) ovanför x k och vi tar dess skärning med y = 0 som ny (och bättre) approximation. Som exempel tar vi: Lös ekvationen f(x) = 0 där f(x) = cos(x) x. En graf (rita den gärna) visar att vi har ett nollställe och vi tar x 0 = 1 som startapproximation. >> f=@(x)cos(x)-x; Df=@(x)-sin(x)-1; >> x=1; >> kmax=10; tol=0.5e-8; >> for k=1:kmax h=-f(x)/df(x); x=x+h; disp([x h]) if abs(h)<tol, break, end end 0.750363867840244-0.249636132159756 0.739112890911362-0.011250976928882 0.739085133385284-0.000027757526078 0.739085133215161-0.000000000170123 Uppgift 1. Låt f(x) = x 3 cos(4x). Lös ekvationen f(x) = 0. 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 Rita ut lösningen med en liten ring. Upprepa tills du beräknat alla lösningar till ekvationen. Man kan läsa om Newtons metod i Adams 4.2. 3 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 veckan för intervallhalveringsmetoden och nu gör vi det även för Uppgift 2. Skriv en function som löser ekvationen f(x) = 0 med 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. 2

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: >> help min_newton min_newton - beräknar nollställe till f(x) givet startapproximation x0. Syntax: x = min_newton(f,df,x0,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. f=@dfunk eller Df=@(x)-sin(x)-1 x0 - 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 Exempel: x = min_newton(@(x)cos(x)-x,@(x)-sin(x)-1,1.0,1e-5) För att underlätta lite finns ett programskal min newton.m på Matlab-hemsidan att utgå ifrån. Uppgift 3. Pröva nu din funktion min newton på ekvationerna (a). f(x) = 0.5(x 2) 2 2 cos(2x) 1.5 = 0 (b). f(x) = x 3 cos(4x) = 0 4 Färdigt program i Matlab Det finns en färdig funktion fzero för att lösa icke-linjära ekvationer. För en sista gång ser vi på exemplet från inledningen. Vi har alltså och i Matlab löser vi med >> f=@(x)0.5*(x-2).^2-2*cos(2*x)-1.5; >> x0=4; >> x=fzero(f,x0) x = 3.8664 f(x) = 0.5 (x 2) 2 2 cos(2x) 1.5 = 0, Leta gärna upp hjäptexten för funktionen fzero och läs lite. Uppgift 4. Betrakta ekvationen f(x) = 3 + sin(2x) 1 + e 0.03x2 1.2 = 0 Rita graf och beräkna samtliga nollställen noggrannt med fzero. 3

4

CTH/GU MVE011-2012/2013 Matematiska vetenskaper Uppföljning av laboration 6 1 Målsättning Avsikten med denna laborationen är i stort sett samma som för förra laborationen som handlade om intervallhalveringsmetoden. Nu gäller det att förstå Programmeringsarbetet är dock nästan samma. Avslutningsvis skall vi bekanta oss med fzero, ett färdigt program för ekvationslösning i Matlab. 2 Kommentarer och förklaringar Newtons metod utnyttjar funktions- och derivatavärden för att lokalt med en rät linje approximera den funktion vi söker nollställe till. Varje ny approximation ger en bättre bestämning av nollstället. Det finns dock en svag punkt, en rät linje är inte alltid en bra approximation i ett stort område. Vi måste därför alltid ge Newtons metod en bra första gissning av nollstället. Men det är inget större problem för vi skall ju ändå rita en graf så att vi får grepp om hur många nollställen det finns, var ungefär de ligger och vilka som är av intresse för oss. Det färdiga programmet fzero bygger på Newtons metod (och till en del på intervallhalveringsmetoden). Derivatan av funktionen (som vi söker nollställe till) approximeras i programmet så vi behöver inte ge den. 3 Lärandemål Efter denna laboration skall du kunna redogöra för den grundläggande idéen i Newtons metod lösa ekvationer f(x) = 0, genom att beskriva f som en function i Matlab, rita dess graf, grovt lokalisera nollställen av intresse och sedan bestämma dem noggrant med er funktion min newton använda fzero för ekvationslösning 5