Flervariabelanlys och Matlab Kapitel 3

Relevanta dokument
Flervariabelanalys och Matlab Kapitel 3

SF1626 Flervariabelanalys

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

Dubbelintegraler och volymberäkning

RIEMANNSUMMOR. Den bestämda integralen definieras med hjälp av Riemannsummor. Låt vara en begränsad funktion,, reella tal och. lim.

Kap Generaliserade multipelintegraler.

SF1626 Flervariabelanalys

SF1626 Flervariabelanalys Tentamen 18 augusti 2011, Svar och lösningsförslag

Kap Dubbelintegraler.

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

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

Studio 6: Dubbelintegral.

x ( f u 2y + f v 2x) xy = 24 och C = f

Laboration 4: Integration på olika sätt

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Lösningar till Matematisk analys

SF1646 Analys i flera variabler Tentamen 18 augusti 2011, Svar och lösningsförslag

Matlab övningsuppgifter

Tentamen i Matematisk analys, HF1905 exempel 1 Datum: xxxxxx Skrivtid: 4 timmar Examinator: Armin Halilovic

SF1669 Matematisk och numerisk analys II Lösningsförslag till modelltentamen DEL A

SF1625 Envariabelanalys Lösningsförslag till tentamen

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Torsdagen den 4 juni 2015

11 Dubbelintegraler: itererad integration och variabelsubstitution

Låt vara en reell funktion av en reell variabel med definitionsmängden som är symmetrisk i origo.

av envariabelfunktionen g(t) och flervariabelfunktionen t = h(x, y) = x 2 + e y.)

SF1626 Flervariabelanalys Tentamen Måndagen den 16 mars 2015

SF1626 Flervariabelanalys Tentamen Måndagen den 16 mars 2015

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

SF1626 Flervariabelanalys Bedömningskriterier till tentamen Måndagen den 16 mars 2015

4 Numerisk integration och av differentialekvationer

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Måndagen den 16 mars 2015

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

f(x, y) = ln(x 2 + y 2 + 1). 3. Hitta maximala arean för en rektangel inskriven i en ellips på formen x 2 a 2 + y2

TANA17 Matematiska beräkningar med Matlab

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

TAIU07 Matematiska beräkningar med Matlab

(x 3 + y)dxdy. D. x y = x + y. + y2. x 2 z z

Mer om integraler. Kapitel I. I.1 Integraler

Läsanvisningar till Analys B, HT 15 Del 1

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

Tentamen SF1626, Analys i flera variabler, Svar och lösningsförslag. 2. en punkt på randkurvan förutom hörnen, eller

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Institutionen för matematik KTH. Tentamensskrivning, , kl B1210 och 5B1230 Matematik IV, för B, M, och I.

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

TMV036/MVE350 Analys och Linjär Algebra K Kf Bt KI, del C

2. Avgör om x och z är implicit definierade som funktion av y via följande ekvationssystem. x 3 + xy + y 2 + z 2 = 0 x + x 3 y + xy 3 + xz 3 = 0

TAMS79: Föreläsning 4 Flerdimensionella stokastiska variabler

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Laboration 3. Ergodicitet, symplektiska scheman och Monte Carlo-integration

TMV036 Analys och linjär algebra K Kf Bt, del C

10x 3 4x 2 + x. 4. Bestäm eventuella extrempunkter, inflexionspunkter samt horizontella och vertikala asymptoter. y = x 1 x + 1

Läsanvisningar Henrik Shahgholian

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

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

1 x. SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

x 2 = lim x 2 x 2 x 2 x 2 x x+2 (x + 3)(x + x + 2) = lim x 2 (x + 1)

Kap 5.7, Beräkning av plana areor, rotationsvolymer, rotationsareor, båglängder.

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I

x sin(x 2 )dx I 1 = x arctan xdx I 2 = x (x + 1)(x 2 2x + 1) dx

(x + 1) dxdy där D är det ändliga område som begränsas av kurvorna

Tentamen IX1304 Matematik, Analys , lösningsidéer

TAIU07 Matematiska beräkningar med Matlab

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

Tentamen TMA044 Flervariabelanalys E2

Institutionen för matematik KTH. Tentamensskrivning, , kl B1119, Vektoranalys, för Open.

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

Lösningsförslag till Tentamen i SF1602 för CFATE 1 den 20 december 2008 kl 8-13

2. Förkorta bråket så långt som möjligt 1001/

DUBBELINTEGRALER. Rektangulära (xy) koordinater

Matematiska institutionen Carl-Henrik Fant. 13 mars 2000

Tentamen i matematik. f(x) = ln(ln(x)),

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

SF1544 LABORATION 2 INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER

u av funktionen u = u(x, y, z) = xyz i punkten M o = (x o, y o, z o ) = (1, 1, 1) i riktningen mot punkten M 1 = (x 1, y 1, z 1 ) = (2, 3, 1)

har ekvation (2, 3, 4) (x 1, y 1, z 1) = 0, eller 2x + 3y + 4z = 9. b) Vi söker P 1 = F (1, 1, 1) + F (1, 1, 1) (x 1, y 1, z 1) = 2x + 3y + 4z.

Lösningsförslag till tentamen Torsdag augusti 16, 2018 DEL A

UPPSALA UNIVERSITET Matematiska institutionen Michael Melgaard. Prov i matematik Prog: Datakand., Frist. kurser Derivator o integraler 1MA014

Demonstration av laboration 2, SF1901

x 1 1/ maximum

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

TATA44 Lösningar 24/8/ ) Låt S vara den del av x 2 + y 2 + z 2 = 2 innanför cylindern x 2 + y 2 = 1. Inför cylinderkoordinater.

SF1626 Flervariabelanalys Bedömningskriterier till tentamen Onsdagen den 15 mars 2017

LABORATION cos (3x 2 ) dx I =

Institutionen för Matematik, KTH Torbjörn Kolsrud

TATA44 Lösningar 26/10/2012.

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

TMV036 Analys och Linjär Algebra K Kf Bt, del C

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Hjälpmedel: utdelad ordlista, ej räknedosa Chalmers tekniska högskola Datum: kl

Problem inför KS 2. Problem i matematik CDEPR & CDMAT Flervariabelanalys. KTH -matematik

Repetition, Matematik 2 för lärare. Ï x + 2y - 3z = 1 Ô Ì 3x - y + 2z = a Ô Á. . Beräkna ABT. Beräkna (AB) T

Läsanvisningar till: R.A. Adams, Calculus, a Complete Course, 4th ed.

1. En kortlek består av 52 kort, med fyra färger och 13 valörer i varje färg.

Transkript:

Flervariabelanlys och Matlab Kapitel 3 Thomas Wernstål Carl-Henrik Fant Matematiska Vetenskaper 17 september 2009 1

3 Multipelntegraler 3.1 ubbelintegraler Exempel. Vi skall beräkna dubbelintegralen (y sin x + x cos y) dxdy där är rektangeln : π x 2π, 0 y π. Lösning. Ett enkelt sätt att beräkna närmevärden är att beräkna en Riemannsumma till integralen. Vi börjar med att definiera integranden som en anonym funktion >> f=@ (x,y) y.*sin(x)+x.*cos(y); ärefter gör vi en partition av med 1000 1000 delrektanglar, alla med arean π 2 /1000000: >> n=1000; >> [x,y]=meshgrid(linspace(pi,2*pi,n+1),linspace(0,pi,n+1)); Hela rektangelarean är π 2, delrektanglarnas area är π 2 /10 6. Vi väljer sedan en punkt i varje delrektangel, t.ex. nedre vänstra hörnet. å beräknas Riemannsumman med kommandot >> da=piˆ2/nˆ2; >> I=sum(sum(f(x(1:n,1:n),y(1:n,1:n))))*dA Jämför med integralens exakta värde, π 2 så ser du att relativa felet, trots det mycket stora antalet delrektanglar, är 6 10 3. Relativa felet är alltså ungefär samma som sidlängden i delrektanglarna. För att minska relativa felet med en faktor 10 till storleksordningen 10 4, måste antalet delrektanglar, och antalet element i matriserna x och y, ökas med en faktor 100 till 10 8. Matlab klarar inte mycket större matriser än de som använts här. Skall man beräkna Riemannsumma med finare indelning krävs det att kalkylerna organiseras på annat sätt. Genom detta exempel kan man se att Riemannsumman inte ger en bra numerisk metod. essutom tar kalkylen lång tid vilket syns om man låter Matlab ta tiden: >> tic,i=sum(sum(f(x(1:n-1,1:m-1),y(1:n-1,1:m-1))))*a,toc För att beräkna approximativa värden på envariabelintegraler används ofta Simpsons formel som bygger på att man delar in integrationsområdet i m små intervall, och sedan approximerar integranden i vart och ett av intervallen med ett andragradspolynom som har samma värde som integranden i delintervallets ändpunkter och mittpunkt. 2

Summan av integralerna av andragradspolynomen ger Simpsons formel: b a f(x)dx (b a) m 2m+1 k=0 w k f(x k ). Här är x k = a + k (b a) och w 2m+1 k är i tur och ordning 1, 4, 2, 4, 2, 4, 2, 4, 1. 6 6 6 6 6 6 6 6 6 Med 500 delintervall och därmed 1001 punkter (inklusive mittpunkterna i delintervallen) ges följden w k i Matlab av >> m=500: n=2*m+1; w = [1 [3*ones(1,n-2)+(-1).ˆ(2:n-1)] 1]/6; Genom upprepad integration, där simpsons formel används först vid integralberäkning i ena variabeln och sedan i den andra kan man härleda en tvådimensionell Simpsons formel: f(x)dx (b a)(d c) m 2 2m+1 j=0 2m+1 k=0 w j,k f(x j, y k ). Här är x j = a + j (b a), y 2m+1 k = c + k (d c) och w 2m+1 j,k = w j w k med w k enligt ovan. Vikterna w j,k ges av matrisen: >> W = w * w; För att beräkna integralen ovan med denna tvådimensionella Simpsons formel, och samtidigt ta beräkningstiden skriver man: >> m=500;n=2*m+1; >> [x,y]=meshgrid(linspace(pi,2*pi,n),linspace(0,pi,n)); >> w = [1 [3*ones(1,n-2)+(-1).ˆ(2:n-1)] 1]/6; >> W = w * w; >> da=piˆ2/mˆ2; >> tic,i=sum(sum(w.*f(x,y)))*da,toc Tidsåtgången blir ungefär samma som för Riemannsumman, men relativa felet blir nu av storleksordningen 1/m 4. Matlabs integralberäkningsprogram quad använder Simpsons formel men med en adaptiv metod där intervallindelningen styrs av beräkningsresultaten. är funktionen varierar mycket görs finare indelning, där variationen är liten görs grov indelning. et finns också ett par andra beräkningsmetoder att tillgå, quadl, och quadgk. u kan läsa mer om detta i Matlabs Product help under rubriken Numerical Integration (Quadrature) 3

ubbelintegraler över axelparallella rektanglar beräknas med hjälp av dblquad. I princip används upprepad integration genom att Matlab först gör en indelning av den andra variabelns intervall, beräknar enkelintegralen i alla dessa delningspunkter med avseende på den första variabeln med hjälp av quad. Simpsons formel tillämpas sedan med dessa beräknade integralvärden. Indelningen av andra variabelns intervall förfinas, integraler beräknas i de nya punkterna, Simpsons formel tillämpas igen. Proceduren upprepas till förändringen är liten nog. Även i detta fall görs indelningen finare där det behövs. Man kan välja annan metod för beräkning av enkelintegralerna. Trippelintegralsberäkning, som vi kommer till i avsnitt 3.2 bygger på samma idé. Exempel. Vi skall beräkna samma dubbelintegral som ovan (y sin x+x cos y) dxdy där är rektangeln : π x 2π, 0 y π. Lösning. Eftersom vi redan definierat integranden som en anonym funktion kan vi beräkna dubbelintegralen, med relativt fel 10 6 vilket är grundinställningen, genom kommandot >> I = dblquad(f,pi,2*pi,0,pi) Jämför med integralens exakta värde, π 2 så ser du att relativa felet i själva verket är ungefär 10 9. För att minska beräkningstiderna kan vi ibland acceptera större relativt fel. Kommandot >> I = dblquad(f,pi,2*pi,0,pi,0.006) ger samma relativa fel som riemannsumman ovan, men hundra gånger snabbare. Vid beräkning av dubbelintegraler över ett allmännare område, som ligger i en axelparallell rektangel R i planet, använder vi att f(x, y) dxdy = f(x, y)χ (x, y) dxdy R där χ är karakteristiska funktionen för området dvs. χ (x, y) = { 1 om (x, y) 0 annars. Exempel. Vi skall beräkna (y sin x + x cos y) dxdy där = {(x, y): 0 x 2, 0 y x 2 }. Lösning. Vi definierar anonyma funktioner som motsvarar karakteristiska funktionen, integranden och, för enkelhets skull, produkten av dessa två: 4

>> kar = @ (x,y) (0 <= x).* (x <= 2).*(0 <= y).* (y <= x.ˆ2); >> f = @(x,y) y.*sin(x)+x.*cos(y); >> f = @(x,y) kar(x,y).*f(x,y); Eftersom {(x, y): 0 x 2, 0 y 4}, så beräknar vi sedan integralen med kommandot >> I = dblquad(f,0,2,0,4) Varje annan rektangel som omfattar duger här. 3.1.1 Övningar 3.1.1 Beräkna följande integraler m.h.a. dblquad. a) y sin (y + xy) dxdy b) c) där = {(x, y): 0 x 1, π/2 y π/2}. x 2 + e x2 +y 2 dxdy, där = {(x, y): x 2 + y 2 1} e x+ey dxdy, där = {(x, y): 1 x 2 y, xy 1}. (Skissa först för hand på området. Gå tillbaka till avsnittet om nivåkurvor om du vill få hjälp av Matlab.) 3.1.2 Låt vara det område i planet som begränsas av nivåkurvorna x sin y+y cos x = xy och (x + 3) 2 + (y 2) 2 = 1.5 och som innehåller punkten ( 3, 1). Beräkna tyngdpunkten för området. Några avsnitt/uppgifter ur kursboken som anknyter till detta avsnitt: 14.2, 14.4 3.2 Trippelintegraler et är inte någon väsentlig skillnad på beräkning av trippelintegral eller dubbelintegral med Matlab. Exempel. Låt oss se hur man använder triplequad för att beräkna integralen xy2 z 3 dxdydz, där : 0 < x < 1, 0 < y < 2, 1 < z < 2. Vi börjar som tidigare med att definiera integranden som en anonym funktion >> f=@(x,y,z) x.*y.ˆ2.*z.ˆ3; 5

För att beräkna integralen ger vi sedan kommandot >> I=triplequad(f,0,1,0,2,1,2) Om integrationsområdet inte är en parallellepiped definierar vi en karakteristisk funktion för området, multiplicerar med den och integrerar, precis som i tvådimensionella fallet. 3.2.1 Övningar 3.2.1 Använd kommandot triplequad för att beräkna trippelintegralen dxdydz där : x > 0, y > 0, z > 0, x + y + z < 2. (x + y + z + 1) 3 3.2.2 Beräkna volymen av en sfär med radie 1 genom att beräkna integralen dxdydz där : x 2 + y 2 + z 2 1, dels med hjälp av sfärisk substitution och triplequad, dels med tekniken med karakteristisk funktion för och triplequad. Några avsnitt/uppgifter ur kursboken som anknyter till detta avsnitt: 14.5.1-12, 14.6.15-20 3.3 Monte Carlo metoden I detta avsnitt skall vi se hur man kan beräkna flerdimensionella integraler approxmativt med den så kallade Monte Carlo-metoden. Vi kommer inte att göra någon matematisk analys av hur effektiv och noggrann metoden är, eftersom en sådan analys förutsätter kunskaper i matematisk statistik. e metoder som använts i det föregående utnyttjar, som redan nämts, Simpsons formel. I Matlabprogrammen quad, dblquad och triplequad används en adaptiv metod där intervallindelningen styrs av beräkningsresultaten. Trots detta krävs många beräkningssteg för att ge önskad noggrannhet. Matlabprogrammen quad, dblquad och triplequad har tre nackdelar. För det första har de problem med diskontinuiteter, som naturligt kommer in om integrationsområdet inte är en rektangel eller ett rätblock. För det andra ökar beräkningstiden väsentligt med ökande dimension. För det tredje, och viktigast, finns inget färdigt matlabprogram för n-dimensionella integraler med n > 3. 6

En enkel metod som kan vara en lösning på dessa problem är Monte Carlo-metoden. Vi skall först se hur den kan användas till att åskådliggöra områden i planet och beräkna arean. Området i figuren nedan är inritat i en ruta som är 1 1. Antag att området har arean A. Om man väljer två koordinater 0 x 1 och 0 y 1 slumpvis, så är sannolikheten att punkten (x, y) ligger i området precis A (man måste ställa en del krav på hur området ser ut, för att detta påstående skall vara sant). Om man nu väljer N punkter, (x i, y i ), 1 i N, så bör antalet punkter, M, som ligger inom det markerade området i genomsnitt vara A N. Med andra ord bör vi få M A N och A M/N. Om området ligger inom en axelparallell rektangel R med area W så tar man punkterna slumpvis i rektangeln och multiplicerar kvoten med W : A W M/N. etta är idén bakom Monte Carlo-metoden: 1. Välj N punkter (x i, y i ) slumpvis i rektangeln R. 2. Undersök hur många av de N punkterna som ligger i område. Kalla detta antal för M. 3. Tag A W M/N som en approximation av områdets area. Man kan visa att om området uppfyller viss villkor, som uppfylls av de flesta områden man kan tänkas komma på, så är beräkningsfelet med denna metod av storleksordning 1/ N. I det tvådimensionella fallet är detta jämförbart med Riemannsumman men i högre dimension är det väsentligt bättre. Exempel. Vi ritar området som ges av 1 xy 4, x y 4x, x > 0, y > 0 samt beräknar områdets area. Lösning. Vi observerar först att om χ (x) är områdets karakteristiska funktion så ges antalet träffar i av N M = χ (x i, y i ). i=1 7

Alltså har vi att A W N N χ (x i, y i ). i=1 I detta exempel har vi >> chi = @ (x,y) (x.*y>=1).*(x.*y<=4).*(y>=x).*(y<=4*x); e två hyperblerna skär linjerna i punkterna ( 1, 2), (1, 1) (1, 4) och (2, 2). Området 2 ligger i rektangeln 1 x 2, 1 y 4 2 Vi genererar sedan punkter slumpvis i kvadraten med sida 1, multiplicerar med intervallens längder och translaterar så att vänster ändpunkt är rätt: >> N=100; X=rand(N,2); >> x = 1/2 + 3/2*X(:,1); y = 1 + 3*X(:,2); För att rita området låter vi Matlab bestämma alla punkter där karakteristiska funktionen är 1. >>M=find(chi(x,y)==1);plot(x(M),y(M),. ) Eftersom rektangelarean är 3 2 3 = 9 2 får vi sedan arean till: >>A = 9/2*sum(chi(x,y))/N; När vi ser att det hela fungerar ökar vi antalet punkter till en miljon, får en fin graf och arean till ungefär 2.08. en exakta arean är 3 ln(2) 2.076.. 8

En väsentlig fördel med metoden är att varken beräkningarna eller felet påverkas av dimensionen. Om man har en n-dimensionell kropp som ligger i ett n-dimensionellt rätblock av volym W och slumpmässigt tar N punkter i detta rätblock, så är kroppens (n-dimensionella) volym V W M, där M är antalet punkter som ligger i kroppen. N Om man istället vill beräkna en multipelintegral, I = f(x) dx, så gör man precis på samma sätt, fast nu blir Ω I W N N χ Ω (x i )f(x i ). i=1 et finns förbättringar av metoden. Vill du veta mer kan du läsa på: http://www.wikidoc.org/index.php/monte Carlo integration Exempel. Vi illustrerar hur man kan beräkna integralen 1/ x 2 + y 2 + z 2 dxdydz då = {(x, y, z) : x 2 + y 2 + z 2 1, x > 0, y > 0, z > 0}. Lösning. Integrationsområdet ligger i kuben 0 x 1, 0 y 1, 0 x 1. Som vanligt definierar vi områdets karakteristiska funktion och integranden som anonyma funktioner: >>chi=@(x,y,z) (x.ˆ2+y.ˆ2+z.ˆ2 < 1) >>f=@(x,y,z) 1./sqrt(x.ˆ2+y.ˆ2+z.ˆ2) och produkten: >>f=@(x,y,z) chi(x,y,z).*f(x,y,z) Vi låter Matlab bestämma en miljon punkter i kuben slumpvis med kommandosekvensen >>N=10ˆ6; X=rand(N,3);x=X(:,1); y= X(:,2); z=x(:,3); Integralberäkningen ges nu av: 9

int = sum(f(x,y,z))/n et exakta värdet är π/4 som är ungefär 0.7854, vilket även triplequad ger. Medelvärdet för 10 beräkningar med denna metod blev 0.7858. Styrkan ligger i möjligheten att öka antalet dimensioner. 3.3.1 Övningar I figuren nedan ges området Λ av Λ = {(x, y); (x 0.5) 2 + (y 0.5) 2 < 1/16}, och Γ består av det område som definieras av olikheterna y 2 ln(1 + x) < 0, x + 4(y 1/2) 2 < 1, och (x 1/2) 2 + y 2 > 0.09. Området Λ. Området Γ. 3.3.1 Beräkna först det exakta värdet av arean av området Λ och integralen, (x 2 + y 2 ) dxdy. Λ Utför samma beräkningar med Monte Carlometoden. För att se hur det beräknade värdet varierar för fixt N och hur det förbättras för ökande N kan du utföra beräkningarna med N = 10, 100, 1000, 10000 punkter, och upprepa varje sådan beräkning 10-15 gånger. Studera hur relativa felet varierar från gång till gång då N hålls fixt och hur relativa felen förändras då N ökas. 10

3.3.2 Gör motsvarande för området Γ respektive integralen (x 2 + y 2 ) dxdy. Γ I detta fall kan du jämföra med vad dblquad ger i stället för det exakta värdet. 3.3.3 Beräkna volymen av en fyrdimensionell sfär x 2 + y 2 + z 2 + u 2 1 med hjälp av Monte-Carlo metoden. 11