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.

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

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

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

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

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Omtentamen i DV & TDV

Föreläsning 5. Approximationsteori

Moment 1.15, 2.1, 2.4 Viktiga exempel 2.2, 2.3, 2.4 Övningsuppgifter Ö2.2ab, Ö2.3. Polynomekvationer. p 2 (x) = x 7 +1.

Introduktion till MATLAB

Linjär Algebra M/TD Läsvecka 1

8.5 Minstakvadratmetoden

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

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

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

Lösningar och kommentarer till uppgifter i 3.1

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

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

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

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

15 februari 2016 Sida 1 / 32

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604 för D, den 5 juni 2010 kl

MA2004 Tillämpad Matematik II, 7.5hp,

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

Interpolation Modellfunktioner som satisfierar givna punkter

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen

Omtentamen i DV & TDV

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1. Omfattning. Innehåll Lay, kapitel , Linjära ekvationer i linjär algebra

Linjär Algebra M/TD Läsvecka 2

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

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

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. t 2

Minstakvadratmetoden

Tentamen i Matematik 1 DD-DP08

TMV166 Linjär Algebra för M. Tentamen

SF1624 Algebra och geometri Lösningsförslag till modelltentamen DEL A

TENTAMEN. Linjär algebra och analys Kurskod HF1006. Skrivtid 8:15-13:00. Onsdagen 17 november Tentamen består av 3 sidor

8. Euklidiska rum 94 8 EUKLIDISKA RUM

MA2004 Tillämpad Matematik II, 7.5hp,

Polynom över! Till varje polynom hör en funktion DEFINITION. Grafen till en polynomfunktion

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

8(x 1) 7(y 1) + 2(z + 1) = 0

Linjärisering, Jacobimatris och Newtons metod.

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

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 16 januari 2009 TID:

x 23 + y 160 = 1, 2 23 = ,

Numerisk Analys, MMG410. Lecture 12. 1/24

6 Derivata och grafer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

OH till Föreläsning 5, Numme K2, Läsa mellan raderna. Allmän polynom-interpolation, S Ch 3.1.0

Linjär algebra med MATLAB

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

Modul 1: Komplexa tal och Polynomekvationer

Övningar. c) Om någon vektor i R n kan skrivas som linjär kombination av v 1,..., v m på precis ett sätt så. m = n.

Gausselimination fungerar alltid, till skillnad från mer speciella metoder.

TAIU07 Matematiska beräkningar med Matlab

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

1.1 MATLABs kommandon för matriser

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Lösningar till utvalda uppgifter i kapitel 8

Användarmanual till Maple

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

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

3.3. Symboliska matematikprogram

Laboration 4: Integration på olika sätt

SF1624 Algebra och geometri

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

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

Gamla tentemensuppgifter

2 = 3 = 1. ekvationssystem är beskriven som de vektorer X =

= ( 1) ( 1) = 4 0.

Teori och teori idag, som igår är det praktik som gäller! 1 (Bokens nr 3216) Figur 1:

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Moment Viktiga exempel Övningsuppgifter

MA2004 Tillämpad Matematik II, 7.5hp,

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

Övningar. MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik. Linjär algebra 2. Senast korrigerad:

Preliminärt lösningsförslag

Vektorgeometri för gymnasister

Modul 1: Funktioner, Gränsvärde, Kontinuitet

Isometrier och ortogonala matriser

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

Studiehandledning till. MMA121 Matematisk grundkurs. Version

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

Introduktion till Matlab

Modul 1: Funktioner, Gränsvärde, Kontinuitet

Interpolation. 8 december 2014 Sida 1 / 20

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

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

När du gjort detta kan du öppna motsvarande övning i WebWork: Självstudie 3(algebra), och lösa problemen där med samma metoder.

Linjär algebra på 2 45 minuter

Transkript:

Arbetsblad 2 Vi fortsätter i samma stil som i arbetsblad 1. Det finns fyra avsnitt som alla åtföljs av övningar. För att lösa övningarna kan man ibland behöva söka i Documentation Center. Om man redan vet vad kommandot man ska använda heter, men är osäker på syntax, så kan man skriva?kommando i en cell. Om jag t.ex. undrar över kommandot Integrate så skriver jag in? Integrate Integrate@ f, xd gives the indefinite integral f d x. Integrate@ f, 8x, x min, x max <D gives the definite integral xmin xmax f d x. Integrate@ f, 8x, x min, x max <, 8y, y min, y max <, D gives the multiple integral xmin xmax d x ymin ymax dy f. à 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. Precis som det tidigare arbetsbladet är detta en mindre modifiering av en text skriven av Rikard Bögvad för kursen Matematik I (30 hp). 1.Interpolation Antag att man har en funktion f(x), och att man vet att den är av formen f(x)=ax+b (för några reella tal a och b). Dess graf y=f(x) kommer då att vara en linje i ett koordinatsystem i planet, och det räcker med två värden, eller två punkter på grafen, för att vi ska kunna räkna ut precis vad a och b är, och alltså kan räkna ut alla dess värden. Man kan undra hur många värden vi behöver veta för att bestämma en funktion som är ett andra eller tredjegradspolynom. Sett ur ett annat pespektiv är en linje den enklaste kurva som går genom två punkter i planet, och man kan mer generellt undra: Vilken funktion är den enklaste som går genom tre, fyra, eller fler givna punkter? Det är det första problem vi ska studera.

2 Arbetsblad2.nb 8 6 4 2 2 4 6 8 10 Situationen att vi har ett antal punkter och försöker placera dem på en funktionsgraf, så att de passar bäst, uppträder ofta i tillämpningar av matematik. Vi vänder på problemet. Hur många punkter behöver vi för att bestämma grafen till ett polynom p(x)=ax^3+bx^2+cx+d av grad 3? Varje värde på polynomet som vi vet ger oss en ekvation för de okända koefficienterna. Omt vi t ex vet att p(1)=4, så får vi att a +b+c+d=4. Vet vi dessutom att p(2)=3, så får vi att 2^3a+2^2b+2c+d=3. I allmänhet vet vi från teorin för ekvationssystem att det behövs och oftast räcker med fyra ekvationer för att bestämma fyra obekanta. Vet vi alltså att p(1)=4 p(2)=3 p(4)=1 p(10)=200 bör vi kunna hitta polynomet, genom att lösa ett ekvationssystem. Ett sådant polynom sägs interpolera punkterna. Allmänt har ett n:te gradspolynom n+1 okända koefficienter, och det behövs minst n+1 ekvationer för att bestämma det. Allmännare kan vi gissa att n +1 punkter (x_1,y_1),...,(x_{n+1},y_{n+1}) (med sinsemellan olika x-värden), ligger på grafen till ett unikt polynom av grad n. Hur hittar man då detta polynom? Det är behändigt att skriva ekvationssystemet av polynomvärden nyss som en matrisekvation. Vi ska lösa den som en sådan, och samtidigt gå igenom grundbegreppen för matriser i Mathematica.

Arbetsblad2.nb 3 I Mathematica är en matris en lista av sina rader, och varje rad är en lista av de element som förekommer i dem. Följande är alltså en matris A = 881, 1, 1, 1<, 81, 2, 4, 8<, 81, 4, 16, 64<, 81, 10, 100, 1000<< Notera att elementen är potenser av 1,2,4,10, sådana som förekommer när vi räknar ut p:s värden i dessa punkter. Vi ska strax använda denna matris. Vill vi kolla hur matrisen ser ut på vanligt sätt kan vi göra detta med ett kommando: MatrixForm@AD De okända koefficienterna i det sökta tredjegradspolynomet p(x)=ax^3+bx^2+cx+d ger en kolonnmatris X = 88d<, 8c<, 8b<, 8a<< MatrixForm@XD Matrisprodukten AX är bara kolonnmatrisen med element p(1),p(2),p(4), p(10): (Observera sättet att skriva matrisprodukt A.X, med en vanlig punkt!) MatrixForm@A.XD För att lösa ekvationerna p (1) = 4 p (2) = 3 p (4) = 1 p (10) = 200 kan vi alltså definiera en kolonnmatris B med element 4,3,1,200, och sedan lösa AX=B. Att lösa sker med kommandot Solve. Det ska vara TVÅ likhetstecken A. X == B (ett likhetstecken används endast för att tilldela värden till uttryck, typ x=2) och sist i kommandot Solve talar vi om vilka av de okända värdena vi vill veta, här alltså {a, b, c, d}.) För att kunna använda lösningen senare ger vi den namnet Solution(med ETT likhetstecken). B = 884<, 83<, 81<, 8200<< solution = Solve@A. X ã B, 8a, b, c, d<d Nu har vi alltså hittat koefficienterna i vårt polynom. Svaret består av transformationsregler av typ a ersätts med -35/156, etc. Men det har för många måsvingar för att kunna användas direkt, så därför plockar vi bort ett par med Flatten. transf = Flatten@solutionD Dessa ersätttningregler kan vi sedan använda så här för att enkelt få fram polynomet (Första raden nedan rensar p och q från tidigare betydelser. Andra raden definierar vad p är, sedan ersätter vi a,b,c,d enligt reglerna i transf med hjälp av ersättningskommandot /., sist räknar vi ut interpolationspolynomets värde för x=10, som en koll, vi vet ju att det ska bli 200.) : Clear@p, qd p = a * x^3 + b * x^2 + c * x + d q = p ê. transf q ê. x Ø 10 Vi kan nu rita upp både de punkter i planet som vi har använt som utgångspunkt för att hitta vårt polynom och polynomet självt. Först punkterna. Vi tjockar till dem med PlotStyle Æ Point- Size[0.02], och ger bilden ett namn, eftersom vi strax ska sätta in den i en gemensam bild med grafen till p. punkter = ListPlot@881, 4<, 82, 3<, 84, 1<, 810, 200<<, PlotStyle Ø PointSize@0.02DD

4 Arbetsblad2.nb Så grafen till q: grafen = Plot@q, 8x, 0, 10<D Vi kan se dessa två bilder tillsammans med kommandot Show. Show@punkter, grafend Varför fungerade detta? Alltså, varför kunde vi lösa ekvationssystemet? Ett kort argument är följande: Matrisen A definierar en lineär avbildning T från R^4 till R^4. Avbildningen kan beskrivas så här: om p(x)=ax^3+bx^2+cx+d, så är T(a,b,c,d)=(p(1),p(2),p(4),p(10)). Vi vill inse att denna avbildning är surjektiv, vilket är ekvivalent med att den är injektiv. Om (a,b,c,d) tillhör nollrummet och p(x)=ax^3+bx^2+cx+d, så är T(a,b,c,d)=(p(1),p(2),p(4),p(10))=(0,0,0,0). Men det innebär att vi har ett tredjegradspolynom med fyra olika nollställen 1,2,4,10. Men ett trejegradspolynom kan inte ha mer än tre nollställen, om det inte är nollpolynomet. Alltså måste p(x) vara nollpolynomet, och alltså är (a,b,c,d)=(0,0,0,0) och avbildningen injektiv. Q.E.D. Samma argument ger allmännare att n +1 punkter (x_1,y_1),...,(x_{n+1},y_{n+1}) med sinsemellan olika x-värden, ligger på grafen till ett unikt polynom av grad n. Som en konsekvens av teorin och argumentet får vi att determinanten av A är skild från 0. Det kan vi också kolla direkt: Det@AD Uppgifter. 1. Hitta på två olika 3x3-matriser (icke helt triviala) A och B och beräkna AB - BA. Kontrollera för hand att svaret blev rätt. Om det inte blev rätt så kan du ha angett kommandot för matrismultiplikation fel! Tips: Sök på hjälpen. 2. Lös ekvationssystemet x1+ x2 +x3 = 1, x1+2x2+4x3 =1, x1-x2-x3 =-1 med hjälp av Mathematica och kommandot Solve. Kontrollera för hand att svaret blev rätt. 2. Mer rakt på sak för att hitta interpolerande polynom Vi introducerade matriser och vektorer ovan för att det är användbart, och också gav en förståelse om varför det alltid finns ett interpolationspolynom. Men vi kunde också ha gått direkt på polynomet. Definiera det först som en funktion, så att vi inte ska behöva skriva så mycket.(observera formen på definitionen: x_ talar om att x är en variabel och likhetstecknet med kolon att Mathematica ska

Arbetsblad2.nb 5 definitionen: x_ talar om att x är en variabel och likhetstecknet med kolon att Mathematica ska skjuta upp uträkningen av uttrycket tills den måste använda sig av definitionen på höger sidan.) polynom@x_d := a * x^3 + b * x^2 + c * x + d För att kolla att det fungerar räknar vi ut polynomets värde för x=1 och x=2. polynom@1d polynom@2d Sedan löser vi systemet (p(1), p(2), p(4), p(10))=(0, 0, 0, 0), och kallar lösningen EL. Sist plockar fram första elementet i EL med EL[[1]] ---ett annat sätt än Flatten att bli av med måsvingar, så att vi kan använda resultatet som transformationsregler. EL = Solve@8polynom@1D ã 4, polynom@2d ã 3, polynom@4d ã 1, polynom@10d ã 200<, 8a, b, c, d<d EL@@ 1DD Sist använder vi transformationsregeln EL[[1]] för att få fram det polynom q(x) som är svaret. Clear@qD q@x_d = polynom@xd ê. EL@@1DD q@1d Uppgifter 1. Hitta det tredjegradspolynom f(t) = a*t^3 + b*t^2 + c*t + d vars graf innehåller punkterna (1,-4), (2,11), (3,52), (4,131). 3. Minsta kvadratmetoden Situationen att vi har ett antal punkter och försöker placera dem på en funktionsgraf, så att de passar bäst, uppträder ofta i tillämpningar av matematik. Man vet av den allmänna teorin att asteroidens bana approximativt är en ellips eller hyperbel, d v s man vet i viss utsräckning vilken typ av funktioner som är involverade. Men mätvärdena som man får är utsatta för mätfel. Det kompenserar man med att mäta många punkter och sedan försöka approximera på bäst sätt. Frågan är alltså hur man hittar den funktion av en viss typ---typ linjär eller typ ett polynom av viss grad--- som passar bäst ihop med mätdata? (Vi måste precisera vad som menas med den bästa funktionen. Det som är vanligast är att kräva att summan av kvadraterna på avstånden från punkterna till funktionsgrafen är så liten som möjligt. Approximationen som man då får kallas en minsta kvadratsapproximation.) Ett exempel på det andra problemet. Vi har uppenbarligen en linjär funktion, men avvikelsen från den är rätt stor:

6 Arbetsblad2.nb den är rätt stor: 15 10 5-4 -2 2 4 6 8-5 (Nu ska jag fuska. Jag startar med en lineär funktion f(x)=2.1x+.3 och lägger till en slumpkomponent som ska representera ett mätfel. Sedan gör jag en tabell över 100 punkter på grafen. Det är inte så intressant nu hur jag gör det, jag ville bara vara överdrivet ärlig, så hoppa över förståelsen av nästa kommando, och titta på grafen lite längre ner. Tabellen ska föreställa mätdata, som modulo en slumpfaktor beter sig lineärt. Detta är ett försök att efterlikna ett material från ett verkligt natur- eller samhällsvetenskapligt experiment.) punktmängd = Table@ 8i, 2.1 * i +.3 + RandomReal@NormalDistribution@0,.5DD<, 8i, -3, 7,.1<D; Det material av punkter i planet jag nu har kallas alltså punktmängd, och hur det ser ut kan vi se med kommandot ListPlot: bild1 = ListPlot@punktmängdD Det syns rätt bra på bilden(som vi också givit ett namn: bild1) att punktmängden kommer från en lineär funktion, och hade det varit på riktigt och ett experimentellt material, skulle det vara intressant att se vilken lineär funktion som är i botten. En lineär funktion är en lineärkombination av funktionen 1 och funktionen x, och kommandot Fit hittar den lineärkombination av dessa två som bäst passar med mängden av punkter(vi ger denna funktion ett namn)(observera hur Fit är uppbyggd: först står mängden Punktmängd som vi vill approximera, sedan mängden {1, x} av de funktioner som vi får använda, och sist vilken variabel de approximerande funktionerna beror av. Är du osäker på hur man ska använda ett kommando som Fit så leta i Documentation centre på Fit, och läs exemplena där.) funktion1 = Fit@punktmängd, 81, x<, xd 0.330752 + 2.09819 x För att se hur funktion1 ser ut så plottar vi dess graf(semikolonet ; betyder att Mathematica inte behöver visa upp bilden, eller allmännare efter ett kommando att Mathematica inte ska printa ut resultatet av kommandot.). Samtidigt ger vi grafen ett namn bild2 och visar den sedan med Show tillsammans med den tidigare bilden av punktmängden: bild2 = Plot@funktion1, 8x, -4, 8<D; Show@bild1, bild2d Vi ser att vi har lyckats få ett ganska dåligt närmevärde på den funktion som vi startade med, och la till en slumpkomponent till, nämligen 0.3 +2.1x. Men sådant är livet. Hade vi fått en bättre approximation om vi försökt med ett andragradspolynom?

Arbetsblad2.nb 7 funktion2 = Fit@punktmängd, 81, x, x^2<, xd Nej, det blir en relativt liten koefficient framför x^2(i förhållande till de andra koefficienterna är den mindre än 5% av dem) så det troliga är att vårt material är lineärt(vilket vi ju också visste att det var). Uppgifter 1. Använd kommandot Fit för att finna det fjärdegradspolynom som bäst approximerar funktionen sin(x) i de punkter som svarar mot x-värdena -2,-1,0,1 och 2. 4. 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 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 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 den samtidigt 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. Uppgifter 1. Byt ut funktionen h(x) mot en egen funktion och plotta funktionen på intervallet -10 <= x <= 10. Anpassa efter eget tycke y-värderna.