Datorlaboration 2. 1 Serier (kan göras från mitten av läsvecka 4)

Relevanta dokument
Funktionsteori Datorlaboration 2

Funktionsteori Datorlaboration 2

Instuderingsfrågor i Funktionsteori

Laboration: Grunderna i MATLAB

5B1147. Envariabelanalys. MATLAB Laboration. Laboration 1. Gränsvärden och Summor

Euler-Mac Laurins summationsformel och Bernoulliska polynom

k=0 kzk? (0.2) 2. Bestäm alla holomorfa funktioner f(z) = f(x + iy) = u(x, y) + iv(x, y) sådana att u(x, y) = x 2 2xy y 2. 1 t, 0 t 1, f(t) =

TATA42: Föreläsning 5 Serier ( generaliserade summor )

SF1625 Envariabelanalys

Om konvergens av serier

gränsvärde existerar, vilket förefaller vara en naturlig definition (jämför med de generaliserade integralerna). I exemplet ovan ser vi att 3 = 3 n n

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

MATLAB övningar, del1 Inledande Matematik

TANA17 Matematiska beräkningar med Matlab

Laboration: Grunderna i Matlab

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

LABORATION cos (3x 2 ) dx I =

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

TATA42: Föreläsning 10 Serier ( generaliserade summor )

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

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

Funktionsserier och potensserier. som gränsvärdet av partialsummorna s n (x) =

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Fourierserier: att bryta ner periodiska förlopp

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:

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Demonstration av laboration 2, SF1901

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

vux GeoGebraexempel 3b/3c Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker

Maclaurins och Taylors formler. Standardutvecklingar (fortsättning), entydighet, numerisk beräkning av vissa uttryck, beräkning

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

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

MMA132: Laboration 2 Matriser i MATLAB

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Introduktion till Matlab

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Introduktion till Matlab

Kontinuerliga system, Datorövning 1

Beräkningsverktyg HT07

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning

TANA17 Matematiska beräkningar med Matlab

Existens och entydighet

Kontinuerliga system, Datorövning 1

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

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

Kursens mål är, förutom faktakunskaper om kursinnehållet, att ge:

Instruktion för laboration 1

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

TAIU07 Matematiska beräkningar med Matlab

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 13:e januari klockan

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

TATA42: Föreläsning 3 Restterm på Lagranges form

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

TANA17 Matematiska beräkningar med Matlab

Laboration 2 M0039M, VT2016

Approximation av funktioner

Datorövning 1 Fördelningar

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

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Datorövning 2. - Tag med lärobok och övningshäfte till övningen. - Fyll före övningenen i svaren på frågorna på sidan 5 i denna handledning.

Inlämningsuppgifter i Funktionsteori, ht 2018

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

Kryssproblem (redovisningsuppgifter).

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

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

Planering för kurs C i Matematik

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

Lösningsmetodik för FMAF01: Funktionsteori

TATA42: Föreläsning 6 Potensserier

TSBB14 Laboration: Intro till Matlab 1D

Inlämningsuppgifter i Funktionsteori, vt 2016

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

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

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

Mer om funktioner och grafik i Matlab

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Matriser och Inbyggda funktioner i Matlab

MMA132: Laboration 1 Introduktion till MATLAB

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Instruktion för laboration 1

Matlabövning 1 Funktioner och grafer i Matlab

a = a a a a a a ± ± ± ±500

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

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

TAIU07 Matematiska beräkningar med Matlab

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Linjär algebra med tillämpningar, lab 1

Numeriska serier Definition av konvergens J amf orelsesatser Vad skall vi j amf ora med? Absolutkonvergens Leibniz kriterium Dagens amnen 1 / 19

Datorövningar i funktionalanalys och harmonisk analys

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

M0038M Differentialkalkyl, Lekt 15, H15

Transkript:

Datorlaboration 2 ht 2016 Funktionsteori, vt 2016 Inledning Denna laboration handlar om serier och likformig konvergens. Hela laborationen, utom uppgift 3.9 där Maple är att föredra, bygger på Matlab. Ha din Matlabmanual lättillgänglig. Vissa ler måste du hämta på kursens hemsida. Förbered dig genom att titta igenom denna handledning och anvisningarna nedan. Komplettera beviset av resttermsuppskattningen (1) på sidan 2. Jämför sida 182183 i läroboken. Läs också igenom kapitlet om Fourierserier i läroboken, om du inte gjort det innan. 1 Serier (kan göras från mitten av läsvecka 4) Vi ska utföra numerisk summation av några serier. För att förstå bättre vad som händer skall du i alla exemplen beräkna delsummorna (med cumsum) och titta på dem, t.ex. med kommandot stairs. 1.1. Serien P +1 k=1 1=k4 är konvergent och har summan 4 =90. Beräkna seriens summa med tre riktiga (korrekta) decimaler. Tre riktiga decimaler betyder att vi tolererar ett fel vars absolutbelopp högst är lika med tol = 0:0005. Jämförelse med integral ger resttermsuppskattningen (se exempel 5.42 i läroboken) r n 1=(3n 3 ), så r n tol om 1=(3n 3 ) tol, det vill säga om n (1=(3tol)) 1=3. Alltså gäller det att 1 1=3 n =) r n tol: 3tol Bestäm hur många termer som behövs för att få seriens summa med 3 decimaler (använd Matlab för räkningen). Bilda nu detta antal av seriens termer och summera. Beräkna närmevärdet på 4 =90. Detta kan göras genom att skriva så här: format long; tol = 5e-4; n = ceil(1/(3*tol)^(1/3)); k = 1:n; a = 1./ k.^ 4; summa = sum(a) stairs(cumsum(a)) Byt ut det sista kommandot mot stairs([0,cumsum(a)]) om du vill börja summaföljden med en nolla. Kontrollera vad ceil (använd help ceil) gör för någonting. I detta fall kan vi jämföra med Matlabs inbyggda värde. fel = (pi^4)/90 - summa Gör nu om alltsammans (format long behöver inte upprepas) med 6 och 9 decimalers noggrannhet. Hur ska värdet på tol ändras? Använd tangenten pil uppåt för att återkalla raden med Matlabkommandon. Det går givetvis att tillverka en skriptl som gör räkningarna om man så föredrar. Summa Antal termer Antal riktiga decimaler fel = 4 =90 summa 3 6 9 1

Räkningarna i exemplet ovan kan användas för att ge ett numeriskt värde på. Det relativa felet i värdet av beräknat med denna metod kan visas vara 1=4 av det relativa felet i seriesumman, så det är lämpligt att beräkna seriesumman med samma antal decimaler som man önskar i. 1.2. Vi tar nu en serie som med framgång kan jämföras med en geometrisk serie. Målet är att beräkna e 6. För att åstadkomma detta ska vi approximativt summera serien 6 k k! k=0 på följande sätt. Termerna a k i serien uppfyller rekursionsformeln a 0 = 1; a k+1 = 6 k + 1 a k: Om vi avbryter summan efter n termer, så har vi ett fel (restterm) som måste uppskattas. Vi börjar med att motivera resttermsuppskattningen r n 2a n+1 om n 10: (1) Ledning: Det gäller att 0 r n = a n+1 + a n+2 + a n+3 + a n+4 + : : : : (2) Vidare gäller det att a n+2 2 1 a n+1, a n+3 2 1 a n+2 2 2 a n+1 och så vidare. Vilken uppskattning får du för a n+k i termer av a n+1? Använd den och (2) för att erhålla (1). Skriv ned ditt resonemang på raderna nedan! Beräkna nu iterativt termer och delsummor tills resttermen blir så liten som önskat. Man kan göra så här: ˆ Gå till File, New, M-file ˆ Skriv in len function [s,antaltermer]=expsum(tol) % s anger närmevärdet av e^6 % tol = toleransen a = 1; s = 0; k = 0; while ((2*a> tol) (k<11)) s = s + a; a = a*6/(k+1); k = k+1; end; antaltermer = k; ˆ Spara len under namnet expsum. 2

Du har nu skapat Matlab-funktionen expsum. Genom att i Matlab skriva [s,antaltermer] = expsum(5e-4) så får du ett närmevärde till e 6 med tre riktiga decimaler. Jämför värdet med Matlabs exp(6). Kör om beräkningen igen för att få 6 decimalers noggrannhet och jämför än en gång med Matlabs exp(6). Summa Antal termer Antal riktiga decimaler fel = s exp(6) 3 6 9 Avsluta med format så återgår Matlab till att visa normalt antal siror. 1.3 (Frivillig). Ändra koden ovan så att den i stället beräknar e x, för godtyckligt x 0. 2 Likformig konvergens (kan göras efter läsvecka 4) Det begrepp i kursen som brukar vara det allra svåraste att smälta är likformig konvergens. Med hjälp av några interaktiva illustrationer får du förhoppningsvis en bättre bild av vad det betyder. Öppna en webbläsare och gå till kursbokens webbsida: http://funktionsteori.se. Klicka på Utforska och välj sedan Likformig konvergens i menyn. Funktionsföljden f n (x) = x n Det första exemplet visar funktionsföljden f n (x) = x n, vilket är ett av de allra viktigaste exemplen. Satsa tillräckligt mycket tid på att förstå hur denna funktionsföljd uppför sig! Genom att ändra i reglaget som ligger högst uppe i grafen, så kan du välja ett värde på n (mellan 1 och 100). 2.1. Vad händer med grafen när du ökar n? Gränsfunktionen då n! +1 är ( 0; 0 x < 1; f (x) = 1; x = 1: Stämmer det med vad du ser? 2.2. Sätt n = 1 igen. Fixera ett värde på x = r. Du kan ändra värdet genom att ytta den gröna punkten på x-axeln i sidled. Välj till exempel r = 0:5. Vad händer med f n (r) då du ökar n? Upprepa för r = 0:75, r = 0:95, r = 0:99 och r = 1. Beskriv skillnaden mellan vad som händer för de olika valen av r. 2.3. Du ser grafen för gränsfunktionen f utritad i rött. Fyll i nedanstående: sup jf f 10 j = sup jf f 100 j = 0x1 0x1 sup jf f 10 j = sup jf f 100 j = 0x0:9 0x0:9 Konvergerar f n mot f likfomigt på [0; 1]? Konvergerar f n mot f likformigt på [0; 0:9]? 3

2.4. Titta igenom de andra exemplen (se menyn uppe till höger) på webbsidan, åtminstone kortfattat. 3 Fourierserier i Matlab (kan göras under lv 5 parallellt med övningar) Även om du inte har hunnit räkna så mycket för hand i kapitlet om Fourierserier, så kommer du att ha glädje av dessa övningar! Vi ska göra ett experimentellt studium av trigonometriska Fourierserier, dvs. funktionsserier av formen c 0 + k=1 a k cos(kt) + b k sin(kt); där a = (a k ) och b = (b k ) är reella talföljder. En term i en sådan serie kan också skrivas som u k (t) = a k cos(kt) + b k sin(kt) = A k cos(kt + k ) och är en harmonisk svängning med vinkelfrekvens k och period 2=k. Amplituden ges av formeln q A k = a 2 + k b2 k och fasförskjutningen k uppfyller att tan k = b k =a k. Vi skall alltså addera sinusformade funktioner med högre och högre frekvenser, och börjar med att hämta de ler vi behöver och med att göra några förberedande inställningar i Matlab. 3.1. Hämta lerna fourkoeff.m, visafunk.m, visaserie.m och visadelsummor.m från kurshemsidan (använd höger musknapp och välj Spara som). Deniera två följder genom K = 1:100; t = -10:0.05:10; Variabeln K svarar mot index k ovan, och t är tidsvariabeln. Ändra inte dessa variabler i fortsättningen. Koecienterna c 0, a k och b k lagras i den skalära variabeln cnoll och i vektorerna akoeff och bkoeff. 3.2. Vi ska nu beräkna delsummor till funktionsserien sin kt sin 2t sin 3t = sin t + + + : : : : k 2 3 k=1 Mata in cnoll = 0; akoeff = zeros(size(k)); bkoeff = 1./ K; vilket motsvarar att c 0 = 0, a k = 0 och b k = 1=k för 1 k 100. Plotta successivt s0 = cnoll*ones(size(t)); plot(t, s0) s1 = s0 + bkoeff(1)*sin(t); plot(t, s1) s2 = s1 + bkoeff(2)*sin(2*t); plot(t, s2) s3 = s2 + bkoeff(3)*sin(3*t); plot(t, s3) 4

och så vidare, tills du tydligt ser en tendens. 3.3. För att slippa skriva så mycket kan du ta hjälp av len visaserie.m från kurshemsidan. Använd den inbyggda hjälpen: skriv help visaserie för att se hur funktionen fungerar. Skriv sedan in visaserie(cnoll, akoeff, bkoeff, -2, 2) Med normal upplösning på skärmen är det inte lönt att ta med er än ca 50 termer. Bryt sedan med Ctrl-C. Verkar Fourierserien konvergera? Rita in vad du tror är seriesumman då 4 < t < 4. Lägg märke till att alla sinustermer, och därmed även delsummorna, är udda funktioner. =2 y t 4 3 2 2 3 4 Konvergerar den trigonometriska Fourierserien likformigt t. ex. då 2 < t < 2? =2 3.4. Mata nu in koecienter c 0 = 1 ; a k = 2 cos(k=2) 1 k 2 ; k 6= 1; a 1 = 1 2 ; b k = 0 genom cnoll = 1/pi; akoeff = 2/pi*cos(K*pi/2)./ (1 - K.^2); % akoeff(1) odefinierad! akoeff(1) = 1/2; bkoeff = zeros(size(akoeff)); och rita upp delsummorna visaserie(cnoll, akoeff, bkoeff, -0.5, 1.5); Hur ser resultatet ut? Rita en skiss av summan: 1 y =2 =2 3=2 2 5=2 3 Verkar denna serie konvergera likformigt (på intervallet < t < 3)? t 5

3.5. Då 0 t gäller att cos(2k + 1)t (2k + 1) 2 = 4 2 k=0 t : (3) I mån av tid kan du visa detta med handräkning genom att bestämma cosinusserien för högerledet i (1). Med hjälp av Matlab går det emellertid att snabbt göra det troligt att (3) gäller. Innan du använder visaserie behöver du skriva in cnoll, akoeff och bkoeff. Du kan använda att akoeff = 1/2 * (1 - (-1).^K)./ K.^2: Glöm inte att ändra cnoll och bkoeff! Kör sedan visaserie (till exempel med ymin=-1.5; och ymax=1.5;). Sedan du använt visaserie för att rita vänsterledet kan du i samma fönster genom kommandona subplot(211) hold on plot(t, pi/4*(pi/2 - t), 'r') rita även högerledet med röd färg. För vilka t verkar likheten stämma? 3.6. Om seriens summafunktion är känd från början, så kan man även beräkna och rita upp dess resttermer. Detta går att göra med skriptet visadelsummor.m. I uppgift 3.4 är summafunktionen en halvvågslikriktad cosinusvåg. Skriv ånyo in anoll, akoeff och bkoeff (se sidan 5 i denna handledning). Skriv också in F = 'max(cos(tid),0)' och kör visadelsummor med visadelsummor(cnoll, akoeff, bkoeff, F) I mitten visas den senast tillagda termen u n i rött och resttermen r n i blått. Överst visas delsumman i blått och nederst seriens summa i grönt (om man angivit den rätt i funktion). Förstora gärna gurfönstret lite (genom att dra med musen i nedre högra hörnet). Tryck på valfri tangent (= mellanslag) för att få nästa delsumma. Bryt med Ctrl-C. Med hjälp av visadelsummor kan man kontrollera alla svar i övningarna på Fourierkoecienter. Om man inte tycker om att partialintegrera, så kan man låta Matlab räkna ut koecienterna. Detta sker med den numeriska metoden snabb Fouriertransformation (FFT). Inte helt överraskande nns det ett Matlabkommando som heter fft. Med hjälp av m-len fourkoeff kan man använda detta för att beräkna Fourierkoecienterna för en given funktion. Titta på fourkoeff.m, och lägg märke till att index är förskjutna ett steg, eftersom Matlab indicerar vektorer med början på k = 1. Vi låter fourkoeff beräkna 2 8 = 256 koecienter numeriskt (vilket svarar mot 128 termer i den trigonometriska Fourierserien). 3.7. Vi skall nu se på utvecklingen av en fyrkantsvåg. Den kan denieras genom 6

F = '(tid < pi) - (tid > pi)' Detta kanske kräver en förklaring. Om tid är en vektor, så blir (tid < pi) en vektor med samma antal element som tid. Den har ettor i de element där villkoret tid < pi är sant i tid och nollor för övrigt. Rita upp fyrkantsvågens partialsummor med hjälp av kommandona fourkoeff, visadelsummor [cnoll, akoeff, bkoeff] = fourkoeff(f); visadelsummor(cnoll, akoeff, bkoeff, F) 3.8. Undersök på samma sätt triangelvågen, som kan beskrivas som funktion = 'tid.*(tid < pi) + (2*pi-tid).*(tid >= pi)' Ser det ut som att triangelvågens Fourierserie konvergerar likformigt? 3.9 (Frivillig). För denna uppgift passar nog Maple bättre än Matlab. Om en funktion f är R b reell, kontinuerlig och f a (x)2 dx = 0 så är R f (x) = 0 för varje x i intervallet [a; b]. Likaså gäller b 2 att om f och g är reella, kontinuerliga och f (x) g(x) a dx = 0 så är f (x) = g(x) för varje x i intervallet [a; b]. Vi kan däremot inte hoppas på att integralen Z 2 f (x) ( a 2 0 2 + a 1 cos x + a 2 cos 2x + b 1 sin x + b 2 sin 2x) dx (4) 0 blir 0 hur vi än väljer de reella talen a 0 ; a 1 ; a 2 ; b 1 och b 2. Frågan är: hur skall koecienterna a 0 ; a 1 ; : : : ; b 3 väljas för att integralen (4) ska bli så liten som möjligt? Uttrycket (4) kan uppfattas som en funktion av variablerna a 0 ; a 1 ; : : : ; b 2. Från den erdimensionella analysen vet du att en minimipunkt är en stationär punkt. Maple kan nu hjälpa dig bestämma koecienterna a 0 ; a 1 ; : : : ; b 2. Känner du igen talen? 7