4 Numerisk integration och av differentialekvationer

Relevanta dokument
At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

Lab 1, Funktioner, funktionsfiler och grafer.

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

Laboration 1, M0039M, VT16

ATT RITA GRAFER MED KOMMANDOT "PLOT"

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

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

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

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

Matematiska institutionen Carl-Henrik Fant. 13 mars 2000

Flervariabelanalys och Matlab Kapitel 3

Introduktion till MATLAB

Laboration 2 Ordinära differentialekvationer

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3.

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

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

TAIU07 Matematiska beräkningar med Matlab

6 Lokala extr Anpassning med minsta kvadratmetoden.

Ordinära differentialekvationer (ODE) 1 1

Flervariabelanlys och Matlab Kapitel 3

TSBB14 Laboration: Intro till Matlab 1D

Laboration: Grunderna i MATLAB

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

TANA17 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab

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

Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Lab 2, Funktioner, funktionsfiler och grafer.

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

TANA17 Matematiska beräkningar med Matlab

Sammanfattning (Nummedelen)

Mer om funktioner och grafik i Matlab

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

Newtons metod och arsenik på lekplatser

Matlab övningsuppgifter

Matlabövning 1 Funktioner och grafer i Matlab

Funktioner och grafritning i Matlab

Syftet med veckans övningar. Något om MATLAB. Vecka 1 matte D del C

15 februari 2016 Sida 1 / 32

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

MATLAB - en kompakt introduktion av Tore Gustafsson

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

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

Förkortning och förlängning av rationella uttryck (s. 29 Origo 3b)

2 Matrisfaktorisering och lösning till ekvationssystem

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Matlab-uppgift 3 i Flervariabelanalys

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

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

Du kan söka hjälp efter innehåll eller efter namn

Uppgift 1. (SUBPLOT) (Läs gärna help, subplot innan du börjar med uppgiften.) 1 A) Testa och förklara hur nedanstående kommandon fungerar.

Mer om funktioner och grafik i Matlab

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

Planering för Matematik kurs E

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6

Grafritning och Matriser

Datorövning 1 Fördelningar

MATLAB övningar, del1 Inledande Matematik

3.3. Symboliska matematikprogram

Laboration 3. Funktioner, vektorer, integraler och felskattning

MAM283 Introduktion till Matlab

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

v0.2, Högskolan i Skövde Tentamen i matematik

Matlabföreläsningen. Lite mer och lite mindre!

MAPLE MIKAEL STENLUND

SF1625 Envariabelanalys Lösningsförslag till tentamen

Matriser och linjära ekvationssystem

MMA132: Laboration 1 Introduktion till MATLAB

Parametriserade kurvor

1 Grundläggande operationer

Matriser och Inbyggda funktioner i Matlab

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 Tid: 14:e januari klockan

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

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.

Användarmanual till Maple

3 differensekvationer med konstanta koefficienter.

Introduktion till Matlab

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

Linjär algebra med MATLAB

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Tentamen i Beräkningsvetenskap I, DV, 5.0 hp, OBS: Kurskod 1TD394

Matematik med Matlab för I Inledning. 1 Programmering i MATLAB

Numeriska metoder, grundkurs II. Dagens program. Gyllenesnittminimering, exempel Gyllenesnittetminimering. Övningsgrupp 1

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Förkortning och förlängning av rationella uttryck (s. 27 Origo 3c)

AUTONOMA DIFFERENTIALEKVATIONER

MATLAB Laboration problem med lokala extremvärden

Tentamen i Beräkningsvetenskap II, 5.0 hp,

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

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

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

Transkript:

Matematik med Matlab M1 och TD1 1999/2000 sid. 27 av 47 4 Numerisk integration och av differentialekvationer Redovisning redovisas som tidigare med en utdatafil skapad med diary 4.1 Numerisk av ekvationer. Uppgift 1: alla extrempunkter till funktionen. Derivatans skall du med av ekv och sedan, lite hand, lite med maskin.) Skriv in extrempunkterna och kommandot som ger dig dem i dagboken. Rita grafen till kurvan och kontrollera att extrempunkterna. 4.2 Numerisk av integraler med simpsons formel. skall ni an MATLABs egen integrationsmetod quad att en integral. att man skall kunna kunna an quad funktionen finnas i en funktionsfil eller vara inline-definierad. till exempel integralen. Kommandot quad( sin,0,pi). Om ni vill precisionen i ni till en variabel, quad( sin,0,pi,10^(-3)) ger tolerans. En femte variabel ger att se vilken intervallindelning som an Kommandot quad( sin,0,pi,10^(-3),1). Uppgift 2: integralen med tolerans. An din funktionsfil Skriv in resultatet i dagboken. Quad bygger Simpsons metod ett ganska smart genom att varje delintervall delas tills i integraluppskattningen liten. Quad en kallad adaptiv metod intervallindelningen succesivt Du kan titta filen med av type quad. I princip fungerar det integralen med simpsons formel utan att dela intervallet. Dela sedan intervallet i delar. integralen igen och med det tidigare Om stor behandlas integralen er de intervallhalvorna var sig. Vi har redan ett delar intervallet i delar, med simpsons formel och. Om en nu stor behandlas integralen er de nya intervallhalvorna var sig. Detta upprepas tills man liten er samtliga delintervall. Syftet med den adaptiva metoden att minska antalet g. Med ett g menar man oftast en multiplikation och en addition tillsammans. Detta kallar man en flyttalsoperation flop. Ett hur omfattande en viss kalkyl ges av hur flops som har I Matlab finns ett verk flops som reda hur flyttalsoperationer som sedan senast vilket med flops(0). Uppgift 3: Vi skall nu se hur ande den adaptiva metoden quad och integralen i uppgift med varierande tolerans. med n=3 och flops(0);int1=quad( sinc,0,pi,16^(-n));flops,flops(0); Upprepa detta n Sluta raden Warning: Recursion level limit reached... times dyker upp. Redovisa genom att skapa en matris med n i kolonnen och antalet flops i andra kolonnen. sedan motsvarande med ditt simpson-program om du skrivit ett Upprepa lika som med quad. in antalet flops som tredje kolonn i ov matris. Annars kan du an simpsteg och succesivt antalet delintervall (N). med N = 2. Som tredje kolonn nu kan du in antalet flops som samma noggrannhet som med quad. Skriv in matrisen i dagboken.

4.3 Numerisk av differentialekvationer. Matematik med Matlab M1 och TD1 1999/2000 sid. 28 av 47 en hel del differentialekvationer det eller att ge ett uttryck an. Man visad till att an sig av numerisk metod att 4.3.1 Differentialekvationen vara till. Det att den primitiva funktion till som satisfierar. Enligt analysens huvudsats ges av:. Antag att x = [x(1),x(2),...,x(n)] en radmatris med x(1) =. Antag att vi er radmatrisen y = [y(1),y(2),...,y(n)] y(k) =. Enligt ovan y(1) = och y(k) = +y(k-1). Integralen i denna formel kan man med av quad eller simpson vilket leder till for-snurra definierad i filen funktion.m. Det naturligtvis lika bra om funktionen definierad med inline. y=nan*ones(size(x)); y(1)= ; for k = 2:length(x), y(k)=y(k-1)+quad( funktion,x(k-1),x(k)); end Uppgift 4: in ov for-snurra i en funktionsfil primitiv.m av av primitiva funktioner. Invariabler skall vara funktionsnamn, radmatrisen x, och eventuellt tolerans i integral- Du modifiera quad-kommandot med hur du skrev i funktionsfilen iternoll.m. Testa programmet genom att till intervallet. radmatris x och titta med plot(x,y). med den exakta Rita i samma graf. Utnyttja sedan programmet att differentialekvationen intervallet. en indelning av att det att rita en snygg graf. Rita grafen till i samma bild. in namn och text i bilden. Skriv ut den och in som redovisning. En finess i for-snurran y=nan*ones(size(x));. skapas en matris y av samma typ som skall genereras i for-snurran. I snurran byts elementen i y succesivt ut mot de Detta sparar Om man inte detta Matlab i varje steg av snurran skapa en matris och i denna in det nya elementet. Det tar tid, i synnerhet om det handlar om stora matriser. denna finess minnet. 4.3.2 Differentialekvationen kan tolkas geometriskt genom att riktningskoefficienten tangenten till kurvan. I punkten tangentens riktningskoefficient. Genom att i punkter rita en kort linje med riktningskoefficient kan vi se orna. En enkel metod att differentialekvationen, eller en uppfattning om hur ser ut, att helt enkelt skissa till ekvationen och sedan rita en kurva som ansluter till detta att matlab rita till en differentialekvation kan du definiera funktionen i en funktionsfil fun.m function z=fun(x,y) z= funktionsuttryck; eller med fun=inline( uttryck, x, y ); och sedan an program som du kan mig samma som tidigare. riktningsfalt.m function [X,Y]=riktningsfalt(fun,x0,x1,y0,y1) % riktningsfalt skapar matriser som kan att rita % till en differentialekvation y = f(x,y). % Funktionen f(x,y) skall vara definierad i en funktionsfil eller med inline. % [X,Y]=riktningsfalt( funktion,x0,x1,y0,y1) ger (2,420)-matriser X och Y.

Matematik med Matlab M1 och TD1 1999/2000 sid. 29 av 47 % Vektorerna som de riktade (X(1,k),Y(1,k)) till % (X(2,k),Y(2,k)). Riktningen i mittpunkten h=(x1-x0)/20; k=(y1-y0)/19; [x,y]=meshgrid(x0:h:x1,y0:k:y1); % genereras (20,21)-matriser x och y som ger koordinaterna % i ett med 420 punkter. x=x(:) ;y=y(:) ; % x(:) och y(:) radmatriser med de 420 elementen i x resp y % kolonnvis. yprim=feval(fun,x,y); % feval(fun,x,y) en radmatris vars element av y i theta=atan(yprim); % atan(yprim) tangentens riktningsvinkel. r=0.75*min(h,k);u=r*cos(theta);v=r*sin(theta) % (u(i),v(i)) vektor med denna riktning och belopp=r. X=[x-u;x+u]; Y=[y-v;y+v]; clf, hold plottas nu med plot(x,y) eller, om man vill ha alla linjer i samma g, med rad: on, for k=1:420, plot(x(:,k),y(:,k)), end, hold off Kommandot clf rensar eller ett tomt d:o. Uppgift 5: Rita till a. i ett som punkten. (jmfr red.uppg 3.1) b. i ett som punkten. (jmfr 8.9c) c. i. (jmfr 8.24b) Uppgift 6: Extrauppgift erbetyg. om funktionen riktningsfalt att man kan antalet punkter i Skriv din fil i dagboken med type. Kommandot meshgrid som dyker upp i programmet mycket an man arbetar med funktioner av eller tre variabler, Vi kommer att omma till det i senare men jag ger en. vi delar in ett intervall -axeln och ett -axeln i delintervall, vi ett med punkter, exempelvis. Om vi separerar -koordinater och -koordinater vi matriser och.

Matematik med Matlab M1 och TD1 1999/2000 sid. 30 av 47 I Matlab ordningen i kolonnerna och ner blir i. Testa med [x,y] = meshgrid(1:4,6:9) ser ni vad jag menar. Antag nu att vi vill i alla punkter i t.ex. vill vi ju ha en matris. Detta ommer vi enkelt i Matlab med z = x.^2.* y.^3 x och y matriserna skapade med meshgrid enligt ovan. Om, som i programmet ovan, ges av en funktionsfil funktion.m, ges av z = feval( funktion,x,y) 4.3.3 Eulers metod och ODE45. En vidareutveckling av ov enkla metod (att rita efter ges i Eulers steg- eller polygonmetod, man succesivt stegar sig fram med linjer till,. i en sid 326 Eulers metod finns beskriven. till en funktionsfil Eulers metod. Filen som tidigare. odesolv.m function [X,Y]=odesolv(fun,xmin,xmax,y0,N) % odesolv differentialekvationen y =f(x,y) i intervallet [xmin, xmax] % med y(xmin)=y0. Eulers polygonmetod i N steg. % Funktionen f(x,y) skall vara definierad i en funktionsfil eller med inline. % Exempel [X,Y] = odesolv( funktion,0,2,-1,200) ger, om f(x,y) % definierad i funktion.m, (1,201)-matriser X och Y, X % x-koordinaterna, med xmin = 0 och xmax = 2, och Y y-koordinaterna % y = y(x) till ekvationen y = f(x,y), y(xmin) = -1. % plottas med plot(x,y). h = (xmax-xmin)/n; X = xmin:h:xmax; Y = NaN*ones(size(X)); for-snurra av Y Uppgift 7: klart odesolv.m, med uppgift 4. Skriv in din fil i dagboken med av type. Uppgift 8: a. differentialekvationen hand. (Detta har ni gjort som redovisningsuppgift.) b. differentialekvationen i intervallet [1, 2] med odesolv och N=20. c. till differentialekvationen i. d. Rita och orna ovan i en och samma plot (rita de kurvorna med olika linjetyper). in namn och kurvrubriker. Eulers metod, kan sedan till exempelvis Runge-Kuttas metod lutningen linjestycket som modifieras att man tar till lutningen i den punkt man skulle med eulers metod. Denna metod utnyttjas i MATLAB-programmet ode45. Det finns andra program av samma typ, se under ode45 i helpdesk. En nackdel med dessa program att funktionen vara definierad i en funktionsfil, inline fungerar inte a detta kan ha i senaste versionen av Matlab). En att de system av differentialekvationer. En annan att de mycket effektivare odesolv Uppgift 9: Skriv en funktionsfil funktionen i uppgift. Observera att x vara den variabeln i deklarationsraden: z=funktion(x,y). sedan differentialekvationen i uppgift med av ode45.

Matematik med Matlab M1 och TD1 1999/2000 sid. 31 av 47 Kommandot [x1,y1]=ode45( funktion,1,2,3); om vi vill ha samma intervall. in en denna a i figur med plot(x1,y1, * ) att se hur bra det. Redovisa med pappersbild. 4.3.4 System av differentialekvatoner. Programmet ode45 kan, som ovan och som du ser i xten, system av differentialekvationer Detta ger att en ordningens ekvationer. i paragraf 1.2.1 i stencilen System av differentialekvationer om hur man om till ordningens system. man system av differentialekvationer skall funktionen yprim vara en kolonnvektor med en funktion varje rad. y0 skall vara en kolonnvektor med varje obekant funktion. att ekvationssystemet i intervallet vi skriva en funktionsfil: yprim.m function z=yprim(t,y) z=[t.*y(1)+y(2); y(2)-y(1)]; att orna skriver vi sedan: [X,Y]=ode45( yprim,0,5,[1; -2]); kommer X att vara en enradig och Y en matris. raden i Y funktionen, andra raden funktionen. Uppgift 10: Skriv in ov funktionsfil yprim.m, orna enligt ovan och rita kurvorna med plot(x,y). Uppgift 11: om ekvationen till ett system av ordningens differentialekvationer ). i filen yprim.m att du kan detta system med ode45 i intervallet. Rita orna. Vilken av dem? Vad illustrerar den andra kurvan? med exakta Uppgift 12:Ytterligare uppgifter erbetyg ges i veckoprogrammet TMA081 del B, vecka 5 och 6.