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

Like dokumenter
Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

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

Matematikk Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5. Løsningsforslag

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

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

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

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 =

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Løsningsforslag. Innlevering i BYFE 1000 Oppgavesett 1 Innleveringsfrist: 10. oktober klokka 14:00 Antall oppgaver: 6. Oppgave 1

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 4 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Høgskolen i Oslo og Akershus. i=1

Matematikk Eksamensaktuelle numerikk-oppgåver

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

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

Matematikk Øvingsoppgaver i numerikk leksjon 3 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 11 Eulers metode. Løsningsforslag

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

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

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

Løsningsforslag. og B =

Løsningsforslag. og B =

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Matematikk Øvingsoppgaver i numerikk leksjon 7. Løsningsforslag

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 =

Matematikk Øvingsoppgaver i numerikk leksjon 7 Numerisk derivasjon

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

Norsk informatikkolympiade runde

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Erfaringar med numeriske metodar i matematikk-undervisinga for dataingeniørstudentar. Haugesund, 5. juni 2018

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

11. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Oppgaver Kapittel 5 (del 2) Ada Gjermundsen

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

Matematikk 1000, 2012/2013. Eksamensaktuelle numerikk-oppgåver

Høgskolen i Oslo og Akershus. c) Et annet likningssystem er gitt som. t Bestem parametrene s og t slik at likningssystemet blir inkonsistent.

Innlevering i matematikk Obligatorisk innlevering nr. 4 Innleveringsfrist: 21. januar 2010 kl Antall oppgaver: 4.

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 37 og 38

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

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.

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

UNIVERSITETET I OSLO

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

Eksempel på løsning. Sentralt gitt skriftlig eksamen MAT1008 Matematikk 2T Eksamen Bokmål

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

Numerisk løsning av ikke-lineære ligninger

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

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Obligatorisk oppgavesett 1 MAT1120 H16

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

Mattespill Nybegynner Python PDF

11. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 5 (del 2) Ada Gjermundsen

Ikke lineære likninger

MA1102 Grunnkurs i analyse II Vår 2014

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Fasit MAT102 juni 2016

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

MATLABs brukergrensesnitt

Eksamen MAT1013 Matematikk 1T Våren 2012

Eksamen R2, Høst 2012, løsning

Norsk informatikkolympiade runde

Bruk piazza for å få rask hjelp til alles nytte!

Norsk informatikkolympiade runde

Notat 2, ST januar 2005

Løsningsforslag AA6524 Matematikk 3MX Elever 7. juni eksamensoppgaver.org

2 = 4 x = x = 3000 x 5 = = 3125 x = = 5

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

Deriver funksjonene. Gjør greie for hvilke derivasjonsregler du bruker.

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

Matematikk Øvingsoppgaver i numerikk leksjon 9 Numerisk integrasjon

Utsatt eksamen i Matematikk 1000 MAFE ELFE KJFE 1000 Dato: 2. mars 2017 Løsningsforslag.

Norsk informatikkolympiade runde

MAT1030 Diskret matematikk

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

Matematisk induksjon

Løsningsforslag Eksamen 3MX - AA

Eksamen R2 Høsten 2013 Løsning

Løsningsforslag MAT102 Vår 2018

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 4. Iver Dihle Skjervum Vit.ass. ITGK

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

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

Transkript:

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 1 et skript som løser liknigner ved hjelp av haveringsmetoden. Vi minner, som vanlig, om at det forutsettes at de tidligere oppgavesettene er gjort. Oppgave 1 Summer og for-løkker Det er kjedelig å gjøre den samme jobben, eller nesten den samme jobben, om igjen og om igjen. Derfor er det bra vi har datamaskiner. I denne oppgava introduserer vi for-løkker, som er et veldig nyttig verktøy når man skal gjenta mer eller mindre like operasjoner mange ganger. a) Skriv ut alle leddene i summen 10 i=1 i2 ned på papir. Hva blir summen? b) Åpne teksteditoren og skriv av følgende tekst: 1 S=0; 2 for i=1:10 3 S=S+i^2; 4 end 5 S Lagre la i ei passende mappe og gi den navnet FinnSum.m. c) Manøvrér deg til den katalogen hvor la ligger, og skriv ` FinnSum' i kommandovinduet. Får du opp svaret frå oppgave a)? Dette skriptet inneholder ei for-løkke; den starter med `for i=1:10' (linje 2) og slutter med `end' (linje 4). Det som skjer når skriptet kjører, er at det som 1 I følge ordboka til Språkrådet kan dette ordet denieres slik: implementere v2 (fra eng, av lat implere 'gjøre ferdig') innføre, iverksette; i edb: installere og få maskinvare el. program til å virke. 1

står inni løkka, S=S+i 2;, blir gjentatt i tur og orden for alle de i-verdiene som blir angitt. Første gang er i lik det første elementet i vektoren gitt ved 1:10 altså 1. Da blir 1 2 lagt til variabelen S i linje 3, slik at S blir endra fra 0 til 1. Når vi kommer til end i linje 4, går vi tilbake til for-linja, linje 3, og setter i til å være det neste elementet i vektoren altså 2. Så blir 2 2 lagt til S, slik at denne variabelen nå blir satt til å være 5. Dette gjentar vi til og med at i har fått den siste verdien i vektoren 1:10 altså 10. Når vi har lagt til 10 2, er vi ferdig med løkka. Neste gang vi kommer til end vil vi da slutte å hoppe tilbake til linje 2, og i stede bare fortsette videre med linje 5. Her står det helt enkelt S uten semilolon. Dermed blir verdien av S skrevet til skjerm. Ta gjerne bort semikolonet i linje 3 og kjør skriptet for å se hva som skjer fra gang til gang. Det er vanlig å ha et par innrykk på den delen av skriptet som står inni selve løkka; dette gjør skriptet lettere å lese. Denne innmaten kan bestå av ere kommandoer ikke bare én som her. d) Kommentér skriptet. e) Justér skriptet over slik at den regner ut 100 i=1 i2. (Dette hadde tatt ganske lang tid å gjøre for hånd, hadde det ikke?) f) Endre skriptet ditt slik at det regner ut summen 20 i=5 i. g) Hvilken sum blir beregna i dette skriptet? 1 S=0; 2 for i=0:12 3 S=S+1/i; 4 end 5 S Gi svaret ved hjelp av Σ-notasjon. Oppgave 2 Konvergens? Du kan godt ta utgangspunkt i skriptet fra oppgave 1 når du gjør denne oppgava. Regn ut summen n k= 5 1 k 2 + 1 for n = 10, n = 100, n = 1000 og n = 10000. Ser summen ut til å nærme seg noe bestemt når n øker? Ser summen nedenfor ut til nærme seg et bestemt tall når n øker? n k 2 2 k/2. k=0 2

Oppgave 3 Halveringsmetoden I denne oppgava skal vi løse likninga x = cos x. a) Hvorfor trenger vi MATLAB, kalkulator eller noe lignende for å kunne løse denne likninga? Plott grafene til x og cos x sammen. Hvor mange løsninger ser likninga ut til å ha? Finner du en tilnærma verdi for en løsning? Forklar hvorfor likninga x = cos x kan skrives på forma f(x) = 0; hva blir f(x)? b) Finn en tilnærma verdi for nullpunktet til f(x) (der er bare ett) ved å følge denne algoritmen 2 : 1) Bestem to tall a og b slik at a < b og f(a) og f(b) har ulike fortegn. 2) La c være midpunktet mellom a og b og regn ut f(c). 3a) Dersom f(a) f(c) er negativ (f(a) og f(c) har motsatt fortegn), la c bli din nye b (høgre grense). 3b) Dersom f(a) f(c) er positiv (f(a) og f(c) har samme fortegn), la c bli din nye a (venstre grense). 4) Gå tilbake til punkt 2 og gjenta ere ganger helt til b a er liten nok (du bestemmer selv hva som kvaliserer til liten nok). 5) La til slutt løsninga være midtpunktet mellom a og b Dette kan gjøres ved gjentatte operasjoner i kommandovinduet. Men det er tungvindt dette kan gjøres mye enklere om vi lager et skript med ei for-løkke. Forsøk å gjøre dette. Om du vil, kan du godt ta utgangspunkt i det ukommenterte forslaget nedenfor. I så fall: Hva blir gjort her linje for linje? Kommentér skriptet. 1 a=0; 2 b=pi/2; 3 4 Fa=sqrt(a)-cos(a); 5 Fb=sqrt(b)-cos(b); 6 7 for i=1:10 8 c=(a+b)/2; 9 Fc=sqrt(c)-cos(c); 10 if Fa*Fc<0 11 b=c; 2 Vi tyr til ordboka igjen: algoritme m1 (gjennom eng. og, m.lat., fra arab. etter matematikeren al-khuwarizmi, død ca 850) i edb, i matematikk: entydig sett med instrukser for løsning av en oppgave. 3

12 else 13 a=c; 14 end 15 end 16 17 x=(a+b)/2 Bestem hvor mange ganger for-løkka skal kjøre antall iterasjoner og kjør skriptet slik at du nner en verdi for nullpunktet. Lag et plott av f(x) der du markerer denne nullpunkts-kandidaten. Ser svaret ut til å stemme? Oppgave 4 Fakultetfunksjonen I matematikk er fakultetfunksjonen denert slik: n! = 1 2 3... (n 1) n. For eksempel er 4! = 1 2 3 4 = 24. Som vi ser, er denne funksjonen i utgangspunktet bare denert for naturlige tall, altså positive heltall. Men man har også valgt å denere 0! til å være 1. a) Lag ei funksjonl som implementerer fakultetsfunksjonen. Kontrollér at du får at 4! = 24. Hva blir 10! og 20!? (Dette kan gjøres på ere måter; du kan godt gjøre det ved å bruke ei for-løkke.) b) I MATLAB ligger faktisk fakultets-funksjonen inne fra før. Den heter factorial. Den kan ta vektor-argumenter ikke bare skalarer. Fakultets-funksjonen kan generaliseres slik at den også kan ta reelle tall som arguenter ikke bare naturlige tall. Funksjonen γ(x) har egenskapen γ(x + 1) = x! når x er et naturlig tall 3. I MATLAB heter den helt enkelt gamma. For x [0, 5] og n {0, 1, 2, 3, 4, 5}, plott γ(x + 1) og n! sammen og kontrollér at de blir like når x er et heltall. Plott n! uten linjer mellom punktene, for eksempel som røde sirkler (`ro'). Ekstra-oppgave 1: Maksimering Lag ei funksjonl som tar en vektor x som argument (input) og returnerer den største verdien i x (output) 4. 3 Den greske bokstaven γ tilsvarer latinsk g og kalles gamma. 4 MATLAB har rettnok denne funksjonen fra før; den heter max. Men det kan jo være en god øvelse å lage den selv også 4

Ekstra-oppgave 2: Halvering og plotting Lag et skript som implementerer halveringsmetoden og for hver iterasjon viser hvilke grenser som gjelder. Altså: Start med å plotte funksjonen, gjerne også x-aksen og punktene a og b. For hver iterasjon: Oppdatér grensene (a og b) i dette plottet. Sørg for at skriptet stopper opp for hver iterasjon. Det kan du gjøre med kommandoen pause. Ta gjerne utgangspunkt i skriptet fra oppgave 3. 5