TDT4105 IT Grunnkurs Høst 2014



Like dokumenter
TDT4105 IT Grunnkurs Høst 2014

Høst Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

Fysikkmotorer. Andreas Nakkerud. 9. mars Åpen Sone for Eksperimentell Informatikk

Øvingsforelesning i Matlab TDT4105

TDT4110 IT Grunnkurs Høst 2012

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS

TDT4105 IT Grunnkurs Høst 2012

Øvingsforelesning i Matlab TDT4105

Løsningsforslag. og B =

TDT4110 IT Grunnkurs Høst 2012

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

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

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

FY0001 Brukerkurs i fysikk

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

EKSAMEN RF3100 Matematikk og fysikk

Snake Expert Scratch PDF

Kan vi forutse en pendels bevegelse, før vi har satt den i sving?

Sprettball Erfaren ComputerCraft PDF

Fasit MAT102 juni 2016

Oppgave 2 Løs oppgavene I og II, og kryss av det alternativet (a, b eller c) som passer best. En funksjon er ikke deriverbar der:

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

Øvingsforelesning i Matlab TDT4105

Matematikk og fysikk RF3100

Steg 1: Streken. Steg 2: En hoppende helt. Sjekkliste. Sjekkliste. Introduksjon. Hei der! Hoppehelt

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

FYS-MEK 1110 OBLIGATORISK INNLEVERING 1 ROBERT JACOBSEN ( GRUPPE 1 )

MA1102 Grunnkurs i analyse II Vår 2014

SINUS R1, kapittel 5-8

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

MAT1110: Obligatorisk oppgave 2, V Løsningsforslag

MAT-INF 2360: Obligatorisk oppgave 1

TDT4105 IT Grunnkurs Høst 2016

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

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

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

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

Øvingsforelesning i Matlab (TDT4105)

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

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

Kapittel 4. Algebra. Mål for kapittel 4: Kompetansemål. Mål for opplæringen er at eleven skal kunne

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

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

Simulerings-eksperiment - Fysikk/Matematikk

TDT4105 IT Grunnkurs Høst 2014

Redd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon

Sammendrag kapittel 9 - Geometri

HØGSKOLEN I BERGEN Avdeling for Ingeniørutdanning

eksamensoppgaver.org x = x = x lg(10) = lg(350) x = lg(350) 5 x x + 1 > 0 Avfortegnsskjemaetkanvileseatulikhetenstemmerfor

Skilpaddekunst. Steg 1: Møt skilpadden. Sjekkliste. Introduksjon. Turtles

RF3100 Matematikk og fysikk Leksjon 6

Impuls, bevegelsesmengde, energi. Bevaringslover.

UNIVERSITETET I OSLO

Løsningsforslag til eksamen FY0001 Brukerkurs i fysikk Juni 2011

MAT-INF 1100: Obligatorisk oppgave 2

Løsningsforslag heldagsprøve våren T

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 =

Løsning, gruppeoppgave om corioliskraft og karusell, oppgave 7 uke 15 i FYS-MEK/F 1110 våren 2005

5.201 Galilei på øret

Prosjekt 2 - Introduksjon til Vitenskapelige Beregninger

MA0002 Brukerkurs i matematikk B Vår 2013

Løsningsforslag AA6516 Matematikk 2MX - 5. mai eksamensoppgaver.org

Kinematikk i to og tre dimensjoner

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

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

Pilotprosjekt i faglig bruk av IKT i sivilingeniørutdannelsen: «Numerisk fysikk»

FYSMEK1110 Oblig 5 Midtveis Hjemmeeksamen Sindre Rannem Bilden

TFY4106 Fysikk. Institutt for fysikk, NTNU. Test 2.

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

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

Matlab-tips til Oppgave 2

1 MAT100 Obligatorisk innlevering 1. 1 Regn ut i) iii) ii) Regn ut i) ii)

TDT4110 IT Grunnkurs Høst 2014

Kinematikk i to og tre dimensjoner

Hvor i All Verden? Del 3 Erfaren Scratch PDF

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver veke 14

v(t) = r (t) = (2, 2t) v(t) = t 2 T(t) = 1 v(t) v(t) = (1 + t 2 ), t 2 (1 + t 2 ) t = 2(1 + t 2 ) 3/2.

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

Spøkelsesjakten. Introduksjon

TFY4106 Fysikk. Institutt for fysikk, NTNU. Test 1.

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

Prosjektoppgave i FYS-MEK 1110

Asteroids. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

TFY4106 Fysikk. Institutt for fysikk, NTNU. Løsningsforslag til øving 4. m 1 gl = 1 2 m 1v 2 1. = v 1 = 2gL

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

år i alder x i tid y i i=1 (x i x) 2 = 60, 9

Matematikk Øvingsoppgaver i numerikk leksjon 5. Løsningsforslag

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TMA4245 Statistikk Høst 2016

UNIVERSITETET I OSLO

AKTIVITET. Baneberegninger modellraketter. Elevaktivitet. Utviklet av trinn

Øving 3. Oppgave 1 (oppvarming med noen enkle oppgaver fra tidligere midtsemesterprøver)

Fjæra i a) kobles sammen med massen m = 100 [kg] og et dempeledd med dempningskoeffisient b til en harmonisk oscillator.

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

Kap 02 Posisjon / Hastighet / Akselerasjon 2D - Bevegelse langs en rett linje

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

TDT4110 IT Grunnkurs Høst 2014

UNIVERSITETET I OSLO

Transkript:

TDT4105 IT Grunnkurs Høst 2014 Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 6 1 Teori a) Hva er 2-komplement? b) Hva er en sample innen digital representasjon av lyd? c) Hvorfor kjører skript nummer 2 tregere enn nummer 1? x = zeros ( 10000) for i = 1: 10000 x(i) = i; for i = 1: 10000 x(i) = i; 2 Kodeforståelse Hva skriver følge kode ut? Gå gjennom koden først, og noter deg hva du mener den skriver ut, før du kjører den. function c = afunction ( a, b) c = a + b; b = 3; b = 5; c = 2; d = afunction (c, b); disp (b); disp (c); disp (d); Side 1 av 5

3 Trapesmetoden a) Lag funksjonen f, gitt av: f(x) = 8sin(x) x 5 Pass på at funksjonen kan regne på vektorer. Tips: a ˆ b fungerer kun hvis a og b er tall, a.ˆ b fungerer også hvis a og b er vektorer. Følge skript tester funksjonen: f (0) % skal returnere 3 f ( 1. 5) % skal returnere 2. 9700 % skal returnere [ 3. 0000 0. 5392 1. 7318 2. 9700 1. 6146] f ([0:0.5:2]) b) Plott funksjonen fra 0 til 2 med steglengde 0.01. c) Plott funksjonen fra 0 til 2 med steglengde 0.2 Hvis du skriver hold on før du kjører plot-funksjonen, vil plottene legge seg oppå hverandre. Hvis du har gjort dette vil plottet se ca. slik ut: For å nne arealet under en graf er det vanlig å integrere funksjonen. Men det er ikke alle funksjoner som er enkle å integrere. Funksjonen i denne oppgaven er et eksempel på en slik funksjon. Men med litt programmering kan vi tilnærme oss arealet av denne funksjonen. Se på plottet ovenfor, og legg merke til at de to grafene nesten ligger oppå hverandre. Legg også merke til at den blå linjen, sammen med bunnlinjen og de vertikale grå linjene, danner 10 trapeser. Trapes er det enkelt å regne ut arealet av. Side 2 av 5

d) Lag funksjonen trapezoidarea som tar inn parametrene a, b og h. Bruk følge funksjon for å regne ut arealet. A = a + b h 2 Her er a og b lengden på de to parallelle sidene i trapeset, og h er distansen mellom disse. Test funksjonen slik: trapezoidarea (1, 1, 1) % skal returnere 1 trapezoidarea (3, 1, 1) % skal returnere 2 trapezoidarea (1, 3, 2) % skal returnere 4 e) Lag funksjonen trapezoidmethod, som skal regne ut en tilnærming av arealet under funksjonen f fra oppgave a). Funksjonen skal ta inn start, stop og n som parametre. Her er start start-punktet for arealet (0 i eksempelet over), stop er stopp-punktet (2 i eksempelet over) og n er antall trapeser. Test funksjonen slik: trapezoidmethod (0, 2, 10) % skal returnere 3. 5875 trapezoidmethod (0, 2, 2) % skal returnere 4. 0391 trapezoidmethod (1, 3, 10) % skal returnere 0. 1475 Hva skjer når du øker n? 4 Kulestøt Når man støter kule er det ikke bare hastigheten på kulen som avgjør hvor langt man støter - vinkelen man støter med og høyden over bakken spiller også en rolle. I denne oppgaven skal vi lage en funksjon som modellerer dette problemet, og vi skal nne ut hvilken vinkel som er optimal for en gitt høyde. Vi skal regne på bevegelse i to dimensjoner, x og y. Det er ikke nødvig å forstå fysikken bak bevegelsene, siden du skal få oppgitt riktige formler og hvor de skal brukes. Men vi må likevel ha en liten intuisjon for hva som foregår. Hvis høyden er lik 2 så er startposisjonen x = 0 og y = 2. Side 3 av 5

For å kalkulere banen som kulen tar, trenger vi å vite hvor kulen er, hva farten er og hvilken akselerasjon den har. Videre lar vi det gå en tidsenhet, slik at kulen ytter seg litt og kalkulerer disse variablene på nytt. Dette gjentar vi så lenge y-koordinatet er større enn 0. Når y-koordinatet er 0 har kulen landet, og lengden av kastet er gitt av x-koordinatet. Vi vet allerede hvor kulen er når den starter, så det første vi må kalkulere er hastigheten i henholdsvis x-retning og y-retning. Dette er gitt av hastigheten og vinkelen ved følge formler: v x = cos(angle) speed v y = sin(angle) speed a) Skriv funksjonen initialspeed(angle, speed) som returnerer hastighet i x og y retning. Tips: cos og sin i matlab regner med radianer og ikke grader. Hvis du vil bruke grader i løsningen din kan du bruke funksjonene cosd og sind. Eller du kan gjøre omregningen selv. Husk at grader = radianer 180 π Funksjonen kan testes med følge skript: % skal returnere x = 100, y = 0 [x, y] = initialspeed (0, 100) % skal returnere x = 6. 1232 e -15, y = 100 [x, y] = initialspeed ( pi /2, 100) % skal returnere x = 70. 7107, y = 70. 7107 [x, y] = initialspeed ( pi /4, 100) Posisjonen i neste steg forholder seg til posisjonen og farten i det nåvære steget slik: dt er her størrelsen på et tidsintervall. x n+1 = x n + v xn dt y n+1 = y n + v yn dt b) Skriv funksjonen med signaturen function [x, y] = position(x, y, vx, vy, dt) som kalkulerer x- og y-koordinatet i neste steg, ut ifra det nåvære stegets posisjon og fart. Funksjonen kan testes med følge skript: % skal returnere x = 10, y = 11 [x, y] = position (10, 10, 0, 1, 1) % skal returnere x = 11, y = 10 Side 4 av 5

[x, y] = position (10, 10, 1, 0, 1) % skal returnere x = 10.1, y = 10. 1 [x, y] = position (10, 10, 1, 1, 0.1) Akselerasjonen er i denne oppgaven gitt ved: a xn+1 = k v xn abs(v xn ) a yn+1 = k v yn abs(v yn ) g Hvor k = 0.01 og angir luftmotstanden, og g er gravitasjonskonstanten (9.81 på jorden). c) Skriv en funksjon med signaturen function [ax, ay] = acceleration(vx, vy) som kalkulerer akselerasjonen i det neste steget ut i fra det nåvære stegets fart. Funksjonen kan testes slik: % skal returnere x = 0, y = -9.81 [ x, y] = acceleration (0, 0) % skal returnere x = -1, y = -10.81 [ x, y] = acceleration (10, 10) Farten i neste steg forholder seg til farten og akselerasjonen i det nåvære steget slik: dt er her størrelsen på et tidsintervall. v xn+1 = v xn + a xn dt v yn+1 = v yn + a yn dt d) Skriv en funksjon med signaturen function [vx, vy] = speed(vx, vy, ax, ay, dt) som kalkulerer farten i det neste steget ut ifra det nåvære stegets fart og akselerasjon. Nå kan vi bruke funksjonen i a for å nne starttilstanden og funksjonene i b-d for å gå fra et steg til det neste. e) Skriv funksjonen trajectory som tar inn vinkel, fart og høyde over bakken som parameter. Funksjonen skal returnere to vektorer, en for alle x-koordinatene og en for alle y-koordinatene. Siden vi ikke vet hvor mange iterasjoner løkken skal inneholde, må funksjonen benytte en while-løkke. Løkken skal stoppe når y-koordinatet er mindre enn 0. f) Lag funksjonen plottrajectory som har de samme parameterene som trajectory, men som bruker plot-funksjonen til å plotte kulebanen. g) (frivillig) Lag funksjonen plottrajectorylength. Den skal kalle trajectory med forskjellige vinkler mellom 0 og pi/2 (90 ), for å nne lengden av et kulestøt med den aktuelle vinkelen. Deretter skal funksjonen plotte vinkel mot lengde ved hjelp av plot. Et greit vinkelsteg her kan være pi / 32. Hvilken vinkel gir best resultat? Hva skjer om man rer på høyden; rer vinkelen seg da? Hva skjer om man rer på k og g? Har farten noe å si for vinkelen? Klarer du å lage en 3D plot med høyde og vinkel? Side 5 av 5