Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

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

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

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

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Matematikk Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Numerisk derivasjon

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

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

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

Matematikk Øvingsoppgaver i numerikk leksjon 7. Løsningsforslag

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

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 4 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

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

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

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

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

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 =

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

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

Høgskolen i Oslo og Akershus. i=1

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Tegneprogram Journeyman Scratch PDF

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Forberedelser: Last ned bildefiler

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Norsk informatikkolympiade runde

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

Oppgaver om fart, strekning og akselerasjon. Løsningsforslag. Oppgave 1

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Snake Expert Scratch PDF

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

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

Bursdag i Antarktis Nybegynner Scratch PDF

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

MATLABs brukergrensesnitt

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere

Bursdag i Antarktis. Introduksjon. Steg 1: En katt på villspor. Sjekkliste. Skrevet av: Caroline Tandberg

Steg 1: Hente grafikk fra nettet

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Hydrostatikk/Stabilitet enkle fall

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Norsk informatikkolympiade runde

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

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

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Læringsmål og pensum. v=nkiu9yen5nc

3D-Flakser, Del 1 Ekspert Scratch PDF

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

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

NY PÅ NETT. Enkel tekstbehandling

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.

Matematisk induksjon

Astrokatt. Introduksjon. Steg 1: En flyvende katt. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

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

En innføring i MATLAB for STK1100

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Noen innebygde funksjoner - Vektorisering

Grafisk løsning av ligninger i GeoGebra

Hva er nytt i GeoGebra 3.0? Sigbjørn Hals

Steg 1: Lag et flyvende spøkelse

Noen innebygde funksjoner - Vektorisering

Mattespill Nybegynner Python PDF

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

Øvingsforelesning i Matlab TDT4105

Norsk informatikkolympiade runde

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

Kapittel Oktober Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 14.

I denne oppgåva skal me lage eit enkelt spel der pingvinane har rømt frå akvariet i Bergen. Det er din (spelaren) sin jobb å hjelpe dei heim att.

Steg 1: Hvordan styre figurer med piltastene

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

Hvor i All Verden? Del 2 Erfaren Scratch PDF

Introduksjon til Marinteknikk

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Transkript:

Matematikk 1000 Øvingsoppgaver i numerikk leksjon 3 Skript I denne øvinga skal vi lære oss å lage skript. Et skript kan vi se på som et lite program altså en sekvens av kommandoer. Dette er noe vi kommer til å bruke mye i MATLAB. I leksjon 2 introduserte vi if-satser. De skal vi se mer til. Vi kommer også her til å introdusere et nytt begrep: for-løkker. I dette settet skal vi blant annet bruke slike til å regne ut lange mer, mer du ikke har lyst til å regne ut på kalkulator eller med papir og blyant. Det forutsettes at du har gjort de tidligere oppgavesettene. Oppgave 1 Flo og fjære Figur 1 er laget slik: >> x=0:.1:24; >> y=3.2*sin(pi/6*(x-3)); >> plot(x,y,'linewidth',3) >> set(gca,'fontsize',20) >> xlabel('t [timar]'); ylabel('t [meter]') >> hold on >> plot([0 24],[-1-1],'k-') >> plot([6 18],[3.2 3.2],'ro','linewidth',2) >> plot([2.39 9.61 14.39 21.61],-ones(1,4),'gd','linewidth',2) >> leg('t(t)','y=-1','flo','t(t)=-1') >> axis([0 27-4 4]) >> hold off Plottet viser en enkel modell for hvordan vannstanden varierer gjennom døgnet et bestemt sted. I tillegg er det markert når det er o, og når vannstanden er -1 m. 1

a) Utfør disse kommandoene en etter en og forsøk å forstå hva hver enkelt av dem gjør. (`gca' står for `get current axis', og `ones(1,4)' lager en vektor med 4 elementer som alle er 1.) Figur 1: Figuren viser en modell for o og fjære. De røde sirklene markerer o, og de grønne diamantene markerer tidspunktene da vannstanden var 1 m under normalen. b) Etter ha skrevet inn ei slik remse med kommandoer, ville det være surt å oppdage at du heller ville skrive timer, bokmål, i stedet for timar, som det heter på nynorsk, på x-aksen. Kanskje nner du også ut at du egentlig ville har en sort graf ikke en blå. I så fall må jo to kommandoer res, og dermed må nok også de andre kommandoene repeteres. Å repetere denne remsa går for så vidt nokså raskt om vi bruker piltastene til å bla oppover i kommandohistorikken. Men det blir ganske tungvidt likevel. Den gode nyheten er at vi kan godt velge å skrive denne remsa som ei tekstl og så henvise MATLAB til denne. Tekstla lager vi i en editor. Som vi så i leksjon 2, har MATLAB sin egen teksteditor, som du kan åpne ved å klikke på New Script oppe til venstre. Gjør dette og skriv inn den sekvensen av kommandoer du nettop har utført. (Her kan du nok spare litt tid ved å kopiere og lime fra kommandovinduet.) Lagre denne la i ei passe mappe og gi den navnet FloFjaere.m. Om du i Current Foldervinduet manøvrerer deg fram til samme mappe som denne la ligger i, kan man ganske enkelt skrive ` FloFjaere' (uten `.m') i kommando-vinduet, og denne sekvensen med kommandoer blir utført 1. Gjør dette. En slik sekvens av kommandoer, kaller vi et skript. 1 Man kan også kjøre et skript ved å trykke F5-tasten fra editor-vinduet. 2

Oppgave 2 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 men 10 i=1 i2 ned på papir. Hva blir men? b) Åpne teksteditoren og skriv av følge tekst: =0; for i=1:10 =+i^2; Lagre la i ei passe 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' og slutter med `'. Det som skjer når skriptet kjører, er at det som står inni løkka, =+i 2;, blir gjentatt i tur og orden for alle de i-verdiene som blir angitt. Første gang er i lik 1. Da blir 1 2 lagt til variabelen, slik at blir ra fra 0 til 1. Når vi kommer til, går vi tilbake til for-linja og setter i til å være 2. Så blir 2 2 lagt til, slik at denne variabelen nå blir 5. Dette gjentar vi til og med at i er 10. Når vi har lagt til 10 2, er vi ferdig med løkka. Da blir den siste kommandoen,, utført. Siden det ikke står noe semikolon bak, blir verdien av skrevet til skjerm. Ta gjerne bort semikolonet i linje 3 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) 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?) e) Endre skriptet ditt slik at dt regner ut men 20 i=5 i. f) Hvilken blir beregna i dette skriptet? =0; for i=0:12 =+1/i; 3

Gi svaret ved hjelp av Σ-notasjon. Et viktig poeng til sist: Skriptet over har en alvorlig mangel; det er ikke kommentert. Å kommentere et skript vil si at vi legger inn tekst som forklarer hva skriptet gjør. Dette kan vi gjøre ved hjelp av %-tegnet; alt som står bak et prosenttegn, blir ignorert av MATLAB men ikke nødvigvis av en person som leser skriptet. En kommentert versjon av skriptet over kan se slik ut: % Dette skriptet beregner men av i^2 for i fra og % med 1 til og med 10. =0; for i=1:10 =+i^2; % Setter men til 0 til å begynne med % For hver i: Legger til i^2 % Skriver men til skjerm Å legge til slik tekst kan synest ganske unødvig når man nettopp har skrevet skriptet; det er jo så opplagt hva det gjør!. Vi er nok mange som har erfart at slike ting slett ikke er så opplagt når man skal se på skript man har skrevet tideligere for ikke å snakke om hvis man skal bruke skript som noen andre har skrevet. Du kan for så vidt gjøre deg denne erfaringa selv også, men jeg anbefaler deg å tro på oss når vi sier at det alltid er en god idé å kommentere skriptene du skriver. Oppgave 3 Lys til bløtkaka I denne oppgava tenker vi oss at en familie alltid feirer bursdagen til barna med bløtkake med lys på med like mange lys som barnet fyller år. Oppgavene kan løses med papir og blyant, men de kan også løses ved å skrive eit lite MATLABskript. Forsøk gjerne begge deler. 4

a) Da et av barna ble født, kk det en pakke med 10 kake-lys i presang. Lysene er så små at de ikke kan brukes om igjen. Hvor lenge vil denne pakka vare? b) Om vi i stedet hadde hatt en pakke med 100 kakelys, hvor lenge ville den vart? c) En annen familie med samme bursdags-praksis har to barn, Kari på 7 år og Ola på 5. Ved nyttår har foreldrene 300 lys. Når må de kjøpe ere? Ekstra: Oppgave 4 Maksimering Lag ei funksjonl som tar en vektor x som argument (input) og returnerer den største verdien i x (output) 2. 2 MATLAB har rettnok denne funksjonen fra før; den heter max. Men det kan jo være en god øvelse å lage den selv også 5