I detta arbetsblad finns ett antal exempel på hur man kan använda Mathematica för att få översikt över funktioner och datamängder.

Relevanta dokument
För att få första och sista elementet i en lista kan man använda First och Last

xmax f d x. Om du tycker att texten i arbetsbladet är för liten kan du förstora den genom att ändra Magnification under Windows i den övre menyn.

Laboration 4: Integration på olika sätt

Laboration 3: Rekursiva definitioner, listor och ett olöst problem

Medan du läser den är det meningen och viktigt att du ska aktivera de celler där det står Mathematicakommandon(i fetstil).

Texten är en omarbetning av en text skriven av Rikard Bögvad för kursen Matematik I (30 hp).

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

7x 2 5x + 6 c.) lim x 15 8x + 3x Bestäm eventuella extrempunkter, inflexionspunkter samt horizontella och vertikala asymptoter

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

3.3. Symboliska matematikprogram

x 2 + x 2 b.) lim x 15 8x + x 2 c.) lim x 2 5x + 6 x 3 + y 3 xy = 7

SF1625 Envariabelanalys Lösningsförslag till tentamen

Något om Taylors formel och Mathematica

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 13 jan 2014

Blandade A-uppgifter Matematisk analys

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

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:

i utvecklingen av (( x + x ) n för n =1,2,3º. = 0 där n = 1,2,3,

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

6 Derivata och grafer

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

Tentamen i Matematisk analys MVE045, Lösningsförslag

Datorövning 2 med Maple

5 Om f (r) = 0 kan andraderivatan inte avgöra vilken typ av extrempunkt det handlar om. Återstår att avgöra punktens typ med teckenstudium.

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

Lennart Carleson. KTH och Uppsala universitet

Namn Klass Personnummer (ej fyra sista)

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

Lösningar och kommentarer till uppgifter i 3.1

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

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

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

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

S n = (b) Med hjälp av deluppgift (a) beräkna S n. 1 x < 2x 1? i i. och

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

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

LABORATION cos (3x 2 ) dx I =

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

Uppföljning av diagnostiskt prov Repetition av kursmoment i TNA001-Matematisk grundkurs.

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.

Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x

Kursens Kortfrågor med Svar SF1602 Di. Int.

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet april. Liten introduktionsguide för nybörjare

Datorövning 2 med Maple, vt

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

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

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

f(x) = x 2 g(x) = x3 100

Extra datorövning med Maple, vt2 2014

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

med angivande av definitionsmängd, asymptoter och lokala extrempunkter. x 2 e x =

Polynomekvationer. p 2 (x) = x x 3 +2x 10 = 0

1 Föreläsning 12, Taylors formel, och att approximera en funktion med ett polynom

Preliminärt lösningsförslag till del I, v1.0

Envariabel SF1625: Föreläsning 11 1 / 13

Viktigaste begrepp, satser och typiska problem från kursen ALA-A år 2013.

Envariabelanalys 5B1147 MATLAB-laboration Derivator

f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

Lösningsförslag till Tentamen, SF1629, Differentialekvationer och Transformer II (del 1) 24 oktober 2014 kl 8:00-13:00.

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Studiehandledning till. MMA121 Matematisk grundkurs. Version

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

Optimala vinkeln av bortklippt cirkelsektor fo r maximal volym pa glasstrut

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

Lösningsförslag envariabelanalys

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.

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

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Introduktion till Komplexa tal

TAIU07 Matematiska beräkningar med Matlab

MATLAB Laboration problem med lokala extremvärden

f (a) sin

Meningslöst nonsens. December 14, 2014

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

Parametriserade kurvor

MA2001 Envariabelanalys

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.

Laboration 2 M0039M, VT2016

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

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

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

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

Laboration 2, M0043M, HT14 Python

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

Matematiska Institutionen, K T H. B. Krakus. Differential- och integralkalkyl, del 2. Maplelaboration 1.

Introduktion till Matlab

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Betygskriterier Matematik E MA p. Respektive programmål gäller över kurskriterierna

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

Introduktion till MATLAB

Mer om funktioner och grafik i Matlab

Viktiga begrepp, satser och typiska problem i kursen MVE460, 2015.

Labb 3: Ekvationslösning med Matlab (v2)

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Laboration: Grunderna i Matlab

Matematiska Institutionen, K T H. B. Krakus. Matematik 1. Maplelaboration 2.

Transkript:

Laboration 2: Grafritning och visualisering av data I detta arbetsblad finns ett antal exempel på hur man kan använda Mathematica för att få översikt över funktioner och datamängder. Du har redan förra gången sett exempel på Plot---för att rita grafer ListPlot --- med vilken man kan rita upp bilder av mängder av punkter i planet, Show--- med vilken man kan visa flera bilder i samma bild. Vi går igenom dessa och fler liknande, och ser samtidigt exempel på hur man kan konstruera datamängder med Table och utnyttja detta för att få approximativa lösningar till problem som man inte kan lösa exakt. ü INLEDANDE EXEMPEL: Hur man konstruerar en invers funktion med Mathematica. Vi vill hitta den inversa funktionen till funktionen f(x)=sinx+x på intervallet [0, Pi/2]. Det går inte att göra exakt, men vi kan utnyttja att den inversa funktionens graf är spegelbilden, för att få en interpolerad funktion. Först talar vi om för Mathematica att f(x)=sinx+x och räknar ut funktionens värde i 1, för att se att Mathematica har förstått (Clear[f,x] tar bort gamla värden på x och f): Clear@f, xd f@x_d = Sin@xD +4 x f@1d êê N 4 x + Sin@xD 4.84147 Sedan tillverkar vi med kommandot Table en lista som vi kallar AA av punkter på grafen(sådana punkter betecknar Mathematica med {x, f[x]}). Listan består av alla punkter på grafen vars x-koordinat varierar från 0 till Pi med steglängden 0.001. Alltså ca 1500 punkter. Semikolonet talar om för Mathematica att vi inte vill se alla punkterna. Utan detta kommer Mathematica att skriva ut dem... AA = Table@8x, f@xd<, 8x, 0, Pi ê 2, 0.001<D; Sedan ritar vi upp AA. Den ser precis ut som en jämn kurva, vilket den inte är, eftersom det bara är ca 1500 punkter mycket nära varandra. Vi ger ett namn åt bilden(aspectratio Æ Automatic använder vi för att det ska vara samma skala på bägge axlarna.). BildAA = ListPlot@AA, AspectRatio Ø AutomaticD

2 Laboration2.2010.nb 7 6 5 4

Laboration2.2010.nb 3 3 2 1 0.5 1.0 1.5 Nu ska vi göra likadant med grafen till inversa funktionen, som vi kallar g. Det riktigt snygga är att vi kan utnyttja att g:s graf bara är spegelbilden i diagonalen y=x av f:s graf. Alltså om (x,f(x)) ligger på grafen till f så ligger (f(x),x) på grafen till inversa funktionen g.

4 Laboration2.2010.nb BB = Table@8f@xD, x<, 8x, 0, Pi ê 2, 0.001<D; BildBB = ListPlot@BB, AspectRatio Ø AutomaticD 1.5 1.0 0.5 1 2 3 4 5 6 7 Till slut kan vi visa bägge graferna i samma bild: Show@BildAA, BildBBD 7 6 5 4 3 2 1 1 2 3 4 5 6 7 Detta gav oss en hel del värden på g, men inte en funktion, som man t ex kan integrera och beräkna i alla punkter. För att få en sådan skapar vi(eller datorn) en approximation av den inversa funktionen genom interpolation av våra punkter BB. Det betyder att vi låter datorn använda de beräknade värdena av den inversa funktionen, alltså de vi fick genom speglingen ovan, för att approximera den inversa funktionen. g = Interpolation@BBD InterpolatingFunction@880., 7.28<<, <>D Inversa funktionens värde i x=1: g@1d 0.200267 Dess integral mellan x=0 och x=0.5:

Laboration2.2010.nb 5 Integrate@g@xD, 8x, 0, 0.5<D 0.0250042 Vi har verkligen (approximativt) den inversa funktion, d v s sammansättningarna f(g(x))=x och g(f(x))=x: Plot@f@g@xDD, 8x, 0, Pi ê 2<, AspectRatio Ø AutomaticD Plot@g@f@xDD, 8x, 0, Pi ê 2<, AspectRatio Ø AutomaticD 1.5 1.0 0.5 0.5 1.0 1.5 1.5 1.0 0.5 0.5 1.0 1.5

6 Laboration2.2010.nb ü EXEMPEL 1: Att använda Plot för att hitta extrempunkter visuellt Clear@fD, f@x_d = 2.1 + 1.5 x - 1.23 x 2 + x3 3 ; Plot@f@xD, 8x, 0, 4<D Funktionen verkar vara monotont växande. Men titta närmare på den, genom att minska intervallet på vilken den ritas: Plot@f@xD, 8x, 1.1, 1.6<D ü EXEMPEL 2: Grafer av funktioner av två variabler. Plot3D@Cos@x yd, 8x, -3, 3<, 8y, -3, 3<D Plot3D@Cos@x yd, 8x, -3, 3<, 8y, -3, 3<D Plot3D@Cos@x yd, 8x, -3, 3<, 8y, -3, 3<, Mesh Ø NoneD Nu ska vi rita upp en kurva i rymden i parameterform. Vi har alltså tre koordinater som allihop är funktioner av t: ParametricPlot3D@ 8Cos@tD, Sin@tD, HCos@5 td + Sin@4 tdl Sin@tD<, 8t, 1, 10<D En yta i rymden parametriserad av t och u: ParametricPlot3D@8u Sin@tD, u Cos@tD, t ê 3<, 8t, 0, 15<, 8u, -1, 1<D ü EXEMPEL 3: Sannolikheten för att ett tal är ett primtal. PrimePi[x] talar om hur många primtal, som är mindre än x. PrimPi[x]/x är då sannolikheten att ett slumpvis valt heltal mindre än x ska vara ett primtal. Det finns en sats som säger att för stora x är PrimPi[x]/x av samma storleksordning som 1/log(x+1). Först några exempel: PrimePi@100D PrimePi@100D ê 100 êê N PrimePi@1000D ê 1000 êê N En fjärdedel av alla tal mindre än 100 är primtal, men bara en sjättedel av de mindre än 1000. Sannolikheten minskar alltså---men hur snabbt? Vi kan använda tekniken ovan:

Laboration2.2010.nb 7 Primsannolikhet = Table@8x, PrimePi@xD ê x<, 8x, 2, 20 000<D; gprim = ListPlot@PrimsannolikhetD Jämför den sedan med grafen till 1/log(x), för att se en illustration av primtalssatsen. Vi ska ta kvoten mellan de två funktionern och påståendet är alltså att att PrimePi(x)Log[x]/x går mot 1 när x blir stort. ff = Table@8x, PrimePi@xD Log@xD ê x<, 8x, 2, 20 000<D; gprim2 = ListPlot@ffD Ett av de sju Clay-priserna om en miljon dollar styck handlar om att ge en bättre uppskattning. ü EXEMPEL 4: Att hitta de största talen i en lista. Här tiilverkar vi en lista på binomialkoefficienter, kallad Johansson, för att markera att det är vårt namn och inte Mathematicas. Johansson = Table@Binomial@20, id, 8i, 1, 20<D 820, 190, 1140, 4845, 15 504, 38 760, 77 520, 125 970, 167 960, 184 756, 167 960, 125 970, 77 520, 38 760, 15 504, 4845, 1140, 190, 20, 1< Det största av dem hittar vi så här: Max@JohanssonD 184 756 Vilket är det nu? Tittar vi på listan verkar det ligga mitt i. Vi kan plocka ut det tionde elementet i listan såhär: Johansson@@10DD 184 756 Binomial@20, 10D 184 756 Slutligen kan vi plotta alla koefficienterna

8 Laboration2.2010.nb JJ = ListPlot@Johansson, PlotStyle Ø PointSize@0.02DD 150 000 100 000 50 000 5 10 15 20 Vi kan förena punkterna (i ordningsföljd) genom kommandot Joined Æ True. Show@JJ, ListPlot@Johansson, Joined Ø TrueDD 150 000 100 000 50 000 5 10 15 20 Här är några fler exempel på listor och linjeteckningar. Nedanstående kommando skapar en lista av 1000 slumpade punkter i planet vars koordinater ligger mellan 0 och 1. Aktivera cellerna! slumppunkter = Table@RandomReal@80, 1<, 2D, 8i, 1000<D; ListPlot@slumppunkterD 1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0

Laboration2.2010.nb 9 ListPlot@slumppunkter, Joined Ø True, Axes Ø FalseD ü EXEMPEL 5: Dynamiska bilder av grafer och deras tangenter h@x_d := Sin@xD + 0.3 * Sin@3 xd Plot@h@xD, 8x, 0, 15<, AspectRatio Ø AutomaticD Flera funktioner kan plottas samtidigt. De beskrivs då med en lista, här {Sin[x], Cos[x]}: Plot@8Sin@xD, Cos@xD<, 8x, 0, 20<D

10 Laboration2.2010.nb Manipulate@Plot@8h@xD, h@ad + h'@ad * Hx - al<, 8x, 0, 20<, 8AspectRatio Ø Automatic, PlotRange Ø 880, 20<, 8-10, 10<<<D, 8a, 0, 20<D a 10 5 0 5 10 15 20-5 -10 Det här var en dynamisk bild på funktionen f[x]=sin[x] + 0.3*Sin[3 x] ovan och dess tangenter f[a] + f'[a]*(x - a) i olika punkter a. Resultatet är en slags räknedosa i vilken man kan trycka in olika värden på parametern. Genom att trycka på kontrollerna kan du få parametern att variera. Kommandot Manipulate har egenskapen att den utför ett kommando---eller program--- för olika värden på en parameter, här a. Det kan vara vilket kommando som helst som den utför, i detta fall plottar densamtidigt grafen till funktionen och dess tangent. Optionerna till Plot som vi använder är två: {AspectRatio Æ Automatic, PlotRange Æ {{0, 20}, {-10, 10}}}. Det första tillvalet ser till att skalan är densamma på bägge axlarna, och den andra, PlotRange Æ {{0, 20}, {-10, 10}}, ser till att Mathematica bara ritar upp de delar av grafen där x varierar mellan 0 och 20, och y mellan -10 och 10. ü EXEMPEL 6: Taylorpolynom som approximationer av funktioner taylor1 = Series@Sin@xD, 8x, 0, 9<D x - x3 6 + x5 120 - x7 5040 + x9 362 880 + O@xD10

Laboration2.2010.nb 11 Svaret här är en serie, och vi kan inte använda det som ett polynom rakt av. Om man nu vill ha ett polynom och inte en serie? poly9 = Normal@taylor1D Nu har vi fått ett polynom. När vi vill räkna ut värdet av polynomet i en punkt måste vi använda ersättningsoperatorn. Vi räknar också ut hur bra approximation av Sin polynomet är i x=1. poly9 ê. x -> 1 Hpoly9 ê. x Ø 1L - Sin@1D êê N Vi fortsätter att jämföra funktionen med sitt Taylorpolynom. Vi ser att nära x=0 är graferna nära, men att redan för x=7 är skillnaden stor. Plot@8poly9, Sin@xD<, 8x, 0, 10<D ü EXEMPEL 7: Hur man grafiskt hittar nollställen med FindRoot Problem : Låt w (x) = 2 sin^2 x + (5/2) cos^2 (x/2), på intervallet [0, Pi/2], och finn alla nollställen till derivatan. Först definierar vi funktionen. Clear @w, xd w@x_d = 2 HSin@ xdl^2 + H5 ê 2L HCos@x ê 2DL^2 Plot@8w@xD, w'@xd<, 8x, 0, Pi ê 2<D Och vilken är nu vilken? Vi kan färga graferna olika. Den som hör till den första i listan {w[x],w'[x]} ges nedan den första färgen grön i listan {Green, Red}, o s v. Plot@8w@xD, w'@xd<, 8x, 0, Pi ê 2<, PlotStyle Ø 8Green, Red<D Från grafen ser man att derivatan har ett nollställe ungefär vid x=1.25, som ser ut att svara mot ett maximum av w(x). Vi kan hitta ett närmevärde på det nollstället med kommandot FindRoot, som betraktar 1.25 som en första approximation av nollstället och sedan förfinar approximationen. FindRoot@w'@xD ã 0, 8x, 1.25<D w'@xd ê. 8x Ø 1.25297< Så det verkar stämma. Dessutom ser vi i grafen att derivatan verkar ha ytterligare ett nollställe vid x=0: w'@xd w'@0d

12 Laboration2.2010.nb Det verkar alltså rimligt att tro att derivatan har två nollställen. Det första x=0 är vi, med lite eftertanke, helt säkra på eftersom derivatans termer innehåller sin(x) och sin(x/2) som är 0 när x=0. Det andra nollstället är bara approximativt. Skulle det var viktigt, eller vi vill utveckla vår paranoida personlighet, bör vi förstås nu också bevisa att dessa två är de enda...men med datorräkningarna har vi i alla fall hittat vad vi bör försöka verifiera. ü EXEMPEL 8: Numeriska lösningar till differentialekvationer Så här tjusigt löser Mathematica differentialekvationer: DSolve@y''@xD ã y@xd, y@xd, xd Med randvärden: DSolve@8y''@xD ã y@xd, y'@0d ã 0, y@0d ã 1<, y@xd, xd DSolve@8y''@xD ã -y@xd, y'@0d ã 0, y@0d ã 1<, y@xd, xd I nästa fall finns det flera lösningar. Mathematica presenterar en av dem, men påpekar att det finns fler. Trycker man på >> får man mer upplysningar. DSolve@8H1 + x^2l y'@xd - y@xd^2-4 == 0, y@0d == 7<, y@xd, xd Här är en differentialekvation som inte går att lösa exakt. DSolve@8y'@xD ã Exp@Sin@xDD, y@0d ã 0<, y, xd Men vi kan lösa den numeriskt. Då måste vi specificera intervallet, säg mellan 0 och 20. (Observera hur ersättningsoperatorn /. används på y för att ge oss en funktion; First betyder att vi tar första elementet i en lista, i det här fallet det enda elementet. Se förklaringen senare.) funktion = First@ y ê. NDSolve@8y'@xD ã Exp@Sin@xDD, y@0d ã 0<, y, 8x, 0, 20<DD Funktionens värde i x=2 och dess graf: funktion@2d Plot@funktion@xD, 8x, 0, 20<D Resten av detta exempel förklarar formen på lösningen. Skriver vi bara NDSolve så får vi ut en interpolerande funktion. sol = NDSolve@8y'@xD ã Exp@Sin@xDD, y@0d ã 0<, y, 8x, 0, 20<D

Laboration2.2010.nb 13 Mathematica har beräknat ett antal värden på den sökta funktionen och interpolerar sedan dessa för att beräkna funktionens värden för andra punkter. Och hur får man sedan då ut t ex y[1]? sol@3d Nej...Formen på utdata är en transformationsregel, alltså: y@3d ê. sol Men om man ska vara petig: måsvingarna då---svaret vi fick är en lista på ett tal, inte ett tal... First plockar ut första elementet ur en lista, d v s här talet själv. First@y@3D ê. sold ü EXEMPEL 9: Användning av ContourPlot ContourPlot@8x^2 + 10 y^2 ã 1, 3 x^2 + y^2 ã 1<, 8x, -5, 5<, 8y, -5, 5<D 4 2 0-2 -4-4 -2 0 2 4 Mathematica ritar inte direkt i ett komplext talplan, men vi kan använda z=x+iy och rita i xy-planet. Vi vill rita upp kurvan Re (z^17) + Im (z^3) = 1 i komplexa talplanet. Skriv z=x+iy z = x + I * y; och sedan

14 Laboration2.2010.nb ContourPlot@Re@z^17D + Im@z^16D ã 1, 8x, -10, 10<, 8y, -10, 10<D 10 5 0-5 -10-10 -5 0 5 10