Numeriske metoder i MATLAB Tillegg til pensum i MAT102. Jon Eivind Vatne e-post: jev@hib.no

Størrelse: px
Begynne med side:

Download "Numeriske metoder i MATLAB Tillegg til pensum i MAT102. Jon Eivind Vatne e-post: jev@hib.no"

Transkript

1 Numeriske metoder i MATLAB Tillegg til pensum i MAT102 Jon Eivind Vatne e-post: jev@hib.no 17. januar 2016

2 2 Forord Dette dokumentet er ment å supplere læreboken vi bruker i MAT102 - brukerkurs i matematikk II. I hovedsak skal vi i den første delen dekke emner som er relatert til MATLAB, programmering i MATLAB, og matematikk som er spesielt relevant for MATLAB. I den andre delen skal vi se på numeriske metoder som går utover teorien i læreboken, og som vi med grunnlaget fra den første delen skal kunne implementere i MATLAB. Dette tillegget er ikke ment å kunne leses isolert, det er referanser til læreboken, og til kjøring av MATLAB-kommandoer og tegning av grafer som skjer på forelesning. Det vil også være mer mellomregning på forelesning. Merk at dette er et uferdig dokument sammenlignet med læreboken. Jeg setter pris på om dere gir beskjed om feil og uklarheter underveis! For å lære å bruke MATLAB selv er det viktig å skrive mest mulig MATLAB-kode selv, også ved å skrive inn kode som andre har forberedt. For å få fullt utbytte av stoet i dette kompiet er det viktig å kjøre koden. Ofte vil teksten referere til resultater av kjøringen, selv om det ikke er lagt inn noen gur eller ligne her.

3 Innhold 1 Introduksjon til MATLAB En første introduksjon til MATLAB Kalkulatorfunksjon Script Funksjoner i m-ler Grunnlegge plotting Plotting for å gjette grenser Dokumentasjonen i MATLAB for-løkker Den første løkken Testing i en løkke Summering av rekker while-løkke Julia-mengder Derivasjon Newtons metode Skjæring, kontinuitet og Newtons metode Litt teori rundt feilestimat i Newtons metode Numerisk derivasjon Lyd som eksempel Rene noter Samplet lyd Hva skjer om lyden deriveres? Integrasjon Øvre og nedre Riemann-summer for monotone funksjoner Trapesmetoden Litt om feilen i trapesmetoden Lengde av parametriserte kurver Hastighet av gassmolekyler Numerisk løsning av dierensialligninger

4 4 INNHOLD Eulers metode Eksempel: Torricellis lov Grask forståelse av dierensialligninger -retningsfelt Feilestimat - naivt Matriser i MATLAB Skrive inn en matrise Manipulere en matrise Matriseoperasjoner og elementoperasjoner Oppgaver Numeriske metoder Potensmetoden PageRank - rangering av nettsider Eulers metode for systemer Generell fremgangsmåte Høyereordens dierensialligninger som systemer av førsteordens ligninger Svingninger Simpsons regel Runge-Kutta-metoder Random walks E. coli Diusjon Hvor mange partikler går mellom to målestasjoner? Diusjon - tilnærmet løsning Initialbetingelser - kan Eulers metode brukes? Randbetingelser Optimering Implementering av prosedyren for minimum Oppgaver

5 Kapittel 1 Introduksjon til MATLAB I den første delen av dette kompiet skal vi i hovedsak bruke MATLAB til å se nærmere på matematikk du allerede kan. Selv om noen av metodene og anvelsene nok er nye, er derivasjon, integrasjon og dierensialligninger kjente fra før av. Bruk dette til å lære MATLAB! Prøv selv om du kan få MATLAB til å regne ut ting du kan regne ut selv. 1.1 En første introduksjon til MATLAB Før du starter på dette avsnittet bør du ha tilgjengelig en datamaskin med MATLAB installert. Ikke glem å skrive koden selv, og å gjøre ringer på den for å se hvilken eekt det har Kalkulatorfunksjon Ved oppstart vil markøren være i kommandovinduet. Her kan vi skrive kommandoer, og få dem evaluert ved å trykke Enter. For eksempel vil 2 + sin(3) etterfulgt av Enter gi >> 2 + sin(3) ans = ans er kort for answer. Når vi skriver funksjoner som sinus, må vi alltid huske parentesene, ellers vil MATLAB gi en feilmelding. For eksempel: 5

6 6 KAPITTEL 1. INTRODUKSJON TIL MATLAB >> 2 + sin 3??? 2 + sin 3 Error: Unexpected MATLAB expression. De vanlige regneoperasjonene nner vi med +,,, / på tastaturet. I tillegg er opphøyd i skrevet med tegnet ^ som i >> 4^5 ans = 1024 Sinus og cosinus heter sin og cos som vanlig, eksponentialfunksjonen heter exp og den naturlige logaritmen heter log (og ikke ln, som dere kanskje ville trodd). Det er også vanlig å denere variabler i kommandovinduet. For eksempel kan vi regne ut saldoen ett år etter at 1000 kroner er satt inn i banken til 2% rente ved >> innskudd = 1000 innskudd = 1000 >> rente = 0.02 rente = >> saldo = innskudd * (1 + rente) saldo = Script Den første viktige forskjellen mellom å bruke MATLAB og en kalkulator, er at det er lett å redigere det man jobber med, og lett å bruke arbeid man har gjort til en

7 1.1. EN FØRSTE INTRODUKSJON TIL MATLAB 7 utregning om igjen i en annen utregning. For å komme i gang med dette, velg File, så New og Script fra menyen. Da åpnes en editor, der vi kan skrive MATLABkommandoer på samme måte som i kommandovinduet. Disse kommandoene vil ikke 1 bli utført med det samme, men når det vi skriver lagres og kjøres, vil MATLAB utføre alle kommandoene som står der i rekkefølge. Når en slik l lagres, vil den få et navn med suks.m, og MATLAB-lene kalles derfor ofte m-ler. Det er også vanlig (og veldig fornuftig) å legge inn noen kommentarer. En kommentar markeres ved å skrive % foran, så fortsetter kommentaren til en av linjen. Variabelnavn bør enten være standardnavn (sånn som x for førstekoordinat og y for annenkoordinat) eller fortelle noe om det som skal skje. Siden vi kan ha problemer med ulike tegnsett, kan det være lurt å unngå de norske bokstavene. Her er et eksempel på en fullstig (men ganske kort) m-l: % Vi regner ut volumet av en rett, sirkulær kjegle % Skrevet av Jon Eivind Vatne, januar 2013 radius = 5 hoyde = 8.2 volum = pi * radius^2 * hoyde / 3 Den raskeste måten å kjøre en slik l på, er å trykke F5. Om len ennå ikke er lagret vil du først bli bedt om å lagre den. Deretter vil den kjøres. Resultatet, som kommer i kommandovinduet, er for dette eksempelet radius = 5 hoyde = volum = Om vi så ville ønske å regne ut volumet av en annen kjegle, er det nok å re på radius og hoyde. 1 Ordet script brukes vanligvis om et kort program

8 8 KAPITTEL 1. INTRODUKSJON TIL MATLAB Funksjoner i m-ler En annen vanlig bruk av m-ler er å bruke dem til å denere egne funksjoner. Disse funksjonene kan så brukes i MATLAB, på linje med funksjoner denert av MATLAB (som sinus eller logaritmen). For å denere en ny funksjon, velg File, så New og Function fra menyen. Da kommer det opp en editor med noen linjer plassert. Det ser ut omtrent som dette: function [ output_args ] = Untitled( input_args ) %UNTITLED Summary of this function goes here % Detailed explanation goes here Her er det meste av teksten en beskrivelse av hva som skal settes inn. args er kort for arguments. Om vi vil tenke på volumet av en kjegle som en funksjon, vil output være volumet, input de to variablene for radius og høyde. Vi kan re det som står i len til å begynne med til function [ volum ] = VolumAvKjegle( radius, hoyde ) %VolumAvKjegle regner ut volumet av en kjegle % Volumet er pi ganget med kvadratet av radien ganget med % høyden, delt på tre. % For å bruke funksjonen, gi radius og høyde som input. % Skrevet av Jon Eivind Vatne, januar 2013 volum = pi * radius^2 * hoyde / 3; For å bruke funksjonen må m-len lagres. MATLAB vil anbefale at len lagres ved å bruke funksjonsnavnet, så denne funksjonen lagres i VolumAvKjegle.m. Etter det kan funksjonen brukes ved å skrive funksjonsnavnet, og gi inputvariablene, som i >> VolumAvKjegle(2,3) ans = Funksjoner som m-ler kan også fås fra andre, og m-len må lagres i MATLABmappen på datamaskinen eller en annen mappe som MATLAB nner.

9 1.1. EN FØRSTE INTRODUKSJON TIL MATLAB 9 Merknad Vi har for første gang sett et semikolon brukt i MATLAB. Å avslutte en linje med semikolon gir MATLAB beskjed om at resultatet av utregningen ikke skal vises i kommandovinduet. Da må vi huske å lagre verdien i en variabel. Se på forskjellen mellom disse re kodelinjene: volum = pi * radius^2 * hoyde / 3; volum = pi * radius^2 * hoyde / 3 pi * radius^2 * hoyde / 3; pi * radius^2 * hoyde / 3 I den øverste lagres volumet i en variabel, men skrives ikke ut. I den neste lagres volumet i en variabel i tillegg til at det skrives ut. I den tredje regnes volumet ut, men det lagres ikke og skrives ikke ut, så verdien er tapt. I den siste regnes volumet ut og verdien skrives til kommandovinduet. Alle re linjene er korrekte, men om verdien skal brukes videre er det veldig lurt å lagre den. Ofte setter vi inn semikolon etter at koden er ferdig, slik at verdien bare skrives ut mens vi skriver og tester Grunnlegge plotting Om vi skal tegne grafen y = f(x) til en funksjon f i MATLAB, vil vi vanligvis først velge hvilke x verdier vi vil regne ut funksjonen for. Deretter regner vi ut funksjonsverdiene. Så ber vi MATLAB plotte alle punktparene (x, y) = (x, f(x)), og tegne rette streker mellom dem. Prosessen er enklest illustrert ved å bruke litt for få x verdier, selv om vi senere skal velge mange ere. Disse kodelinjene tegner grafen til sinus fra 6 til 6: x = -6:0.5:6; y = sin(x); plot(x,y) I linjen som denerer x verdiene er det første tallet startverdien, det siste tallet er stoppverdien, og tallet i midten angir hvor mye x skal økes med for hver gang. Så i koden over regner MATLAB ut verdiene ( 6, sin( 6)), ( 5.5, sin( 5.5)), ( 5, sin( 5)),, (5.5, sin(5, 5)), (6, sin(6)) Disse tretten punktene forbindes så med linjestykker. Om vi rer kodelinjen for x til x = -6:0.01:6 regner MATLAB ut mange ere verdier, og vi ser funksjonen tydeligere. Vanligvis vil vi også ønske å styre mer av utseet til grafen, og plot-funksjonen i MATLAB har massevis av muligheter for det. For eksempel kan vi legge til tekst i grafen, og vi kan plotte ere grafer sammen. Vi rer koden over til

10 10 KAPITTEL 1. INTRODUKSJON TIL MATLAB x = -6:0.1:6; y1 = sin(x); y2 = cos(x); plot(x,y1,x,y2) title('sinus og cosinus i samme graf') xlabel('x-verdiene') ylabel('verdiene til sinus og cosinus') Nå vil begge grafene tegnes i samme vindu, med farger valgt av MATLAB. Over guren kommer en tittel-linje, og det skrives også en tekst langs aksene. Når vi har fått grafen til å se ut slik vi vil, er det vanlig å legge til slik informasjon til slutt, før det elige resultatet lagres. I denne kodesnutten står x to ganger. Det er fordi det er de samme x verdiene vi bruker både for y1 og for y2. Vi kan oppdatere en tegnet graf mange ganger, og spille det av som en animasjon. Her er et enkelt eksempel som produserer en ståe bølge: x = -15:0.2:15; for i = 1:63 y = 5 * cos(i/10) * sin(x); plot(x,y) axis equal M(i) = getframe; movie(m) Plotting for å gjette grenser Vi kan tegne grafer i nærheten av punkter der vi ønsker å nne grenseverdier, ved å forsøke å tegne grafen ganske nær punktene. Dette er litt risky, siden den tegnede grafen kan være unøyaktig. En tommelngerregel er at vi treer grensen ganske bra om en essensiell ring i hvor nær det spesielle punktet vi er, ikke påvirker resultatet. Her er et eksempel, hvor vi plotter funksjonen f(x) = x x i nærheten av x = 0, men bare på den positive siden. start = 0.1; x = start:0.01:1; y = x.^x; plot(x,y) NB:.^ vil forklares senere. Vi forsøker oss frem ved å re startpunktet og skrittlengden. Når vi kommer til at en stor ring i disse verdiene ikke påvirker resultatet, tror vi det kan stemme. Merk at dette absolutt ikke erstatter en skikkelig utregning av grenseverdien.

11 1.2. FOR-LØKKER Dokumentasjonen i MATLAB Den beste kilden til informasjon om MATLAB er selve dokumentasjonen som følger med produktet. Hele dokumentasjonen er også tilgjengelig på nettet, og det gir kanskje den enkleste tilgangen til det. Alternativt vil F1 gi deg direkte adgang til dokumentasjonen inne i MATLAB. Det er fornuftig å kopiere og modisere eksempler for å gjøre seg kjent med funksjonene i MATLAB. 1.2 for-løkker Temaet for denne bolken er noe av det datamaskiner gjør best, repeterte oppgaver. Vi skal se noen eksempler, og se hvordan de lett kan modiseres. Underveis skal vi plukke med oss noen nye MATLAB-funksjoner Den første løkken Det enkleste meningsfulle vi kan gjøre med en løkke, er å repetere en operasjon som avhenger av indeksen. Vi kan for eksempel regne ut en funksjon brukt på heltallene {1, 2,, 10} på denne måten: for i = 1:10 (i^3 - i) / 3 Utskriften fra dette er funksjonsverdiene til funksjonen f(x) = (x 3 x)/3 på heltallene 1, 2,, 10. For å spesisere en løkke starter vi med kodeordet for, og avslutter det som skal skje i løkken med. Mellom disse to kodeordene kan det stå mange ulike typer MATLAB-kommandoer, og det kan være mange linjer med kode. Her er et litt lengre eksempel, som inkluderer en del mellomregning, og som bruker såkalte slumptall, noenlunde tilfeldig uttrukne tall. Denne kodelinjen oppretter en tabell med n tilfeldige verdier mellom 0 og 1: x = rand(n,1) Her er rand kort for random. Hvis vi vil beregne aritmetisk og geometrisk gjennomsnitt for noen tilfeldige tall, kan vi bruke denne kodesnutten: n = 15; x = 10 * rand(n,1); sum = 0; produkt = 1; for i = 1:n

12 12 KAPITTEL 1. INTRODUKSJON TIL MATLAB sum = sum + x(i); produkt = produkt * x(i); fprintf('den aritmetiske middelverdien er %f \n',sum/n) fprintf('den geometriske middelverdien er %f\n',produkt^(1/n)) Her har vi også tatt i bruk kommandoen fprintf. Vi nøyer oss med å si at den skriver ut tekst, og at tall kan hentes inn i teksten ved å skrive %f. For å gjøre programmer helt ferdig til å brukes av andre er dette en fornuftig kommando. Dette aspektet ved MATLAB kommer vi til å legge liten vekt på Testing i en løkke En vanlig bruk av løkker er for å utføre operasjoner på et utvalg av verdiene. La oss for eksempel generere 6 tilfeldige verdier ved kommandoen x = rand(6,1): x = Om du kjører koden vil du få andre tall, siden de skal være tilfeldige. I denne kjøringen kk vi to verdier under en halv, og re verdier over. Om vi skal telle hvor mange verdier som kommer over en halv, vil vi innføre en variabel for å telle verdiene. Et fornuftig navn kan være antalloverenhalv. Om den i utgangspunktet settes til null, kan vi gå gjennom tabellen x, og øke denne variabelen dersom verdien er over en halv. Her er en kodesnutt som gjør dette: antalloverenhalv = 0 for i = 1:6 if (x(i) > 0.5) antalloverenhalv = antalloverenhalv + 1 Kodeordet if starter en bolk av koden, som avsluttes med. Denne bolken utføres om betingelsen stemmer, i dette tilfellet om det i-te tallet i x er større enn 0,5. Ellers skjer det ingenting. Om vi skal ha et alternativ til, bruker vi kodeordet else. Om vi skal ha a ere alternativer, bruker vi elseif på alternativene i midten, disse må da også ha en betingelse.

13 1.2. FOR-LØKKER 13 Dette er forresten veldig likt det som skjer for funksjoner med delt forskrift. Om vi skal tegne grafen til funksjonen (hentet fra Gulliksen, Hashemi, Hole: Matematikk i praksis, 6. utgave side 48, senere omtalt bare som læreboken) x + 1 x [ 2, 2) f(x) = 1 x = 2 x x > 2 kan vi bruke denne løkken, med test for å avgjøre hvilken av delene vi skal bruke. Koden under regner ut funksjonsverdiene i intervallet [ 2, 4], og tegner grafen (men kanskje ikke så veldig pent). x = -2:0.1:4; for i = 1:length(x) if (x(i) < 2) y(i) = x(i) + 1; elseif (x(i) == 2) y(i) = 1; else y(i) = x(i); plot(x,y) Summering av rekker Rekker kan summeres ved å bruke løkker. Selve oppsettet for rekkene, med summetegnet, er veldig likt oppsettet for løkker. Betingelsene på indeksen til summetegnet b oversettes til for i = a:b i=a Om vi skal summere en rekke, må vi ha en variabel som skal holde svaret. Den kan vi ofte kalle sum. Her er en kodesnutt som summerer rekken 100 i=2 1 ln i

14 14 KAPITTEL 1. INTRODUKSJON TIL MATLAB sum = 0; for i = 2:100 sum = sum + 1 / log(i); sum Husk at den naturlige logaritmen heter log i MATLAB while-løkke En annen type løkke bruker kodeordet while. I dette tilfellet vil koden inne i løkken utføres så lenge betingelsen stemmer. For at dette skal virke, må noe i betingelsen res i løkken. I dette eksempelet regner vi ut en x verdi nær null slik at tan(x) sin(x) blir liten. x = 1; skranke = ; while (tan(x) > sin(x) + skranke) x = x / 2; x Julia-mengder Dette eksempelet bruker komplekse tall, og viser hvordan MATLAB håndterer slike. Den franske matematikeren Gaston Julia innførte mengdene som vi denerer under. De ble veldig populære etter at datamaskinene ble kraftige nok til å kunne tegne dem. Komplekse tall er i MATLAB representert ved i som den imaginære enheten, for eksempel z = *i. Ordinære operasjoner som addisjon og multiplikasjon skrives som for reelle tall. Normen (eller modulus) til et komplekst tall skrives norm(z). Som et eksempel på plotting ved hjelp av komplekse tall skal vi bruke imagekommandoen, som produserer et rgb-bilde basert på verdiene i en matrise. Juliamengden til en funksjon består av punktene som ikke går mot uelig ved gjentatt bruk av funksjonen. Eksempel La f(z) = z 2. For å avgjøre om 1/2 er i Julia-mengden, betrakt

15 1.2. FOR-LØKKER 15 følgen vi får ved å bruke f ere ganger. f(1/2) = 1/4 f(1/4) = 1/16 f(1/16) =. 1/256 Følgen { 1, 1, 1 } går ikke mot uelig, den går mot null, så 1/2 er med i Juliamengden , På samme måte er i med i Julia-mengden, siden {i, 1, 1, 1, 1, } ikke går mot uelig. 2 er ikke med i Julia-mengden, siden 2, 4, 16, 256 går mot uelig. Som en tilnærming til Julia-mengden, kan vi velge et nett av punkter og avgjøre om følgen for hvert av disse punktene blir stor etter et visst antall skritt. Hvis den blir stor gjetter vi at punktet vi startet med ikke er i Julia-mengden, mens om den holder seg liten gjetter vi at punktet er i Julia-mengden. Eksempel Betrakt funksjonen f(z) = z 2 + µ/z 2 = z 2 + ( 0,02 + 0,01i)/z 2. Det går an å variere parameteren µ til andre verdier enn 0,02+0,01i. La oss stoppe etter maksimalt 50 iterasjoner, og gjette at følgen går mot uelig dersom normen blir større enn 2. Igjen kan vi bruke andre verdier. Vi lagrer det antallet iterasjoner som skal til for å komme over denne grensen, og bruker det som input for fargevalget i MATLAB. I koden under gjøres dette for om lag en million punkter i kvadratet der både den reelle og den komplekse delen av tallet er mellom 1 og 1, og bildet tegnes. mu = *i; N = 500; maxiterations = 50; J = zeros(2*n+1); % a square matrix of sixe 2N+1 for x = -N:N for y = -N:N z = x/n + i*y/n; iterations = 0; while (norm(z) < 2 & iterations < maxiterations) z = z^2 + mu/z^2; iterations = iterations + 1; J(x+N+1,y+N+1) = iterations*255/50; image(j);

16 16 KAPITTEL 1. INTRODUKSJON TIL MATLAB 1.3 Derivasjon I boken står denisjonen av den deriverte. Verdien til f (x) forteller hva den momentane ringen til f(x) er. Geometrisk svarer det til stigningstallet til en tangent, som vi ved denisjonen av den deriverte kan tolke som en grense av sekanter (linjer som skjærer grafen til f i to punkter). I dette avsnittet skal vi bruke derivasjon til å nne nullpunkter til en funksjon ved Newtons metode, og vi skal se hvordan MATLAB kan regne ut deriverte Newtons metode Newtons metode er en metode for å nne løsninger av likninger i én variabel. Som eksempel skal vi se på å løse likningen 2 cos(x) = x. Fra før vet vi at vi kan tegne de to grafene y 1 = 2 cos(x) og y 2 = x i MATLAB med denne koden: x = -8:0.1:8; y1 = 2 * cos(x); y2 = x; plot(x,y1,x,y2) Det ser ut til at vi har en løsning for et tall x som er litt større enn 0. For å forenkle fremstillingen rer vi litt på oppsettet, og søker nullpunkter til funksjoner heller enn skjæringspunkter mellom to funksjoner. Det kan vi gjøre fordi Så la f(x) = 2 cos(x) x. 2 cos(x) = x er det samme som 2 cos(x) x = 0 Denisjon (Newtons metode). Newtons metode forsøker å nne nullpunkter til funksjoner. Følgen {x n } vil forhåpentligvis nærme seg et nullpunkt. Start med et punkt x 0. Velg det i nærheten av der du tror du kan nne et nullpunkt. Velg det neste punktet fra formelen x 1 = x 0 f(x 0) f (x 0 )

17 1.3. DERIVASJON 17 Fortsett med å velge nye punkter x i, der hvert punkt velges fra det foregåe ved formelen x n+1 = x n f(x n) f (x n ) Stopp når resultatet er godt nok. La oss bruke denne fremgangsmåten på funksjonen vår, f(x) = 2 cos(x) x. Fra graftegningen kan det virke fornuftig å velge x 0 = 0, så vi kommer i gang. Vi trenger også den deriverte, som vi nner som Ved å kjøre f (x) = 2 sin(x) 1 x0 = 0 x1 = x0 - (2 * cos(x0) - x0) / (-2 * sin(x0) - 1) x2 = x1 - (2 * cos(x1) - x1) / (-2 * sin(x1) - 1) x3 = x2 - (2 * cos(x2) - x2) / (-2 * sin(x2) - 1) x4 = x3 - (2 * cos(x3) - x3) / (-2 * sin(x3) - 1) får vi verdiene x 0 0 x 1 2 x 2 0,9951 x 3 1,0301 x 4 1,0299 Om vi sjekker den opprinnelige likningen med x = x 4 får vi at 2 cos(1,0299) = 1,0298 Så likningen stemmer med tre desimalers nøyaktighet. Kodingen er ikke særlig eektiv over. Det er ikke nødvig å lagre, og å gi navn til, mellomregningsverdiene x n. Vi er bare interessert i den siste verdien. Metoden skal stoppe når forskjellen mellom x n og x n+1 er liten, og det er best at MATLAB vurderer det direkte. Her er en litt bedre kodesnutt for den samme operasjonen: x = 0 while (abs(2 * cos(x) - x) > 0.001) x = x - (2 * cos(x) - x) / (-2 * sin(x) - 1)

18 18 KAPITTEL 1. INTRODUKSJON TIL MATLAB Figur 1.1: Første og andre punkt i Newtons metode x 1 x Funksjonen abs er absoluttverdifunksjonen. Hvorfor er denne metoden fornuftig? Se læreboken side 177 eller Gulbrandsen, Kleppe, Kro, Vatne: Matematikk for ingeniørfag avsnitt 5.3. Om vi tar den lineære tilnærmingen (tangenten) til f rundt x n, får vi at f(x) f(x n ) + f (x n )(x x n ) Vi kan tilnærme f(x) = 0 ved å sette denne tilnærmingen lik null. Det gir altså 0 = f(x n ) + f (x n )(x x n ) x n f(xn) f (x n) = x Vi kan tegne en funksjon og den lineære tilnærmingen i samme plot, se gur 1.1. Vi starter i x 0, regner ut tangenten der, og velger x 1 som nullpunktet til tangenten. Fra grafen kan det se ut til å gi en verdi som er nærmere nullpunktet til f enn den verdien vi startet med. Ved å iterere kan vi tree bedre og bedre Skjæring, kontinuitet og Newtons metode En typisk oppgave om Newtons metode består i å forklare hvorfor vi kan være sikre på at en funksjon har et nullpunkt, og deretter bruke Newtons metode til å prøve å nne det. Det viktigste teoretiske verktøyet er Skjæringssetningen, se lærebokens teorem Den sier at en kontinuerlig funksjon som skifter fortegn på et intervall i denisjonsmengden må ha et nullpunkt der. Eksempel Se på funksjonen f(x) = e x + x

19 1.3. DERIVASJON 19 Forklar hvorfor funksjonen har et nullpunkt i intervallet < 1, 0 >. Bruk Newtons metode til å nne nullpunktet. Vi sjekker at f( 1) = e 1 + ( 1) 0,63 < 0 mens f(0) = e = 1 > 0. Siden f er summen av to kjente kontinuerlige funksjoner er f selv kontinuerlig, så ved skjæringssetningen kan vi konkludere at det må være et nullpunkt Som startpunkt for Newtons metode bør vi velge et punkt i intervallet, for eksempel x = 0,5. Vi regner også ut for hånd at f (x) = e x + 1. Her er kode: x = -0.5; while (abs(exp(x) + x) > 0.001) x = x - (exp(x) + x) / (exp(x) + 1); MATLAB gir svaret x = 0,5671. Om vi sjekker for f(x) får vi svaret 1,9648e 07, som ikke er så langt fra null. Merknad Funksjoner kan ha nullpunkter uten å skifte fortegn (for eksempel f(x) = x 2 ), så det nnes situasjoner der Newtons metode kan virke uten at skjæringssetningen kan benyttes. Men det nnes også situasjoner der Newtons metode, slik vi har skrevet den, vil gi et svar selv om funksjonen ikke har et nullpunkt. Skjæringssetningen gir en ekstra trygghet for at utregningen vi holder på med faktisk gir mening Litt teori rundt feilestimat i Newtons metode Feilleddet i den lineære tilnærmingen rundt x = a kan gis som et annengradsuttrykk, f(x) = f(a) + f (a)(x a) + feil = f(a) + f (a)(x a) + f (c)(x a) 2 2 Her er tallet c ukjent, men det ligger mellom a og x. Hvis vi bruker dette rundt a = x n, og antar at x er et nullpunkt (altså at f(x) = 0), blir dette 0 = f(x) = f(x n ) + f (x n )(x x n ) + f (c)(x x n ) 2 Ved å justere litt på dette får vi x n f(x n) f (x n ) x = f (c)(x x n ) 2 2f (x n ) Venstre side er x n+1 x. Hvis f (c) ikke er for stor, f (x n ) ikke for liten, og x x n liten, vil x n+1 x bli mindre enn x n x fra denne formelen. For et presist utsagn, med bevis, henviser jeg til en annen lærebok: 2

20 20 KAPITTEL 1. INTRODUKSJON TIL MATLAB Teorem (Lindstrøm: Kalkulus, Setning 7.3.3). Anta at f(a) = 0, at f (a) 0 og at f (x) eksisterer og er kontinuerlig i en omegn rundt a. Da nnes det en δ > 0 slik at følgen {x n } i Newtons metode konvergerer mot a når x 0 (a δ, a + δ) Numerisk derivasjon Husk denisjonen av den deriverte: f (x) = lim h 0 f(x + h) f(x) h Vi ser en mulig metode for å nne den deriverte i MATLAB. Velg en passe liten h, og regn ut brøken for denne verdien. I symboler: f (x) = lim h 0 f(x + h) f(x) h f(x + h) f(x) h for liten h La oss først se på et eksempel vi forstår godt, la oss nne verdien av f (2) når f(x) = sin(x). Vi forsøker oss med verdiene h = 1, h = 0,1, h = 0,01 og så videre, og lar MATLAB regne ut tilnærmingene for en del av verdiene. Vi bruker en for-løkke, og ser på utskriften fra denne koden. x = 0.2; h = 1; for i=1:20 (sin(x + h) - sin(x)) / h h = h / 10; Etter 4-5 iterasjoner kommer vi til verdien 0,9801. Om vi kontrollerer cos(0,2), ser vi at denne verdien stemmer. Men etter iterasjoner skjer det noe galt, verdien fjerner seg fra det korrekte! Årsaken til det er at MATLAB setter av begrenset plass til å lagre hver variabel. Det innfører avrundingsfeil i utregninger der det inngår tall nær null. For oss er moralen at vi skal bruke en liten h, men ikke for liten. I eksempelet over vil h = 10 6 = 0, være passe stor. Vi kan så forsøke å gjøre dette for mange x verdier samtidig, som i dette scriptet. x = -10:0.1:10; h= 10^(-6); for i = 1:length(x) y(i) = (sin(x(i) + h) - sin(x(i))) / h; plot(x,y)

21 1.4. LYD SOM EKSEMPEL 21 Når vi nå vet hvordan dette virker, kan vi også bruke det på funksjoner vi ikke allerede kjenner den deriverte til. Eksempler kan være funksjoner som kommer fra målinger, men vi skal bruke en ukjent funksjon fra MATLAB, og se at den deriverte fra vår metode oppfører seg som vi skulle tro. x = 0:0.1:15; y = besselj(3,x); h = 10^(-6); for i = 1:length(x) ymerket(i) = (besselj(3,x(i) + h) - besselj(3,x(i))) / h; plot(x,y,x,ymerket) Funksjonen vi bruker, besselj(3,x), er en såkalt Bessel-funksjon. Denisjonen av den er ikke så viktig for oss, men vi kan derivere den numerisk og se at den deriverte oppfører seg slik vi skulle tro. 1.4 Lyd som eksempel Lydbølger er langsgåe bølger som beveger seg i ulike medier, for eksempel luft, og som kan tolkes av øret og hjernen (i hvert fall noen frekvenser). Matematisk kan disse uttrykkes ved hjelp av en funksjon som forteller hvor hurtig lydbølgene vibrerer. Den enkleste lyden matematisk er en ren tone. For eksempel er A gitt matematisk ved en funksjon av typen f(t) = sin(2π f t) = sin(2π 440 t) det t er tiden målt i sekunder, og f er frekvensen målt i Hertz (som er 1/s, så enhetene kanselleres mellom frekvens og tid før vi anver sinus). Funksjonen kan ganges med en konstant, som angir hvor sterk lyden skal være. En mer komplisert lyd er vanskeligere å få tak på, og for vårt bruk vil sampling av lyd gi funksjoner vi kan studere, uten å kjenne noe analytisk uttrykk for dem Rene noter Rene noter spilles ved å angi frekvensen, og velge tidsintervall. Vi må også angi hvor mange ganger i sekundet lyden skal oppgis, men om vi bruker standardverdien, som er 8192 ganger i sekundet, kan vi utelate dette. Denne kodesnutten spiller en A i ett sekund. t = 0:1/8192:1; %sample rate 8192 er default notea = sin(2*pi*440*t); sound(notea)

22 22 KAPITTEL 1. INTRODUKSJON TIL MATLAB Vi kan da også kjenne igjen enkle melodier, bare ved å sette sammen rene noter. Hør på denne: t = 0:(1/8192):1; %sample rate 8192 C = sin(2*pi*261.6*t); D = sin(2*pi*293.7*t); E = sin(2*pi*329.6*t); F = sin(2*pi*349.2*t); Helt = 0:(1/8192):4; CHel = sin(2*pi*261.6*helt); sover = [C,C,C,E,D,D,D,F,E,E,D,D,CHel]; sound(sover) Her inngår det mest kvartnoter, men også en helnote på slutten. Frekvensene kan nnes i tabeller, lett tilgjengelig på nettet, se for eksempel Samplet lyd Mer interessant er det selvsagt med realistisk lyd, for eksempel noe som er samplet fra en mikrofon, eller som kommer fra en eller annen form for innspilling. Matlab inkluderer en enkel referanselydl, som vi kan få tak i ved å skrive load handel Etter at denne kommandoen er skrevet, får vi tilgang til en variabel Fs, som inneholder standardverdien 8192, og en liste y. Denne kan vi utsette for kommandoen plot(y). Når plot brukes på denne måten, vil vi få tegnet punktene (i, y(i)) for i fra 1 til length(y), som i dette tilfellet er Vi kan også bruke kommandoen sound, og det er interessant å sammenlikne det som kommer ut av disse to kommandoene Hva skjer om lyden deriveres? Om vi ganger lyden med en konstant, vil det bare påvirke lydstyrken. Det betyr for eksempel at om vi erstatter den deriverte med en tilnærming f f(x + h) f(x) (x) h der h er den samme for alle x, så vil vi få samme lyd om vi bare bruker telleren. Så for å derivere funksjonen som svarer til lydsignalet gitt ved y, kan vi la h = 1/8192, sånn at vi bare hopper fra en samplet verdi til den neste, og droppe å dele på h. Denne koden genererer dermed den deriverte lyden (bortsett fra at lydstyrken ikke stemmer):

23 1.5. INTEGRASJON 23 for i=1:(length(y)-1) z(i)=y(i+1)-y(i); Endepunktet length(y)-1 kommer av at vi trenger i+1 i koden, så i siste skritt må vi ha i + 1 = length(y) Vi prøver å plotte og å spille den deriverte lyden, og sammenlikner med den opprinnelige. 1.5 Integrasjon Denisjonen av integrasjon er via en tilnærming med arealer av bokser som vi kjenner arealet til (lengde ganger bredde). Ved å velge mange av disse enkle arealene, kan vi få en god tilnærming til integralet. Dette er en oppgave som egner seg godt for datamaskinen! Vi skal først se på montone funksjoner, der vi lett kan regne ut tilnærminger som er større enn eller mindre enn den virkelige verdien. Det gir oss god kontroll over presisjonen i utregningen. Etterpå skal vi se på en metode som virker mer generelt, men der presisjonen er noe vanskeligere å få tak på Øvre og nedre Riemann-summer for monotone funksjoner Vi skal tilnærme verdien b a f(x) dx For å gjøre det velger vi en oppdeling av intervallet [a, b] der vi øker x med et fast tall x hver gang. I MATLAB-kode innebærer det at vi skriver x = a:deltax:b Hvis funksjonen er synke (som svarer til at den deriverte hele tiden er negativ), vil den største verdien i intervallet [x, x + x] ligge til venstre (altså i x), og den minste til høyre (altså i x + x). Om funksjonen er vokse (derivert positiv), er det omvt. I begge tilfeller vil den største og den minste verdien av en boks med grunnlinje x og høyde en funksjonsverdi i intervallet, nnes ved å bruke epunktene. Dermed vil den ekte verdien av integralet ligge mellom summen av de store og de små boksene, som vi for monotone funksjoner lett kan regne ut. Se gurene 1.2 og 1.3.

24 24 KAPITTEL 1. INTRODUKSJON TIL MATLAB Figur 1.2: Arealet av boksene er større enn integralet Figur 1.3: Arealet av boksene er mindre enn integralet

25 1.5. INTEGRASJON 25 Eksempel I statistikk er verdiene til integralet av funksjonen f(x) = 1 e x2 2 2π viktige. Om vi begrenser oss til x > 0 blir den deriverte negativ, så vi kan bruke tankegangen vår på denne funksjonen. La oss regne ut (+0,5 forklares i statistikken) 0, f(x) dx For å regne ut et tall som er større enn integralet, kan vi bruke de venstre verdiene med denne koden: Deltax = 0.01; storsum = 0.5; for x = 0:Deltax:(2-Deltax) storsum = storsum + Deltax * 1/(2*pi)*exp(-0.5*x.^2); storsum Tilsvare kan vi regne ut litensum, men da bruke x = Deltax:Deltax:2. Ved å kjøre denne koden kan vi regne ut at verdien av integralet må ligge mellom disse to verdiene, som viser seg å være i intervallet [0,9755, 0,9790]. Om vi trenger bedre nøyaktighet kan vi bruke en mindre verdi av x. Når vi har funnet en passe x, kan vi legge på en løkke på alt det vi har gjort, og nne grafen til integralfunksjonen 0,5 + x 0 f(t) dt Vi tegner den for x opp til 4. Etter litt prøving og feiling kan vi komme frem til at denne kodesnutten gir oss den informasjonen vi trenger: Deltat = ; i = 1; //kunstig indeks for integralet for x = 0.01:0.01:4 storsum = 0.5; for t = 0:Deltat:(x-Deltat) storsum = storsum + Deltat *exp(-0.5*t^2)/sqrt(2*pi); litensum = 0.5; for t = Deltat:Deltat:(x)

26 26 KAPITTEL 1. INTRODUKSJON TIL MATLAB litensum = litensum + Deltat *exp(-0.5*t^2)/sqrt(2*pi); storsum - litensum integralet(i) = (storsum + litensum)/2; i = i+1; x = 0.01:0.01:4; plot(x,integralet) Merknad Det vi har gjort så langt virker bare for monotone funksjoner, siden vi for andre funksjoner ikke kan vite hvor i et intervall [x, x+ x] en funksjon oppnår maksimum og minimum Trapesmetoden En teknikk som virker for mange funksjoner, er trapesmetoden. Navnet kommer av at vi tilnærmer integralet, altså arealet under en kurve, med en mengde trapeser, rkanter hvor to av sidene er parallelle. Vi skal tilnærme integralet b a f(x) dx Vi starter med å dele inn intervallet [a, b] i mange deler, som vi for å holde ting enkelt lar være like store. Om vi vil ha n deler, betyr det at vi øker x fra a til b med skritt på x = (b a)/n. For hver av disse delene tegner vi trapeset med hjørner (a + i x, f(a + i x) (a + (i + 1) x, f(a + (i + 1) x) (a + i x, 0) (a + (i + 1) x, 0) Se gur 1.4. Arealet til dette trapeset er f(a + i x) + f(a + (i + 1) x) x 2 Merk at x er med uansett hvilket av trapesene vi ser på, og at unntatt den første x- verdien x = a og den siste x = b, gjentas hvert ledd to ganger. Om vi summerer opp alle arealene, får vi dermed b a f(x) dx x f(a) + 2 n 1 i=1 f(a + i x) + f(b) 2 Hvor god denne tilnærmingen er, varierer med funksjonen. Hvis den dobbeltderiverte ikke er for stor, kan vi være sikre på at vi får en god tilnærming ved å la x være liten.

27 1.5. INTEGRASJON 27 Figur 1.4: Arealet av trapeset er omtrent lik integralet over delintervallet a+i Deltax a+(i+1) Deltax Vi kan undersøke kvaliteten på tilnærmingen ved å integrere en funksjon vi allerede kjenner, og så heller anve teknikken på integraler vi ellers ikke får til senere. La oss først oppsummere metoden, og så se på et eksempel. Denisjon Trapesmetoden for å regne ut tilnærmede verdier for integralet til består av følge skritt: Velg antall delintervaller n b Sett skrittlengden til x = (b a)/n a f(x) dx Legg sammen verdiene f(a), 2f(a + i x) for i fra 1 til n 1, og elig f(b) Multipliser med x og del på 2 Juster n for å nne et troverdig svar. Som det første eksempelet tar vi et polynom, og spør etter integralet Om vi regner analytisk, får vi x 3 2x dx 4x 3 2x dx = x 4 x = ( ) = 240 Om vi skal bruke trapesmetoden, kan vi for eksempel bruke denne koden:

28 28 KAPITTEL 1. INTRODUKSJON TIL MATLAB Figur 1.5: En grov tilnærming n = 10; % antall delintervaller, skal varieres a = 1; b = 4; Deltax = (b-a)/n integralet = 4*a^3-2 * a; % f(a) for x = a+deltax:deltax:b-deltax integralet = integralet + 2 * (4*x^3-2*x); integralet = integralet + 4*b^3-2*b; % f(b) integralet = Deltax*integralet/2 % Delta x og delt på 2 Ved å variere n kan vi se hvordan tresikkerheten i tilnærmingen rer seg med antallet delintervaller. Integralet av en stykkevis lineær tilnærming er en annen tolkning av trapesmetoden, så for å illustrere dette er det fornuftig å tegne denne. Fra gur 1.5 til gur 1.6 er n doblet. Vi ser at det vil gi en mer nøyaktig tilnærming Litt om feilen i trapesmetoden Det er litt arbeid å vise et skikkelig feilestimat for trapesmetoden, men det går an å se på resultatet. For et bevis, se Adams: Calculus. Teorem Anta at f er en to ganger deriverbar funksjon, denert på et åpent intervall som inneholder [a, b]. Anta også at f (x) < K for alle x [a, b]. Da er feilen vi gjør ved å bruke trapesmetoden med n delintervall mindre enn K(b a)/12n 2 : b a f(x) dx x f(a) + 2 n 1 i=1 f(a + i x) + f(b) 2 < K(b a)3 12n 2

29 1.5. INTEGRASJON 29 Figur 1.6: En mindre grov tilnærming Her er, som før, x = (b a)/n Lengde av parametriserte kurver Vi skal ta utgangspunkt i en formel for lengden av en parametrisert kurve, som er gitt ved x = x(t) og y = y(t). Dersom tiden varierer fra t 0 til t 1 vil lengden av kurven være gitt ved t1 x (t) 2 + y (t) 2 dt t 0 For et eksempel, som vi ikke uten videre klarer å regne på, la x(t) = a cos(t) y(t) = b sin(t) Dette kan tegnes i MATLAB med denne kodesnutten, der jeg velger noen verdier for konstantene a og b: a = 2; b = 3; t = 0:(2*pi)/100:2*pi; x = a*cos(t); y = b*sin(t); plot(x,y) Om vi deriverer de to uttrykkene for x(t) og y(t), og så bruker formelen for lengden, får vi 2π a 2 sin 2 (t) + b 2 cos 2 (t) dt 0

30 30 KAPITTEL 1. INTRODUKSJON TIL MATLAB Dette integralet har vi ingen fornuftig måte å løse analytisk, så vi forsøker trapesmetoden. Som test kan vi tenke på tilfellet a = b, der kvadratroten kan forenkles, og vi står igjen med lengden av en sirkel med radius a, som er 2πa. Her er kode for buelengden, som bruker symboler som passer sånn noenlunde. n = 10; % antall delintervaller t0 = 0; t1 = 2*pi; a = 2; b = 3; Deltat = (t1-t0)/n; lengde = sqrt(a^2*(sin(t0))^2+ b^2*(cos(t0))^2); for t = t0+deltat:deltat:t1-deltat lengde = lengde + 2 * sqrt(a^2*(sin(t))^2+ b^2*(cos(t))^2); lengde = lengde + sqrt(a^2*(sin(t1))^2+ b^2*(cos(t1))^2); lengde = Deltat*lengde/ Hastighet av gassmolekyler I gasslæren kommer man frem til følge integral for gjennomsnittshastigheten til et gassmolekyl: v = vf(v) dv 0 f(v) = 4π ( ) m 1,5 2πkT v 2 e mv2 /2kT Her er m massen til molekylet, T er temperaturen i Kelvin, k er Boltzmanns konstant. Om vi for eksempel vil regne på gjennomsnittsfarten til oksygen ved romtemperatur, blir konstantene omtrent m = 5, T = 293 k = 1, Vi kan løse integralet tilnærmet, ved å bruke trapesmetoden, og ved å integrere frem til et passe stort tall. Konstantene er valgt slik at enhetene i svaret blir meter per sekund. 1.6 Numerisk løsning av dierensialligninger Stoet i dette avsnittet er hentet fra Gulbrandsen, Kleppe, Kro og Vatne: Matematikk for ingeniørfag, Gyldal Akademisk 2013.

31 1.6. NUMERISK LØSNING AV DIFFERENSIALLIGNINGER 31 I første omgang skal vi se på første ordens dierensialligninger av typen y (x) = F (x, y) For disse ligningene er det mulig å forstå hva dierensialligningen betyr i et punkt, bare ved å tenke på tangenter. Anta at vi har en eller annen løsning y av denne dierensialligningen, som går gjennom et punkt (x 0, y 0 ). Da er stigningstallet til tangenten til kurven i punktet gitt ved y (x 0 ), og fra dierensialligningen er dette tallet lik f(x 0, y 0 ). Det betyr at vi vet ligningen for tangenten i punktet, den er y = y 0 + F (x 0, y 0 )(x x 0 ) Vi vet også at tangenten til en kurve gir en tilnærming til funksjonen nær punktet, så løsningen på dierensialligningen er omtrent lik dette uttrykket for tangenten. Datamaskinen gjør det mulig for oss å iterere denne tankegangen, slik at vi kan følge en tangent et lite stykke, så justere retning, følge tangenten igjen, og så videre. Denisjon En numerisk løsning av en dierensialligning er en funksjon som er omtrent lik en faktisk løsning av dierensialligningen Eulers metode Vi skal i denne omgang nøye oss med en løsningsmetode som er gitt ved å følge tangenter. Metoden kalles Eulers metode. Vi starter med den generelle ligningen y = F (x, y), sammen med en initialbetingelse y(x 0 ) = y 0. Vi skal nne numeriske verdier for y(x) for en rekke ulike x. Hvis for eksempel y(x) beskriver temperaturen i en stålbjelke i avstanden x fra den ene en, kan vi måle temperaturen y(0) i en, og lurer på hva dierensialligningen forteller oss at temperaturen vil være i en avstand x = 1 mm, x = 2 mm, x = 3 mm,... fra kanten. Så vi velger oss en steglengde x, for eksempel 1 mm i eksempelet, og setter x n = x 0 + n x. Målet er å nne tilnærmingsverdier til y(x 1 ), y(x 2 ), y(x 3 ),... Vi har antatt at vi kjenner y 0 = y(x 0 ). Forutsatt at x er valgt tilstrekkelig liten kan vi nå bruke lineær tilnærming til å tilnærme y(x 1 ): y(x 1 ) y (x 0 )(x 1 x 0 ) + y(x 0 ) = y (x 0 ) x + y 0 Nå bruker vi at dierensialligningen forteller oss hva y (x 0 ) er, nemlig y (x 0 ) = F (x 0, y 0 ). Dermed får vi at y 1 = F (x 0, y 0 ) x + y 0 er tilnærmet lik y(x 1 ). Nå bare gjentar vi prosedyren, og nner at y 2 = F (x 1, y 1 ) x + y 1

32 32 KAPITTEL 1. INTRODUKSJON TIL MATLAB Figur 1.7: To skritt i Eulers metode (x1, y1) (x2,y2) 2 0 (x0, y0) er tilnærmet lik y(x 2 ). Slik fortsetter vi: Når vi har regnet ut y n y(x n ) kan vi nne y n+1 = F (x n, y n ) x + y n som tilnærming til y(x n+1 ). For at ikke unøyaktighetene i alle tilnærmingene skal bli for store må x velges tilstrekkelig liten, men ikke så liten at avrundingsfeil som skjer i datamaskinen blir betydelige. Fremgangsmåten vi har skissert over heter Eulers metode, og den kan i prinsippet brukes til å nne tilnærmingsløsninger til enhver dierensialligning på formen y = F (x, y): Oppsummert: Eulers metode Gitt en første ordens dierensialligning med startbetingelse y = F (x, y), y(x 0 ) = y 0 og en steglengde x. Sett x n = x 0 + n x. Da nner vi tilnærmelsesverdier y n til y(x n ) ved gjentatt bruk av y n+1 = F (x n, y n ) x + y n. Ved å bruke en veldig grov tilnærming kan vi få frem strukturen i Eulers metode, og forstå kilder til feil. Se på gur 1.7 for to iterasjoner av metoden. I guren er den heltrukne grafen den virkelige løsningen (som er ukjent). Initialbetingelsen sier at kruven går gjennom (x 0, y 0 ). Ved å følge tangenten et stykke kommer vi til (x 1, y 1 ). Den samme dierensialligningen med initialbetingelse y(x 1 ) = y 1 er stiplet. Det er ikke den rette kurven, men er en tilnærming til den. Dermed er den nye tangenten en tilnærming til den virkelige løsningen på ere måter. For det første er y 1

33 1.6. NUMERISK LØSNING AV DIFFERENSIALLIGNINGER 33 en tilnærming til y(x 1 ), så punktet vi tar utgangspunkt i er ikke helt rett. Videre er F (x 1, y 1 ) dermed ikke lik y (x 1 ) siden y 1 y(x 1 ), så stigningstallet er bare tilnærmet rett. Endelig er tangenten selv en tilnærming til en kurve. Punktet (x 2, y 2 ) er det beste vi kan få til med denne kjeden av tilnærminger. Alle disse problemene blir mindre jo kortere vi går langs tangentene, altså jo mindre x er Eksempel: Torricellis lov Torricellis lov sier at når væske strømmer ut av et kar gjennom en liten åpning, så er hastigheten v i utløpet lik 2gh, der h er høydeforskjellen mellom væskeoveraten og åpningen. Kan vi bruke det til å bestemme høyden h(t) som funksjon av tiden? Vi tenker oss at vi starter med en kjent høyde h 0 ved tid t = 0, og så trekker vi ut en propp. I begynnelsen strømmer væsken raskt ut, men etter som høyden blir mindre vil utstrømningen gå saktere. Ved hjelp av Torricellis lov kan vi sette opp en dierensialligning som beskriver problemet. Vi antar at karet er en sylinder med grunnate A, med et hull i bunnen med areal B. Når hastigheten er v(t) vil volumet som slipper ut av hullet i løpet av et lite tidsrom t være omtrent Bv(t) t. Samtidig vil volumet i karet ha avtatt fra Ah(t) til Ah(t + t), så Ah(t) Ah(t + t) Bv(t) t. Deler vi på t på begge sider og lar t 0 får vi så Torricellis lov gir til slutt Ah (t) = Bv(t) h (t) = B A 2gh(t). Dette er en første ordens dierensialligning. Hadde vi skrevet høydefunksjonen som y(x) i stedet for h(t) ville dierensialligningen sett ut som y = F (x, y) der F (x, y) = B A 2gy. For å gjøre problemet konkret antar vi at karet har grunnate A = 1 m 2 og at hullet har areal B = 10 3 m 2. Så når vi måler høyden i meter og tiden i sekunder er ligningen h (t) = B A 2gh(t) = ,81 h(t) 4, h(t) Ved tiden t = 0 antar vi at vannstanden er h 0 = 1 m. Nå må vi velge skrittlengde, og her blir valget litt tilfeldig, så vi bare gjør et valg og ser an situasjonen underveis:

34 34 KAPITTEL 1. INTRODUKSJON TIL MATLAB Hvis vi må regne ut fryktelig mange trinn før vannstanden h(t) synker noe særlig, så øker vi skrittlengden, og hvis karet tømmes i løpet av noen få trinn så øker vi skrittlengden. La oss forsøke t = 10 (sekunder). Vi gjør noen trinn for hånd for treningens skyld, før vi lar en datamaskin ta over. Så vi har t 0 = 0 og t n = t 0 + n t = 10n. Da får vi etter 10, 20 og 30 sekunder: h(10) h 1 = ( 4, ) 10 + h 0 = 0,956 h(20) h 2 = ( 4, , 956) 10 + h 1 = 0,913 h(30) h 3 = ( 4, , 913) 10 + h 2 = 0,871 Fortsetter vi på samme måte får vi h(40) 0,829, h(50) 0,789, h(60) 0,750, h(70) 0,711,... Fra dette kan vi for eksempel lese ut at etter et minutt har væskenivået sunket med 25 cm. For å forstå bedre hva som skjer, regner vi videre med hjelp av datamaskin: t(1) = 0 h(1) = 1 dt = 0.1 N = 3000 % startverdi t=0 sekunder... %..og h(0)=1 meter % skrittlengde % antall steg for n = 2:N+1 h(n) = (-4.23*10^(-3)*sqrt(h(n-1)))*dt + h(n-1); % neste høyde t(n) = t(n-1) + dt; % neste tidspunkt plot(t,h) Her har vi satt ned skrittlengden til 0,1 sekund (i forrige eksempel brukte vi 10 sekunder) for å få nøyaktigere beregninger, og vi har regnet ut 3001 verdier, fra h(0) til h(300). Plottet viser ganske greit hvordan grafen ser ut. Ved å velge ere steg kan vi få tegnet grafen videre. Man kan re på oppsettet, for eksempel for å nne ut hvor lang tid det tar før tanken er halvtom eller tom, er det naturlig å bruke en while-løkke Grask forståelse av dierensialligninger -retningsfelt Eulers metode kan forstås geometrisk, når vi tenker på løsningen y(x) av dierensialligningen som en graf. Startbetingelsen y(x 0 ) = y 0 gir oss ett punkt (x 0, y 0 ) på grafen. Setter vi inn x 0 og y 0 i dierensialligningen y = F (x, y) får vi ut tallet y (x 0 ) = F (x 0, y 0 )

35 1.6. NUMERISK LØSNING AV DIFFERENSIALLIGNINGER 35 som er stigningstallet til grafens tangent i dette punktet. Vi kjenner dermed både punktet (x 0, y 0 ) på grafen til løsningsfunksjonen y(x), og tangenten i dette punktet. I Eulers metode nner vi så et nytt punkt (x 1, y 1 ) tilnærmelsesvis på grafen, ved å følge tangenten ett skritt x mot høyre. Så bruker vi dierensialligningen igjen til å nne stigningstallet y (x 1 ) = F (x 1, y 1 ) i dette nye punktet. Slik fortsetter vi. Dierensialligningen y = F (x, y) gir oss altså umiddelbart stigningstallet til tangenten til enhver løsning y(x), gjennom ethvert punkt (x, y) i planet. Vi kan få en god følelse for hvordan løsningene ser ut (det vil si hvordan grafene ser ut) ved å tegne korte linjestykker i planet med stigningstall F (x, y), gjennom veldig mange punkter (x, y). La oss se hvordan det ser ut i et eksempel: y = y 2 x 2 Først skal vi se på de løsningene som har graf gjennom tre tilfeldig valgte punkter, (1,0, 1,5), ( 1,0, 0,5) og (0,5, 0,5). Deretter skal vi se på noen hundre punkter til! Grafen til en løsning som oppfyller y(1,0) = 1,5 vil gå gjennom punktet (1,0, 1,5). Stigningstallet til tangenten der nner vi ved å sette (x, y) = (1,0, 1,5) inn i uttrykket y 2 x 2, altså 1,5 2 1,0 2 = 1,25. Grafen gjennom (1,0, 1,5) stiger altså med en vinkel på litt over 45, opp mot høyre. Tilsvare får vi at grafen til en løsning gjennom punktet ( 1,0, 0,5) har tangent med stigningstall 0,5 2 ( 1,0) 2 = 0,75 der, så grafen synker ned mot høyre, med en vinkel på litt under 45. Til sist har vi at grafen til en løsning gjennom punktet (0,5, 0,5) har tangent med stigningstall ( 0,5) 2 0,5 2 = 0 der, så grafen er horisontal. Resultatet er vist i gur 1.8: Gjennom (1,0, 1,5) har vi tegnet et kort linjestykke med stigningstall 1,25, gjennom ( 1,0, 0,5) har vi et linjestykke med stigningstall 0,75 og gjennom (0,5, 0,5) har vi et linjestykke med stigningstall 0. Hvis vi gjentar prosedyren med noen hundre punkter, selvsagt med hjelp av datamaskin, så får vi frem bildet i gur 1.9. Denne guren kalles retningsfeltet til dierensialligningen. Her kan vi så og si se løsningene: Gjennom ethvert punkt på grafen til en løsning y(x) skal det linjestykket som ligger nærmest være omtrent lik tangenten. Vi kan derfor tegne grafen til mange løsninger ved å følge linjestykkene og det er

36 36 KAPITTEL 1. INTRODUKSJON TIL MATLAB Figur 1.8: Retninger i tre valgte punkter nettopp det Eulers metode gjør! I gur 1.10 har vi tegnet inn grafen til mange løsninger oppå retningsfeltet. Denne guren er faktisk laget ved å bruke Eulers metode mange ganger, for mange forskjellige startbetingelser y(x 0 ) = y 0. Retningsfeltet i gur 1.9 er matematisk lett å få frem og er svært nøyaktig: Vi trengte bare å sette inn mange punkter (x, y) i funksjonen F (x, y) for å nne stigningstallet til løsningen y(x). Løsningskurvene i rødt i gur 1.10 krever mye mer arbeid, og de er ikke nøyaktige, siden vi har brukt tilnærmingene i Eulers metode for hver eneste kurve. Det å plotte retningsfeltet til en dierensialligning er derfor en rask og presis teknikk for å få frem en god visualisering av løsningene. MATLAB-kode for retningsfelt Denne koden genererer retningsfeltet for y = y 2 x 2 i MATLAB. Det er ere triks som brukes her, men dere kan benytte dere av koden uten å forstå absolutt alt.

37 1.6. NUMERISK LØSNING AV DIFFERENSIALLIGNINGER Figur 1.9: Retningsfelt til y = y 2 x 2 [x,y]=meshgrid(-1.3:0.2:1.8); ydiff=y.^2-x.^2; dy=0.05*ydiff./sqrt(1+ydiff.^2); dx=0.05./sqrt(1+ydiff.^2); quiver(x-dx,y-dy,2*dx,2*dy,'-') Feilestimat - naivt Om vi bruker Eulers metode på en dierensialligning med startbetingelser, og vi i tillegg vet at løsningsfunksjonen kan deriveres to ganger, kan vi sammenligne med funksjonens tangent, og bruke feilestimatet fra teorien for Taylor-polynomer. Dette er bare ment som et uformelt feilestimat for oss nå, men det går an å presisere denne utregningen.

38 38 KAPITTEL 1. INTRODUKSJON TIL MATLAB Figur 1.10: Grafer til løsninger av y = y 2 x 2 Så anta at y = F (x, y) og y(x 0 ) = y 0, og at y nnes og er kontinuerlig og begrenset nær x 0. Da er y(x) = y 0 + y (x 0 )(x x 0 ) + R(x) = y 0 + F (x 0, y 0 )(x x 0 ) + y (c) 2 (x x 0) 2, der c er et tall mellom x og x 0. Om vi lar x = x 0 + h, der h er skrittlengden i Eulers metode, er y(x 0 + h) = y 0 + y (x 0 ) h + R(x 0 + h) = y 0 + F (x 0, y 0 ) h + y (c) 2 h2. Tilnærmingen fra Eulers metode er y(x 0 + h) y 1 = y 0 + F (x 0, y 0 ) h, så feilen vi gjør er den samme som feilen fra taylorpolynomet: y(x 0 + h) y 1 = y (c) 2 h2 = en konstant ganger h 2.

39 1.7. MATRISER I MATLAB 39 Vi kan tenke at for hvert skritt får vi en feil som ser ut som en konstant ganget med h 2. Om vi skal gå fra x til x + s trenger vi omtrent s/h skritt, så vi kan tenke at feilene adderes som } M h 2 + M {{ h 2 + M h } 2 = konstant ganger h s/h ganger Det ser altså ut til at feilen vi gjør er omtrent proporsjonal med skrittlengden. Det betyr at om vi trenger å forbedre svaret med én ekstra desimals nøyaktighet, må skrittlengden deles på 10, og vi må altså utføre 10 ganger så mange beregninger for å komme like langt. Vi har valgt å se på Eulers metode for løsning av dierensialligninger fordi den er så nært knyttet til forståelsen av hva en dierensialligning er, og fordi den er enklere å implementere enn de este andre numeriske løsningsmetoder for dierensialligninger. Det som er problemet med denne teknikken er at det må mange ekstra utregninger til for å få en moderat forbedring av nøyaktigheten. I tillegg har metoden den egenskapen at om den dobbeltderiverte har konstant fortegn, så innføres det systematiske feil. 1.7 Matriser i MATLAB Vi skal nå se litt nærmere på hvordan matriser og tabeller virker i MATLAB Skrive inn en matrise MATLAB er i utgangspunktet en forkortelse for Matrix Laboratory, så matrisetankegangen ligger i bunnen av programmet vi bruker. Vektorer skrives enten med komma eller semikolon mellom tallverdiene. Med komma representeres det som en rekkevektor, med semikolon som en søylevektor. x = [1,2,1,3,5] y = [1;2;1;3;5] gir x = y =

40 40 KAPITTEL 1. INTRODUKSJON TIL MATLAB Om vi skal skrive inn en generell matrise, kombinerer vi disse to skilletegnene, og skriver inn matrisene rekke for rekke. A = [2,pi,4,12;3,-13.7,0,-1;2,4,0.5,0.3] gir A = Det er vårt ansvar å sørge for at det er like mange elementer i hver rekke. Et enkelt tall i matrisen nnes ved å angi rekketall og søyletall, som ved at A(2,1) er tallet 3. En hel rekke nner vi ved å angi rekketallet, og bruke kolon i den andre indeksen. For eksempel gir A(2,:) resultatet Tilsvare nner vi søyler ved å bruke kolon i første indeks. For eksempel gir A(:,3) resultatet Om vi vil plukke ut en generell undermatrise, kan vi angi indekser i klammeparenteser i begge indeksene, slik som at A([1,3],[2,3]) gir resultatet Noen mye brukte matriser har egne navn, zeros(2,4) produserer for eksempel en 2 4-matrise med bare nuller. Identitetsmatrisen får vi ved å skrive eye, for eksempel gir I = eye(6) resultatet I =

41 1.7. MATRISER I MATLAB Manipulere en matrise Om vi fortsetter med matrisen A kan vi re deler av den som vi måtte ønske. Om vi for eksempel skriver A(2,1) = -7 skrives det ut A = Resultatet blir altså hele matrisen, men elementet på plass (2, 1) er erstattet med 7. Vi kan erstatte rekker som A(2,:) = [1,0,0,0] eller søyler ved A(:,1) = [2,3,1]. Merk spesielt at søylen nå bruker komma, ikke kolon, som skilletegn. Om vi vil bytte om på rekker og søyler, altså transponere matrisen, skriver vi transpose(a) eller bruker kortformen A. Om vi er i tvil om størrelsen på en matrise, eller vil skrive kode der vi lett kan re matrisen, kan vi skrive size(a). Resultatet blir de to tallene 3 og 4, som angir at A er en 3 4-matrise. For å lagre størrelsen til en matrise kan vi enten skrive storleik = size(a), som lagrer en tabell med to verdier, eller skrive [n, m] = size(a), som lagrer rekkeantallet n og søyleantallet m Matriseoperasjoner og elementoperasjoner Matriser kan kombineres med operasjonene + og *, som fungerer som matriseaddisjon og matrisemultiplikasjon. Om vi adderer to matriser av forskjellig størrelse, får vi en feilmelding av typen Matrix dimensions must agree. Om vi multipliserer en m n matrise med en annen matrise, må antall rekker i den andre matrisen være n, ellers får vi en feilmelding av typen Inner matrix dimensions must agree. Vi kan teste om AB gir mening ved å teste om det siste tallet i size(a) er lik det første tallet i size(b): storleika = size(a) storleikb = size(b) if (storleika(2) == storleikb(1)) A*B Denne typen testing kan vi gjøre om vi vil være sikre på å unngå feilmeldinger. For kvadratiske matriser kan vi også bruke potenser. Her er resultatet av en kjøring med potenser: M =

42 42 KAPITTEL 1. INTRODUKSJON TIL MATLAB >> M^3 ans = >> M^(-1) ans = Det gir bare mening å opphøye en matrise i et negativt tall om determinanten til matrisen er forskjellig fra null. Ellers gir MATLAB typisk Inf til svar, sammen med en feilmelding av typen Warning: Matrix is singular to working precision. Om vi vil utføre operasjoner element for element, heller enn matriseoperasjoner, kan vi bruke punktum foran tegnet for operasjonen. For eksempel får vi >> M.^3 ans = Dette forklarer også hvorfor vi har måttet bruke punktum i mange operasjoner tidligere, som for eksempel i x = 0:0.01:1; y = x.*sin(x); x oppfattes her av MATLAB som en matrise (en rekkevektor), og godtar å produsere sin(x) som en ny matrise (igjen en rekkevektor). Men x*sin(x) oppfattes som et forsøk på matrisemultiplikasjon, som ikke går på grunn av størrelsene, så vi må bruke punktum for å fortelle at y skal bli en vektor der hvert tall y(i) er produktet av tallene på plass i i de to vektorene x og sin(x). Gauss-eliminasjon MATLAB utfører Gauss-eliminasjon for oss via kommandoen rref. Vi må så selv tolke svarmatrisen på samme måte som om vi hadde utført operasjonene for hånd.

43 1.8. OPPGAVER 43 Utfør for eksempel disse MATLAB-kommandoene. M = [4,6,1,4,6; 1,0,4,5,1; 2,0,5,-5,1; 0,2,4,1,-1] rref(m) Svaret MATLAB gir er ans = Hvis M er totalmatrisen til et ligningssystem betyr det at den første variabelen må være 1,4770, den andre 0,0201 og så videre. 1.8 Oppgaver Oppgave Skriv script for å regne ut disse geometriske størrelsene. (a). Arealet av en trekant med gitt grunnlinje og høyde. (b). Volumet av en boks med gitt lengde, bredde og høyde. (c). Arealet av en sirkelsektor med gitt radius og vinkel. Oppgave Finn frem dokumentasjonen til kommandoen plot i MATLAB. Tegn grafen til sinus i grønt. Kan du få grafen stiplet? Oppgave Trekanttallene T 1, T 2, T 3, nnes ved å telle punkter i likesidete trekanter på denne måten: Hvordan kan man beregne T n fra T n 1 fra dette mønsteret? Bruk en for-løkke til å regne ut de første 100 trekanttallene. Oppgave Rekken n=1 divergerer mot uelig (det vil si at summen vokser ubegrenset, den konvergerer ikke mot noe tall). 1 n

44 44 KAPITTEL 1. INTRODUKSJON TIL MATLAB (a). Regn ut summen av de første leddene. (b). Kan du nne hvor mange ledd som trengs for å få summen over 15? Oppgave Vi skal se på funksjonen. x 2 1 x < 1 f(x) = x x < 3 6 x x 3 (a). Dener en MATLAB-funksjon (ikke et script) som svarer til denne funksjonen. (b). Tegn grafen til funksjonen ved å kalle den. (c). Kan du se fra grafen hvor funksjonen ikke er kontinuerlig? Oppgave I hver oppgave, bruk MATLAB til å tegne funksjonene. Basert på grafen, velg en passe startverdi og nn et nullpunkt ved Newtons metode. Hvis funksjonen har ere nullpunkt, velg ett av dem. (a). f(x) = e x 4x (b). g(x) = e x + cos(x) (c). h(x) = x + ln(x) Oppgave Bruk Newtons metode på funksjonen f(x) = xe x2 Undersøk hva som skjer for variere startverdier. Prøv spesielt med verdiene 0,49, 0,5 og 0,51.

Fasit til eksamen i emnet MAT102 - Brukerkurs i matematikk II Mandag 21.september 2015

Fasit til eksamen i emnet MAT102 - Brukerkurs i matematikk II Mandag 21.september 2015 Fasit til eksamen i emnet MAT02 - Brukerkurs i matematikk II Mandag 2.september 205 Fasit. (a) Løs ligningssystemene. i) 5x + 7y = 4 3x + 2y = ii) 3x + 4y + z = 2 2x + 3y + 3z = 7 Svar: i) x = 85/, y =

Detaljer

MA1102 Grunnkurs i analyse II Vår 2014

MA1102 Grunnkurs i analyse II Vår 2014 Norges teknisknaturvitenskapelige universitet Institutt for matematiske fag MA Grunnkurs i analyse II Vår 4 Løsningsforslag Øving 9 7.3.b Med f() = tan +, så er f () = cos () på intervallet ( π/, π/).

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 3 Løsningsforslag Oppgave 1 Flo og fjære a) >> x=0:.1:24; >> y=3.2*sin(pi/6*(x-3)); Disse linjene burde vel være forståelige nå. >> plot(x,y,'linewidth',3)

Detaljer

1. (a) Finn egenverdiene og egenvektorene til matrisen A =

1. (a) Finn egenverdiene og egenvektorene til matrisen A = 1. (a) Finn egenverdiene og egenvektorene til matrisen A = ( ) 2 3. 1 4 Svar: λ = 5 med egenvektorer [x, y] T = y[1, 1] T og λ = 1 med egenvektorer [x, y] T = y[ 3, 1] T, begge strengt tatt med y 0. (b)

Detaljer

Prøve i Matte 1000 BYFE DAFE 1000 Dato: 03. mars 2016 Hjelpemiddel: Kalkulator og formelark. Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Prøve i Matte 1000 BYFE DAFE 1000 Dato: 03. mars 2016 Hjelpemiddel: Kalkulator og formelark. Alle svar skal grunngis. Alle deloppgaver har lik vekt. Prøve i Matte 1 BYFE DAFE 1 Dato: 3. mars 216 Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver har lik vekt. LØSNINGSFORSLAG Oppgave 1 Gitt matrisene A = [ 8 3 6 2 ] [ og

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 00 Modellering og beregninger. Eksamensdag: Torsdag 6. desember 202. Tid for eksamen: 9:00 3:00. Oppgavesettet er på 8

Detaljer

Fasit MAT102 juni 2016

Fasit MAT102 juni 2016 Fasit MAT02 juni 206. (a) Finn egenverdiene og egenvektorene til matrisen ( ) 6 A = 2 7 Svar: λ = 8 og ( ) x = y y ( ) /2, λ = 5 og ( ) x = y y ( ) for alle y 0. (b) Finn den generelle løsningen på systemet

Detaljer

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Alle svar skal grunngis. Alle deloppgaver har lik vekt. Alle svar skal grunngis. Alle deloppgaver har lik vekt. Oppgave Vi denerer matrisene A, B, og C som A = [ ] 3, B = 5 9, C = 3 3. a) Regn ut følgende matrisesummer og matriseprodukter, om mulig. Dersom

Detaljer

Matematikk 1000. Eksamensaktuelle numerikk-oppgåver

Matematikk 1000. Eksamensaktuelle numerikk-oppgåver Matematikk 1000 Eksamensaktuelle numerikk-oppgåver Som kj er numeriske metodar ein sentral del av dette kurset. Dette vil også sette preg på eksamen. Men vi kjem ikkje til å bruke datamaskin på sjølve

Detaljer

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall.

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall. MAT 100a - LAB 3 I denne øvelsen skal vi bruke Maple til å illustrere noen anvendelser av derivasjon, først og fremst Newtons metode til å løse likninger og lokalisering av min. og max. punkter. Vi skal

Detaljer

a) f(x) = 3 cos(2x 1) + 12 LF: Vi benytter (lineær) kjerneregel og får f (x) = (sin(7x + 1)) (sin( x) + x) sin(7x + 1)(sin( x) + x) ( sin(x) + x) 2 =

a) f(x) = 3 cos(2x 1) + 12 LF: Vi benytter (lineær) kjerneregel og får f (x) = (sin(7x + 1)) (sin( x) + x) sin(7x + 1)(sin( x) + x) ( sin(x) + x) 2 = Innlevering ELFE KJFE MAFE Matematikk 1000 HIOA Obligatorisk innlevering 4 Innleveringsfrist Mandag 12. oktober 2015 før forelesningen 12:30 Antall oppgaver: 7 + 3 Løsningsforslag 1 Deriver de følgende

Detaljer

Løsningsforslag. Oppgave 1 Gitt matrisene ] [ og C = A = 4 1 B = 2 1 3

Løsningsforslag. Oppgave 1 Gitt matrisene ] [ og C = A = 4 1 B = 2 1 3 Prøve i Matematikk BYFE DAFE Dato: 27. mai 26 Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver har lik vekt. Løsningsforslag Oppgave Gitt matrisene [ 2 A 4 B [ 2 og C [ 2

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Skript

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Skript Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 Skript I denne øvinga skal vi lære oss mer om skript. Et skript kan vi se på som et lite program altså en sekvens av kommandoer. Til sist skal vi se

Detaljer

Krasjkurs MAT101 og MAT111

Krasjkurs MAT101 og MAT111 Krasjkurs MAT101 og MAT111 Forord Disse notatene ble skrevet under et åtte timer (to firetimers forelesninger) i løpet av 10. og 11. desember 2012. Det er mulig at noen av utregningene ikke stemmer, enten

Detaljer

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Alle svar skal grunngis. Alle deloppgaver har lik vekt. Alle svar skal grunngis. Alle deloppgaver har lik vekt. Oppgave Vi denerer matrisene A, B, og C som A = [ ] 3, B = 5 9, C = 3 3. a) Regn ut følgende matrisesummer og matriseprodukter, om mulig. Dersom

Detaljer

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 5 Innleveringsfrist Fredag 15. april 2016 kl 14 Antall oppgaver: 8

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 5 Innleveringsfrist Fredag 15. april 2016 kl 14 Antall oppgaver: 8 Innlevering BYFE DAFE Matematikk HIOA Obligatorisk innlevering 5 Innleveringsfrist Fredag 5. april 6 kl Antall oppgaver: 8 Funksjonen ft) er vist i guren over. Funksjonen F x) er denert som for x. F x)

Detaljer

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3.

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3 Løsningsforslag Oppgave 1 a) ln a ln 3 a+ln 4 a = ln a 1/2 ln a 1/3 +ln a 1/4 = 1 2 ln a 1 3

Detaljer

Høgskolen i Oslo og Akershus. sin 2 x cos 2 x = 0, x [0, 2π) 1 cos 2 x cos 2 x = 0 2 cos 2 x = 1 cos 2 x = 1 2 1 2

Høgskolen i Oslo og Akershus. sin 2 x cos 2 x = 0, x [0, 2π) 1 cos 2 x cos 2 x = 0 2 cos 2 x = 1 cos 2 x = 1 2 1 2 Innlevering i DAFE/ELFE 1000 Oppgavesett 1 Innleveringsfrist: 31. januar klokka 14:00 Antall oppgaver: 3 Løsningsforslag Oppgave 1 Løs disse likningene ved regning, og oppgi svarene eksakt: a) Vi kan for

Detaljer

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai 2005. eksamensoppgaver.org

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai 2005. eksamensoppgaver.org Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai 2005 eksamensoppgaver.org eksamensoppgaver.org 2 Om løsningsforslaget Løsningsforslaget for matematikk eksamen i 3MX er gratis, og det er lastet

Detaljer

Prøve i Matte 1000 ELFE KJFE MAFE 1000 Dato: 02. desember 2015 Hjelpemiddel: Kalkulator og formelark

Prøve i Matte 1000 ELFE KJFE MAFE 1000 Dato: 02. desember 2015 Hjelpemiddel: Kalkulator og formelark Prøve i Matte ELFE KJFE MAFE Dato: 2. desember 25 Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver har lik vekt. Oppgave Gitt matrisene A = 2 2 3 5 og B = [ 5 7 2 ] Regn

Detaljer

Løsningsforslag. Prøve i Matematikk 1000 BYFE DAFE 1000 Dato: 29. mai 2017 Hjelpemiddel: Kalkulator og formelark. Oppgave 1 Gitt matrisene.

Løsningsforslag. Prøve i Matematikk 1000 BYFE DAFE 1000 Dato: 29. mai 2017 Hjelpemiddel: Kalkulator og formelark. Oppgave 1 Gitt matrisene. Prøve i Matematikk BYFE DAFE Dato: 29. mai 27 Hjelpemiddel: Kalkulator og formelark Løsningsforslag Oppgave Gitt matrisene A = 2 2 B = [ 2 3 4 ] og C = Regn ut, om mulig, summene A + B, A + B T og A +

Detaljer

Løsningsforslag. og B =

Løsningsforslag. og B = Prøve i Matte EMFE DAFE ELFE BYFE Dato: august 25 Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver har lik vekt. Oppgave a) Gitt matrisene A = 2 3 2 4 2 Løsningsforslag og

Detaljer

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 4 Innleveringsfrist Fredag 11. mars 2016 Antall oppgaver: Løsningsforslag

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 4 Innleveringsfrist Fredag 11. mars 2016 Antall oppgaver: Løsningsforslag Innlevering BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 4 Innleveringsfrist Fredag 11. mars 2016 Antall oppgaver: 10 + 1 Løsningsforslag 1 Hvilken av de to funksjonene vist i guren er den deriverte

Detaljer

TMA4100 Matematikk 1, 4. august 2014 Side 1 av 12. x 2 3x +2. x 2

TMA4100 Matematikk 1, 4. august 2014 Side 1 av 12. x 2 3x +2. x 2 TMA4 Matematikk, 4. august 24 Side av 2 Oppgave Den rasjonale funksjonen p er definert som p(x) x2 3x +2 3x 2 5x +2. Finn de tre grenseverdiene lim xæ p(x), lim xæ p(x) og lim xæœ p(x). Løsning: x 2 3x

Detaljer

Løsningsforslag til underveisvurdering i MAT111 vår 2005

Løsningsforslag til underveisvurdering i MAT111 vår 2005 Løsningsforslag til underveisvurdering i MAT111 vår 5 Beregn grenseverdien Oppgave 1 (x 1) ln x x x + 1 Svar: Merk at nevneren er lik (x 1), så vi kan forkorte (x 1) oppe og nede og får (x 1) ln x ln x

Detaljer

Løsningsforslag. og B =

Løsningsforslag. og B = Prøve i Matte Dato: vår 5 ENDRE Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver ar lik vekt. Oppgave a Gitt matrisene A regn ut A + B, AB. Løsningsforslag 4 og B 7 5 Vi

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag Oppgave 1 Halveringsmetoden igjen a) I skriptet vårt fra leksjon 6 skal altså linje 16 erstattes med while abs(b-a)>1e-3. Når vi gjør

Detaljer

Løsningsforslag MAT102 Vår 2018

Løsningsforslag MAT102 Vår 2018 Løsningsforslag MAT102 Vår 2018 Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Eksamen i emnet MAT102 Tirsdag 12 juni 2018, kl 0900-1400 Oppgavesettet har fem oppgaver Hver deloppgave

Detaljer

Funksjoner og andregradsuttrykk

Funksjoner og andregradsuttrykk 88 4 Funksjoner og andregradsuttrykk Mål for opplæringen er at eleven skal kunne bruke matematiske metoder og hjelpemidler til å løse problemer fra ulike fag og samfunnsområder løse likninger, ulikheter

Detaljer

9 + 4 (kan bli endringer)

9 + 4 (kan bli endringer) Innlevering DAFE ELFE Matematikk HIOA Obligatorisk innlevering 4 Innleveringsfrist Onsdag 29. april 25 Antall oppgaver: 9 + 4 (kan bli endringer) Finn de ubestemte integralene a) 2x 3 4/x dx b) c) 2 5

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag Matematikk 000 Øvingsoppgaver i numerikk leksjon 9 Løsningsforslag Oppgave Integral som en sum av rektangler a) 3 f(x) dx = 3 x 3 dx = [ ] 3 3 + x3+ = [ x 4 ] 3 4 = 34 = 20. 4 b) 0.5 f() + 0.5 f(.5) +

Detaljer

Løsningsforslag AA6516 Matematikk 2MX - 07. desember 2005. eksamensoppgaver.org

Løsningsforslag AA6516 Matematikk 2MX - 07. desember 2005. eksamensoppgaver.org Løsningsforslag AA6516 Matematikk 2MX - 07. desember 2005 eksamensoppgaver.org eksamensoppgaver.org 2 Om løsningsforslaget Løsningsforslaget for matematikk eksamen i 2MX er gratis, og det er lastet ned

Detaljer

Løsningsforslag. 3 x + 1 + e. g(x) = 1 + x4 x 2

Løsningsforslag. 3 x + 1 + e. g(x) = 1 + x4 x 2 Prøve i FO929A - Matematikk Dato: 1. juni 2012 Målform: Bokmål Antall oppgaver: 5 (20 deloppgaver) Antall sider: 2 Vedlegg: Formelsamling Hjelpemiddel: Kalkulator Alle svar skal grunngis. Alle deloppgaver

Detaljer

EKSAMEN BOKMÅL STEMMER. DATO: TID: OPPG. SIDER: VEDLEGG: 3 desember :00-13: FAGKODE: IR Matematikk 1

EKSAMEN BOKMÅL STEMMER. DATO: TID: OPPG. SIDER: VEDLEGG: 3 desember :00-13: FAGKODE: IR Matematikk 1 EKSAMEN BOKMÅL DATO: TID: OPPG. SIDER: VEDLEGG: 3 desember 15 9:-13: FAGKODE: FAGNAVN: IR151 Matematikk 1 HJELPEMIDLER: Del 1: kl 9.-11. Ingen Del : kl 11.-13. Lommeregner Lærebok etter fritt valg Matematisk

Detaljer

LØSNINGSFORSLAG EKSAMEN I GRUNNKURS I ANALYSE I (MA1101/MA6101)

LØSNINGSFORSLAG EKSAMEN I GRUNNKURS I ANALYSE I (MA1101/MA6101) Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 6 LØSNINGSFORSLAG EKSAMEN I GRUNNKURS I ANALYSE I (MA0/MA60) Fredag 2. desember 202 Tid: 09:00 3:00 Hjelpemidler: Kode

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Eksamensdag: Fredag 2. Desember 2016. Tid for eksamen: 9:00 13:00.

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan

Detaljer

MAT1100 - Grublegruppen Uke 36

MAT1100 - Grublegruppen Uke 36 MAT - Grublegruppen Uke 36 Jørgen O. Lye Partiell derivasjon Hvis f : R 2 R er en kontinuerlig funksjon, så kaller man følgende dens partiellderiverte (gitt at de finnes!) f f(x + h, y) f(x, y) (x, y)

Detaljer

Høgskolen i Oslo og Akershus. a) Finn den deriverte av disse funksjonene: b) Finn disse ubestemte integralene: c) Finn disse bestemte integralene:

Høgskolen i Oslo og Akershus. a) Finn den deriverte av disse funksjonene: b) Finn disse ubestemte integralene: c) Finn disse bestemte integralene: Oppgave 1 a) Finn den deriverte av disse funksjonene: i) f(x) = x x 2 + 1 ii) g(x) = ln x sin x x 2 b) Finn disse ubestemte integralene: i) (2x + ) dx ii) 6 cos(x) sin 5 (x) dx c) Finn disse bestemte integralene:

Detaljer

Løsningsforslag AA6524 Matematikk 3MX Elever AA6526 Matematikk 3MX Privatister eksamensoppgaver.org

Løsningsforslag AA6524 Matematikk 3MX Elever AA6526 Matematikk 3MX Privatister eksamensoppgaver.org Løsningsforslag AA6524 Matematikk MX Elever - 05.12.2007 AA6526 Matematikk MX Privatister - 05.12.2007 eksamensoppgaver.org eksamensoppgaver.org 2 Om løsningsforslaget Løsningsforslaget for matematikk

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag Oppgave 1 Summer og for-løkker a) 10 i=1 i 2 = 1 2 + 2 2 + 3 2 + 4 2 + 5 2 + 6 2 + 7 2 + 8 2 + 9 2 + 10 2 = 1 + 4 + 9 + 16 + 25 + 36

Detaljer

EKSAMEN I EMNET Løsning: Mat Grunnkurs i Matematikk I Mandag 14. desember 2015 Tid: 09:00 14:00

EKSAMEN I EMNET Løsning: Mat Grunnkurs i Matematikk I Mandag 14. desember 2015 Tid: 09:00 14:00 Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Matematisk institutt Side 1 av 7 BOKMÅL EKSAMEN I EMNET Mat 111 - Grunnkurs i Matematikk I Mandag 14. desember 15 Tid: 9: 14: Tillatte

Detaljer

Løsningsforslag MAT102 - v Jon Eivind Vatne

Løsningsforslag MAT102 - v Jon Eivind Vatne Løsningsforslag MAT02 - v203 - Jon Eivind Vatne. (a) Finn egenverdiene og egenvektorene til matrisen A = ( ) 4 2. 3 Svar: Fra den karakteristiske ligningen A λi 2 = λ 2 + 3λ + 2 = 0 får vi egenverdiene

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu. 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Eksamensdag: Fredag 2. Desember 2016. Tid for eksamen: 9:00 13:00.

Detaljer

1. Finn egenverdiene og egenvektorene til matrisen A = 2 1 A =

1. Finn egenverdiene og egenvektorene til matrisen A = 2 1 A = Fasit MAT102 juni 2017 Oppgave 1 1. Finn egenverdiene og egenvektorene til matrisen ( ) 1 2 A = 2 1 Løsning: Egenverdiene er røttene til det karakteristiske polynom gitt ved determinanten av matrisen (

Detaljer

EKSAMEN Løsningsforslag

EKSAMEN Løsningsforslag 5..7 EKSAMEN Løsningsforslag Emnekode: ITD5 Dato:. desember 7 Hjelpemidler: - To A-ark med valgfritt innhold på begge sider. - Formelhefte. - Kalkulator som deles ut samtidig med oppgaven. Emnenavn: Matematikk

Detaljer

Fasit eksamen i MAT102 4/6 2014

Fasit eksamen i MAT102 4/6 2014 Fasit eksamen i MAT /6. (a Løs ligningssstemene. Svar: i ( x i = 3x + = 7 x + = ( 6, ii x z ii = x + z = 3x + 6 + z = +. er fri. (b Ved å bruke MATLAB-kommandoen rref på totalmatrisen til ligningssstemet

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag Oppgave 1 Funksjoner og tangenter 2.1: 15 a) Vi plotter grafen med et rutenett: > x=-3:.1:3; > y=x.^2; > plot(x,y) > grid on > axis([-2

Detaljer

NTNU Institutt for matematiske fag. TMA4100 Matematikk 1 høsten Løsningsforslag - Øving 8. Oppgave 1. Oppgave 2

NTNU Institutt for matematiske fag. TMA4100 Matematikk 1 høsten Løsningsforslag - Øving 8. Oppgave 1. Oppgave 2 NTNU Institutt for matematiske fag TMA4 Matematikk høsten Løsningsforslag - Øving 8 Oppgave b. Vi har at f() > og f(π/) π /6

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Prøveeksamen 1 Eksamensdag: Onsdag 14. November 2014. Tid for eksamen:

Detaljer

Løsningsforslag. e n. n=0. 3 n 2 2n 1. n=1

Løsningsforslag. e n. n=0. 3 n 2 2n 1. n=1 Eksamen i BYPE2000 - Matematikk 2000 Dato: 6. juni 2014 Målform: Bokmål Antall oppgaver: 7 (20 deloppgaver) Antall sider: 4 Vedlegg: Noen formler Hjelpemiddel: Ingen Alle svarene skal grunngis. Alle deloppgavene

Detaljer

Lær å bruke Microsoft Mathematics, Matematikk-tillegget i Word og WordMat. Av Sigbjørn Hals

Lær å bruke Microsoft Mathematics, Matematikk-tillegget i Word og WordMat. Av Sigbjørn Hals Lær å bruke Microsoft Mathematics, Matematikk-tillegget i Word og WordMat Av Sigbjørn Hals 1 Innhold Hva er matematikktillegget for Word?... 2 Nedlasting og installasjon av matematikktillegget for Word...

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 1100 Modellering og beregninger Eksamensdag: 12. desember 2003 Tid for eksamen: 9:00 12:00 Oppgavesettet er på 7 sider.

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting Matematikk 1000 Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting I denne øvinga skal vi først og fremst lære oss å lage plott i MATLAB. Ellers minner vi om at der er mange MATLAB-ressurser tilgjengelig.

Detaljer

MA1102 Grunnkurs i analyse II Vår 2019

MA1102 Grunnkurs i analyse II Vår 2019 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag MA1102 Grunnkurs i analyse II Vår 2019 10.2.27 a) Vi skal vise at u + v 2 = u 2 + 2u v + v 2. (1) Som boka nevner på side 581,

Detaljer

Eksamensoppgave i MA1102/6102 Grunnkurs i analyse II

Eksamensoppgave i MA1102/6102 Grunnkurs i analyse II Institutt for matematiske fag Eksamensoppgave i MA1102/6102 Grunnkurs i analyse II Faglig kontakt under eksamen: Magnus Landstad Tlf: Eksamensdato: 6. juni 2017 Eksamenstid (fra til): 09:00 13:00 Hjelpemiddelkode/Tillatte

Detaljer

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 40

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 40 BYFE/EMFE 1000, 2012/2013 Numerikkoppgaver uke 40 Løsningsforlsag Oppgave 1 Lagring og innlesing av data a) Dersom vi skriver save Filnavn, blir alle variable vi har lagra til ei l som heter 'Filnavn'.

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

1 C z I G + + = + + 2) Multiplikasjon av et tall med en parentes foregår ved å multiplisere tallet med alle leddene i parentesen, slik at

1 C z I G + + = + + 2) Multiplikasjon av et tall med en parentes foregår ved å multiplisere tallet med alle leddene i parentesen, slik at Ekstranotat, 7 august 205 Enkel matematikk for økonomer Innhold Enkel matematikk for økonomer... Parenteser og brøker... Funksjoner...3 Tilvekstform (differensialregning)...4 Telleregelen...7 70-regelen...8

Detaljer

Løsningsforslag eksamen i TMA4100 Matematikk desember Side 1 av 7

Løsningsforslag eksamen i TMA4100 Matematikk desember Side 1 av 7 Løsningsforslag eksamen i TMA4 Matematikk 2. desember 23. Side av 7 Oppgave Løs initialverdiproblemet y (2/x)y, y() 2. Løsning: y (2/x)y er en førsteordens lineær differensialligning. Vi finner en løsning

Detaljer

Løsningsforslag for eksamen i brukerkurs i matematikk A (MA0001)

Løsningsforslag for eksamen i brukerkurs i matematikk A (MA0001) Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 8 Løsningsforslag for eksamen i brukerkurs i matematikk A (MA1) Bokmål Tirsdag 1. desember 11 Tid: 9: 1: (4 timer)

Detaljer

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2 Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon F x = x K f x f' x, starter med en x 0 og beregner x 1 = F x 0, x = F x 1, x 3 = F x,... Dette er en metode der en for-løkke egner

Detaljer

Matematikk 1 (TMA4100)

Matematikk 1 (TMA4100) Matematikk 1 (TMA4100) Forelesning 7: Derivasjon (fortsettelse) Eirik Hoel Høiseth Stipendiat IMF NTNU 23. august, 2012 Den deriverte som momentan endringsrate Den deriverte som momentan endringsrate Repetisjon

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 for-løkker I dette settet skal vi introdusere for-løkker. Først vil vi bruke for-løkker til å regne ut summer. Vi skal også se på hvordan vi kan implementere

Detaljer

x 2 = x 1 f(x 1) (x 0 ) 3 = 2 n x 1 n x 2 n 0 0, , , , , , , , , , , 7124

x 2 = x 1 f(x 1) (x 0 ) 3 = 2 n x 1 n x 2 n 0 0, , , , , , , , , , , 7124 NTNU Institutt for matematiske fag TMA4100 Matematikk 1 høsten 2012 Løsningsforslag - Øving 4 Avsnitt 47 3 La f(x) = x 4 +x 3 med f (x) = 4x 3 +1 Med x 0 = 1 får ein med Newtons metode at Med x 0 = 1 får

Detaljer

Løsningsforslag AA6526 Matematikk 3MX - 8. desember eksamensoppgaver.org

Løsningsforslag AA6526 Matematikk 3MX - 8. desember eksamensoppgaver.org Løsningsforslag AA656 Matematikk 3MX - 8. desember 004 eksamensoppgaver.org eksamensoppgaver.org Om løsningsforslaget Løsningsforslaget for matematikk eksamen i 3MX er gratis, og det er lastet ned på eksamensoppgaver.org.

Detaljer

Løsningsskisser - Kapittel 6 - Differensialligninger

Løsningsskisser - Kapittel 6 - Differensialligninger Løsningsskisser - Kapittel 6 - Differensialligninger Vi bruker det vi har lært i 6.3 om løsning av separable differensialligninger også i noen av oppgavene fra 6.1 og 6.2 for å knytte denne løsningsteknikken

Detaljer

: subs x = 2, f n x end do

: subs x = 2, f n x end do Oppgave 2..5 a) Vi starter med å finne de deriverte til funksjonen av orden opp til og med 5 i punktet x = 2. Det gjør vi ved å bruke kommandoen diff f x, x$n der f x er uttrykket som skal deriveres, x

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag Oppgave 1 Tredjegradslikninga a) Vi viser her hvordan det kan gjøres både som funksjonsl og som skript. Vi starter med funksjonla: 1

Detaljer

Enkel matematikk for økonomer 1. Innhold. Parenteser, brøk og potenser. Ekstranotat, februar 2015

Enkel matematikk for økonomer 1. Innhold. Parenteser, brøk og potenser. Ekstranotat, februar 2015 Ekstranotat, februar 205 Enkel matematikk for økonomer Innhold Enkel matematikk for økonomer... Parenteser, brøk og potenser... Funksjoner...4 Tilvekstform (differensialregning)...5 Nyttige tilnærminger...8

Detaljer

Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA6526 16.05.2008. eksamensoppgaver.org

Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA6526 16.05.2008. eksamensoppgaver.org Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA656 16.05.008 eksamensoppgaver.org eksamensoppgaver.org Om løsningsforslaget Løsningsforslaget for eksamen i matematikke 3MX er gratis, og

Detaljer

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag 1 MAT 111: Obligatorisk oppgave 1, V-7: Løsningsforslag Oppgave 1. a) Vi deriverer på vanlig måte: ( e (sinh x) x e x ) = = ex + e x = cosh x, ( e (cosh x) x + e x ) = = ex e x = sinh x Enkel algebra gir

Detaljer

Løsningsforslag til eksamen i MAT111 Vår 2013

Løsningsforslag til eksamen i MAT111 Vår 2013 BOKMÅL MAT - Vår Løsningsforslag til eksamen i MAT Vår Oppgave Finn polarrepresentasjonen til i. i Skriv på formen x + iy. i Løsning Finner først modulus og argument til i: i = ( ) + ( ) = 4 = arg( ( )

Detaljer

x 2 = x 1 f(x 1) (x 0 ) 3 = 2 x 2 n n x 1 n 0 0, , , , , , , , , , , 7124

x 2 = x 1 f(x 1) (x 0 ) 3 = 2 x 2 n n x 1 n 0 0, , , , , , , , , , , 7124 NTNU Institutt for matematiske fag TMA4100 Matematikk 1 høsten 011 Løsningsforslag - Øving 4 Avsnitt 47 3 La f(x) = x 4 +x 3 med f (x) = 4x 3 +1 Med x 0 = 1 får ein med Newtons metode at Med x 0 = 1 får

Detaljer

EKSAMEN I MATEMATIKK 1000

EKSAMEN I MATEMATIKK 1000 EKSAMEN I MATEMATIKK 1000 Oppgave 1 a) Finn den deriverte av disse funksjonene: f(x) = x 3 e 5x og g(x) = ln(tan(x)) + x 3. b) Finn de følgende ubestemte integralene: i) (x 3 + xe x2 ) dx og ii) cos 2

Detaljer

x n+1 = x n f(x n) f (x n ) = x n x2 n 3

x n+1 = x n f(x n) f (x n ) = x n x2 n 3 TMA4 Høst 26 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag 4.2.8 Vi setter f(x) = x 2 3. Da blir f (x) = 2x, og iterasjonen blir f (x n ) = x n x2 n 3 2x n () Siden vi har

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting Matematikk 1000 Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting I denne øvinga skal vi først og fremst lære oss å lage plott i MATLAB. I tillegg skal vi lære oss hvordan vi manøvrerer oss omkring

Detaljer

Høgskolen i Oslo og Akershus. 1 (x 2 + 1) 1/2 + x 1 2 (x2 + 1) 1/2 (x 2 + 1) = x 2x 2 x = = 3 ln x sin x

Høgskolen i Oslo og Akershus. 1 (x 2 + 1) 1/2 + x 1 2 (x2 + 1) 1/2 (x 2 + 1) = x 2x 2 x = = 3 ln x sin x Løysingsforslag til eksamen i matematikk, mai 4 Oppgåve a) i) ii) f(x) x x + x(x + ) / ( f (x) x (x + ) / + x (x + ) /) g(x) ln x sin x x (x + ) / + x (x + ) / (x + ) x + + x x x + x + + x x + x + x +

Detaljer

EKSAMEN. TILLATTE HJELPEMIDLER: John Haugan: Formler og tabeller. Rottmanns formelsamling (tillatt som overgangsordning)

EKSAMEN. TILLATTE HJELPEMIDLER: John Haugan: Formler og tabeller. Rottmanns formelsamling (tillatt som overgangsordning) KANDIDATNUMMER: EKSAMEN FAGNAVN: Matematikk FAGNUMMER: REA4 EKSAMENSDATO: 6. desember 24 SENSURFRIST: 6. januar 25 KLASSE:. klassene, ingenørutdanning. TID: kl. 9. 3.. FAGLÆRER: Hans Petter Hornæs ANTALL

Detaljer

Løsningsforslag til underveiseksamen i MAT 1100

Løsningsforslag til underveiseksamen i MAT 1100 Løsningsforslag til underveiseksamen i MAT 00 Dato: Tirsdag /0, 00 Tid: Kl. 9.00-.00 Vedlegg: Formelsamling Tillatte hjelpemidler: Ingen Oppgavesettet er på sider Eksamen består av 0 spørsmål. De 0 første

Detaljer

Matematikk 1 Første deleksamen. Løsningsforslag

Matematikk 1 Første deleksamen. Løsningsforslag HØGSKOLEN I ØSTFOLD, AVDELING FOR INFORMASJONSTEKNOLOGI Matematikk Første deleksamen 4. juni 208 Løsningsforslag Christian F. Heide June 8, 208 OPPGAVE a Forklar kortfattet hva den deriverte av en funksjon

Detaljer

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2.

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2. Institutt for geofag Universitetet i Oslo 28. august 2012 Kommandovinduet Det er gjennom kommandovinduet du først og fremst interagerer med MatLab ved å gi datamaskinen kommandoer når >> (kalles prompten

Detaljer

Kapittel 4. 4. og 5. september 2012. Institutt for geofag Universitetet i Oslo. GEO1040 - En Introduksjon til MatLab. Kapittel 4.

Kapittel 4. 4. og 5. september 2012. Institutt for geofag Universitetet i Oslo. GEO1040 - En Introduksjon til MatLab. Kapittel 4. r r Institutt for geofag Universitetet i Oslo 4. og 5. september 2012 r r Ofte ønsker vi å utføre samme kommando flere ganger etter hverandre gjør det mulig å repetere en programsekvens veldig mange ganger

Detaljer

Oppsummering TMA4100. Kristian Seip. 26./28. november 2013

Oppsummering TMA4100. Kristian Seip. 26./28. november 2013 Oppsummering TMA4100 Kristian Seip 26./28. november 2013 Forelesningene 26./28. november Disse forelesningene er et forsøk på å se de store linjer og sammenhengen mellom de ulike deltemaene i TMA4100 delvis

Detaljer

Eksamen. Fag: AA6524/AA6526 Matematikk 3MX. Eksamensdato: 6. desember 2006. Vidaregåande kurs II / Videregående kurs II

Eksamen. Fag: AA6524/AA6526 Matematikk 3MX. Eksamensdato: 6. desember 2006. Vidaregåande kurs II / Videregående kurs II Eksamen Fag: AA654/AA656 Matematikk 3MX Eksamensdato: 6. desember 006 Vidaregåande kurs II / Videregående kurs II Studieretning: Allmenne, økonomiske og administrative fag Elevar/Elever Privatistar/Privatister

Detaljer

Eksamen R2, Våren 2011 Løsning

Eksamen R2, Våren 2011 Løsning R Eksamen, Våren 0 Løsning Eksamen R, Våren 0 Løsning Del Tid: timer Hjelpemidler: Vanlige skrivesaker, passer, linjal med centimetermål og vinkelmåler er tillatt. Oppgave (8 poeng) a) Deriver funksjonene

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 11L Programmering, modellering, og beregninger. Eksamensdag: Fredag 5. Desember 214. Tid for eksamen: 9: 13:. Oppgavesettet

Detaljer

Derivasjon Forelesning i Matematikk 1 TMA4100. Hans Jakob Rivertz Institutt for matematiske fag 30. august 2011

Derivasjon Forelesning i Matematikk 1 TMA4100. Hans Jakob Rivertz Institutt for matematiske fag 30. august 2011 Derivasjon Forelesning i Matematikk 1 TMA4100 Hans Jakob Rivertz Institutt for matematiske fag 30. august 2011 Kapittel 3.3. Enringsrate 3 Enrings rate hastighet og akselersjon Definisjon Hvis s(t) er

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 11 Modellering og beregninger. Eksamensdag: Fredag 7. desember 27. Tid for eksamen: 9: 12:. Oppgavesettet er på 8 sider.

Detaljer

Matematikk Løsningsforslag

Matematikk Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 Intervallhalveringsmetoden med mer Løsningsforslag Oppgave 1 Fakultetfunksjonen a) I forrige leksjon så vi hvordan vi kan bruke for-løkker til å utføre

Detaljer

UNIVERSITETET I BERGEN

UNIVERSITETET I BERGEN Bokmål UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet. Løsningsforslag til Eksamen i emnet MAT - Grunnkurs i matematikk I Torsdag 22. mai 28, kl. 9-4. Dette er kun et løsningsforslag.

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Litt oppsummering undervegs Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Litt oppsummering undervegs Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon Litt oppsummering undervegs Løsningsforslag Oppgave 1 Et skjæringspunkt f(x) = x e x g(x) = 1 arctan x. a) Vi kan lage plottet slik i kommando-vinduet:

Detaljer

Oppgaver og fasit til seksjon

Oppgaver og fasit til seksjon 1 Oppgaver og fasit til seksjon 3.1-3.3 Oppgaver til seksjon 3.1 1. Regn ut a b når a) a = ( 1, 3, 2) b = ( 2, 1, 7) b) a = (4, 3, 1) b = ( 6, 1, 0) 2. Finn arealet til parallellogrammet utspent av a =

Detaljer

Løsningsforslag eksamen 18/ MA1102

Løsningsforslag eksamen 18/ MA1102 Løsningsforslag eksamen 8/5 009 MA0. Dette er en alternerende rekke, der leddene i størrelse går monotont mot null, så alternerenderekketesten gir oss konvergens. (Vi kan også vise konvergens ved å vise

Detaljer

Om plotting. Knut Mørken. 31. oktober 2003

Om plotting. Knut Mørken. 31. oktober 2003 Om plotting Knut Mørken 31. oktober 2003 1 Innledning Dette lille notatet tar for seg primitiv plotting av funksjoner og visualisering av Newtons metode ved hjelp av Java-klassen PlotDisplayer. Merk at

Detaljer

Løsningsforslag: Eksamen i Brukerkurs for informatikere MA 0003, onsdag 30. november 2005

Løsningsforslag: Eksamen i Brukerkurs for informatikere MA 0003, onsdag 30. november 2005 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 8 Løsningsforslag: Eksamen i Brukerkurs for informatikere MA 3, onsdag 3. november 5 Del Oppgave Funksjonen f(x) er

Detaljer