Projeksjoner av vektorer Analyse av værdata
|
|
- Trond Ervik
- 7 år siden
- Visninger:
Transkript
1 Projeksjoner av vektorer Analyse av værdata Lars Sydnes NITH 12. september Osloserien Ved værstasjoner rundt omkring i verden måler man temperaturen hver eneste dag. Vi har tilgang til målinger gjort på Blindern i tidsrommet 1.januar 1938 til 31.desember 2012, alstå over et tidsrom på 74 år. 1 Vi snakker altså om daglige målinger i 74 år, d.v.s målinger. Det er mange tall, og vi blir ikke særlig kloke av å stirre på dem: Den første kolonnen angir naturligvis datoen. Den andre kolonnen angir middeltemperaturen 2, mens de to siste kolonnene er henholdsvis minimumsog maksimumstemperaturen. Dette datasettet kan vi døpe Osloserien. 1 Takk til Sigmund Hov Moen ved NITH som har skaffet dataene! 2 Det er ikke opplagt hva som skal regnes som middeltemperaturen. Hvordan skal man måle den? Det finnes dog standardiserte prosedyrer for å beregne middeltemperaturen utfra et sett målinger gjort i løpet av en dag. Når man bruker en slik standardprosedyre, sikrer man at man kan sammenligne resultater fra 1938 med resultater fra Dette betyr dog ikke at begrepet middeltemperatur er meningsfullt i seg selv. 1
2 Vi kan bli litt klokere av å plotte dataene. Her har vi plottet noen tilfeldige utvalgte segmenter av datasettet: Disse figurene gir oss et tydelig inntrykk av at vinteren 1942 var mye kaldere enn vinteren 1990, og de gir inntrykk av lengden på kuldeperioder og mildværsperioder. Vi vil nå se hvordan vektorregning gir oss enkelte instrumenter som vi kan bruke til å undersøke slike datasett. La oss flytte dataene over i en verden av vektorer: 2 Oslovektoren La oss hente ut en kolonne av Osloserien, f.eks middeltemperaturkolonnen. Dermed får vi en lang liste av tall. Denne kan vi betrakte som en vektor med komponenter: x Oslo = [ 3.4, 4.5,, 8.8,..., 1.1, 3.2, 2.9] R Denne vektoren kan vi kalle Oslovektoren 3 3 Den som er opptatt av å skille mellom punkter og vektorer, vil kunne hevde at det er mer meningsfullt å se på denne listen med tall som et punkt, blant annet fordi komponentene avhenger av valg av nullpunkt for temperaturmåling. 2
3 3 Noen hjelpevektorer. Vi skal nå definere en hel haug med vektorer som skal spille rollen som alternative koordinat-akser. Vi kan tenke på disse vektorene som en slags erstatning for enhetsvektorene ˆx, ŷ, ẑ som vi er vant med fra 3D-geometrien. La N være antallet komponenter i x Oslo, i.e [ ( ) ( ) ( ) ( )] 2πi 2πi 2πi 2πi u i = cos N 0, cos N 1,..., cos N k,..., cos (N 1) N og v i = [ ( ) ( ) ( ) ( )] 2πi 2πi 2πi 2πi sin N 0, sin N 1,..., sin N k,..., sin (N 1). N Dette gir oss to sekvenser u 1,..., v 1, v 2,... av vektorer. Disse fletter vi sammen til én på følgende måte: Først definerer vi en vektor der alle komponentene er like: b 0 = [ 1 2 2, 1 2 ] 1 2,..., 2. 2 Når i er jevn lar vi b i = u i/2 og når i er odde lar vi b i = v (i+1)/2 Nå har vi en laang liste med vektorer med N = komponenter: b 0, b 1, b 2, b 3, b 4,... Ikke tenk så alt for mye på at det er noen vanskelige formler involvert i dette, det viktige er at vi kan punche tall inn i kalkulatoren vår og si hvilket tall som står i komponent nummer 131 i vektoren b 425. b 0, b 1,... er rett og slett helt vanlige lister med tall. Det som er spesielt med disse vektorene er at de står vinkelrett på hverandre. Det høres absurd ut, men dette er noe vi faktisk kan sjekke ved å regne ut skalarproduktene: b i b j = 0, når i j (1) Disse beregningene er vanskelige å utføre, men det stemmer. Studentene kan selv sjekke dette numerisk, altså ved hjelp av datamaskinen, men da kun for et endelig utvalg av i, j-indekser. En forklaring på hvordan man kan gripe dette an finner du i seksjon
4 4 Bruk av hjelpevektorene Det vi ønsker å gjøre er å uttrykke Oslovektoren x Oslo ved hjelp av hjelpevektorene b 0, b 1,.... I praksis er vi tvunget til å ta for oss et endelig utvalg med K vektorer b 0, b 1,..., b K K kan f.eks være lik Vi ønsker så å finne en vektor x Oslo som tilfredsstiller følgende krav: (i) x Oslo er en lineærkombinasjon av vektorene b 1,..., b K. Det skal altså finnes tall y 1,..., y K slik at K x Oslo = y i b i. (ii) Avstanden mellom x Oslo og x Oslo skal være så liten som mulig. Vi ønsker m.a.o at feilen x Oslo x Oslo skal være så liten som overhodet mulig. Vi har en veldig praktisk omformulering av punkt (ii): Feilen er minimal når x Oslo x Oslo står vinkelrett på b 1, b 2,..., b K, i.e. dersom i=0 (x Oslo x Oslo ) b i = 0 for i = 0, 1, 2,..., K (2) Vi kan forestille oss at b 1,..., b K danner et slags plan og at x Oslo er projeksjonen av x Oslo ned på dette planet. 4 Det å projisere på det nærmeste punktet i et plan er det samme som å projisere vinkelrett på planet. Hvordan skal vi så finne koeffesiente y 1, y 2,..., y K i (i)? Jo, vi kan finne dem ved hjelp av (1): Dette er litt magisk, men dersom vi kombinerer (2) med punkt (i) og (1), så får vi 0 = (x Oslo x Oslo ) b j ( ) K = x Oslo y i b i b j i=1 = x Oslo b j k y i b i b j i=1 = x Oslo b j y i b j b j, 4 Dette kan forstås ved en analogi: La P være et punkt i planet, la b være en vektor i planet og la l være linjen gjennom origo. Punktet P på l som ligger nærmest P er kjennetegnet ved at vektoren P P står vinkelrett på b. 4
5 siden b i b j = 0 når i j. Det som står her er at x Oslo b j y i b j b j = 0. Denne ligningen kan vi løse for y i, og vi får da y i = x Oslo b j b j b j (3) Takket være det faktum at vektorene b 1,..., b K er parvis ortogonale har vi altså funnet en forholdsvis enkel formel for koeffesientene y 0, y 1, y 2,..., y K. 5 Numerisk analyse av Osloserien Når vi regner ut disse koeffesientene på datamaskinen får vi verdier som y , y , y , y Dersom vi gjennomfører approksimasjonen vår med K = 0, så får vi x Oslo x Oslo = y 0b [1/2 2,...] [6.13, 6.13,...] Dette kan vi tolke dithen gjennomsnittlig middeltemperatur på Blindern de siste 74 årene er på 6.1 C. 5 Vi kan plotte y i mot i for i = 0, 1,..., 300. Det gir følgende figur: Vi ser her at de fleste y i -verdiene ligger omkring 0, med unntak av y Sammenlign med standardformelen for gjennomsnitt: Gjennomsnittet av tallene T 1, T 2,..., T N er T 1 + T T N. N Komponentene i vektoren y 0b 0 er gitt av formelen x Oslo b x x xn 2 = x x N b 0b 1 2 = N
6 og y Dersom vi bare bryr oss om disse største koeffesientene, får vi følgende approksimasjon av oslovektoren: x Oslo 8.67 b b 150 Denne approksimasjonen gir følgende tilnærming til middeltemperaturen T i på dag i etter : ( ) 150π T i cos i Hvis vi plotter denne approksimasjonen for årene , får vi følgende figur: Langs y-aksen måler vi antallet dager etter Her har vi plottet approksimasjonen sammen med de virkelige dataene: Dette gir oss en idé om at den viktige koeffesienten y 150 representerer den årlige variasjonen. Analysen vår har altså klart å presse ut to viktige observasjoner: Gjennomsnittlig middeltemperatur på Blindern siste 74 år er 6.13 grader. Temperaturen har en regelmessig variasjon med med periode på ca. 365 dager. 6
7 Det siste burde ikke være noen overraskelse, siden de fleste av oss har hørt om årets syklus: Vår, sommer, høst og vinter. Vi kan også bruke approksimasjonen ( ) 150π T i cos i som en enkel modell for hvordan temperaturen vanligvis varierer gjennom året. Dersom temperaturen er høyere enn T i den aktuelle dagen, så vil vi si at det er unormalt varmt. 7
8 6 Programmering: Nå skal vi se på hvordan vi kan arbeide med dette i java. Vi referer til kode som finnes i her: Data-vektorer Oslo-vektoren x Oslo vil bli representert av objekter av klassen matlib.vector. Denne klassen ser omtrent slik ut: package matlib; import matlib.util.vectors; public class Vector extends AbstractVector { public Vector(int n ) public Vector(double[] array) public Vector(AbstractVector other) public int size() public void add(vector other){// INPLACE public void subtract(vector other) // INPLACE public void multiply(double scalar)// INPLACE public static Vector add(vector u,vector v) public static Vector subtract(vector u,vector v) public static Vector multiply(vector u, double s) public void print() public void gpprint() // for use with gnuplot Legg merke til at det finnes to sett med vektoroperasjoner: Inplace-verianter som modifiserer objekter og statiske metoder som lager nye objekter. 8
9 6.2 Hvordan lage Oslovektoren? Dataene til Oslo-vektoren kommer fra filen data/osloseries.txt, og vi kan laste dataene inn i en vektor xoslo på følgende måte: String FILE_NAME = "data/osloseries.txt"; double[] array = DataVectors.getData(FILE_NAME,0); Vector oslovector = new Vector(array); Klassen DataVectors ligger i pakken matlib.datavectors, og metoden getdata har følgende deklarasjon: public static Vector getdata(string filename, int column); Parameteren column angir hvilken kolonne i filen vi henter dataene fra. Siden middeltemperaturdataene ligger i den første kolonnen i den aktuelle filen, velger vi kolonne nr 0. 9
10 6.3 Basis-vektorene Basisvektorene b i vil være representert ved Fourier-objekter. Fourier-klassen ser omtrent slik ut: package matlib.fourier; import matlib.abstractvector; } public class Fourier extends AbstractVector { public Fourier(int n) public Fourier(int n, int index) public void setindex(int index){ if(index%2==0){ function = cos; function.setwavenumber(index/2); } else if (index%2==1) { function = sin; function.setwavenumber((index +1 )/ 2 ); } } public static Fourier multiply(fourier vector, double scalar) public static Fourier add(fourier A, Fourier B) public static Fourier subtract(fourier A, Fourier B) 10
11 Fourier-objektene oppfører seg som vektorer: Både Fourier og Vector arver metoden public static double scalarproduct(abstractvector A, AbstractVector B) fra klassen AbstractVector. Av den grunn kan vi skrive kode som f.eks Fourier b3 = new Fourier(5,3); double[] array = new double[]{2,3,2,1,2}; Vector x = new Vector(array); double s = AbstractVector.scalarProduct(b3,x); Konstruktør-kallet Fourier(27418) produserer basisvektoren vi kjenner som b 0, mens kallet Fourier(27418,98) produserer basisvektoren vi kjenner som b 98, et.c. Vi kan endre indeksen til Fourier-ojekter ved hjelp av setindexmetoden. Dermed kan vi ofte klare oss med noen ganske få Fourierobjekt som vi endrer indeksen på etter behov. 7 Oppgaver 7.1 Studér basisvektorene: Lag et visst antall Fourier-objekter, og undersøk om de står vinkelrett på hverandre ved å beregne skalarproduktene ved hjelp av scalarproduct -metoden. Poenget er altså å gå ligning (1) på side 3 etter i sømmene. 6 6 Obs: Metoden AbstractVector.scalarProduct tar høyde for avrundingsfeil: Hvis det numerisk beregnede skalarproduktet mellom to vektorer har absoluttverdi mindre enn 10 11, så blir resultatet rundet ned til
12 7.2 Beregn y i -koeffesientene Last inn Osloserien inn i Oslovektoren x Oslo ved å skrive f.eks String FILE_NAME = "data/osloseries.txt"; double[] array = DataVectors.getData(FILE_NAME,0); Vector oslovector = new Vector(array); Beregn så en del y i -koeffesientene ved hjelp av formel (3). Et godt tips er å fylle en array double[] coefficients = new double[300] med verdiene y 0, y 1,..., y 199 Hva er de største verdiene? Finn fram til de 10 største verdiene. 7.3 Rekonstruksjon Dersom vi har funnet ut at koeffesientene y 0, y 148, y 150, y 152 virker interessante, kan vi lage vektoren x Oslo = y 0b 0 + y 148 b y 150 b y 152 b 152. Dette gir en approksimasjon for middeltemperaturen. 12
13 7.4 Visualisering I eksempelkoden i oppgaver.weatherdata skrives den ubearbeidede Oslovektoren til filen data/weatheroutput.txt i funksjonskallet double[] array = oslovector.toarray(); double[][] outputarrays = new double[][]{array}; Vectors.printGnuplotData(outputArrays); Dette gir oss en fil som inneholder ca linjer med ett tall på hver linje, noe som ikke gjør oss særlig kloke. Det kan være en utfordring å få visualisert dataene, men det finnes flere metoder: Man kan åpne filen i MS-excel eller LibreOffice-calc og forsøke å bruke den innebygde plottingsfunksjonaliteten. Det er dog en viss fare for disse programmene ikke tåler så store datamengder veldig godt. Man kan laste ned GNUplot her: Dette er et utmerket verktøy for plotting av data. Kommandoen > plot "data/weatheroutput.txt" w l u 1 plotter den første kolonnen i filen data/weatheroutput.txt. Andre metoder? 7.5 Stockholmserien I filen data/stockholmseries.txt finner man tilsvarende data målt i Stockholm i perioden fra til og med Analyser også disse dataene. Siden vi har et tidsspenn på 248 år, kan vi forvente at y 496 er relativt stor, eller at noen av nabo-koeffesientene er det, siden de hører sammen med den årlige variasjonen. Undersøk denne hypotesen. Se på approkismasjonsfelien (x x ). Ser du noen systematiske avvik? 13
Projeksjoner av vektorer Analyse av værdata
Projeksjoner av vektorer Analyse av værdata Lars Sydnes 11. september 2013 1 Osloserien Ved værstasjoner rundt omkring i verden måler man temperaturen hver eneste dag. Vi har tilgang til målinger gjort
DetaljerRF5100 Lineær algebra Leksjon 1
RF5100 Lineær algebra Leksjon 1 Lars Sydnes, NITH 20.august 2013 I. INFORMASJON FAGLÆRER Kontakt: Lars Sydnes lars.sydnes@nith.no 93035685 Bakgrunn: Doktorgrad i Matematikk fra NTNU (2012), Siv.ing. Industriell
DetaljerOblig4 - forklaringer. Arne og Ole Christian
Oblig4 - forklaringer Arne og Ole Christian Struktur og alle (?) klassene import easyio.*; import java.util.*; class Oblig4 { public static void main (String[] args) { String s1 = "Stasjoner-1.txt"; String
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerOblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
DetaljerPG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java:
PG4200 Algoritmer og datastrukturer Lab 1 8.januar 2014 Innledning I dag skal vi undersøke en rekke velkjente databeholdere i Java: java.util.arraylist java.util.linkedlist java.util.hashset java.util.treeset
DetaljerMAT-INF 1100: Obligatorisk oppgave 1
8. september, 2005 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 23/9-2005, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels
DetaljerOblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000
Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Leveringsfrist Innleveringsfristen er onsdag 15. november kl 16.00. Viktig: se side 4 for detaljerte leveringskrav. Formål Formålet med denne oppgaven
DetaljerOm 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
DetaljerKap. 6 Ortogonalitet og minste kvadrater
Kap. 6 Ortogonalitet og minste kvadrater IR n er mer enn bare et vektorrom: den har et naturlig indreprodukt, nemlig prikkproduktet av vektorer. Dette indreproduktet gjør det mulig å tenke geometrisk og
DetaljerINF1000 (Uke 15) Eksamen V 04
INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a
DetaljerINF1000 (Uke 15) Eksamen V 04
INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a
DetaljerOblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000
Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Leveringsfrist Innleveringsfristen er fredag 14. november kl 16.00. Viktig: se side 4 for detaljerte leveringskrav. Formål Formålet med denne oppgaven
DetaljerOblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl
Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl. 16.00 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
DetaljerMAT-INF 1100: Obligatorisk oppgave 1
3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels
DetaljerKom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang
Kom forberedt til tirsdag INF1000 Tips til obligatorisk oppgave 4 Kikk på prøveeksamen fra 2004 http://www.uio.no/studier/emner/matnat/ifi/inf1000/h 07/undervisningsmateriale/proveeksamen-H2004.pdf Tittel:
DetaljerProgrammering i Java med eksempler
Differenslikn. p.124 Simulering av differenslikninger Programmering i Java med eksempler Forelesning uke 39, 2005 MAT-INF1100 Differenslikn. p.224 Differenslikning av orden 2 (1) Vi kjenner formler for
DetaljerOblig4 - forklaringer. Arne og Ole Christian
Oblig4 - forklaringer Arne og Ole Christian Stasjonsdata-1.txt NR NAVN MOH KOMMUNE FYLKE 4780 GARDERMOEN 202 ULLENSAKER AKERSHUS 10400 RØROS 628 RØROS SØR-TRØNDELAG 18700 OSLO-BLINDERN 94 OSLO OSLO 25590
DetaljerEKSAMENSFORSIDE Skriftlig eksamen med tilsyn
BOKMÅL EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 108 + 108N Dato: 19.12.201 Ansv. faglærer: Roy M. Istad Campus: Bø Antall oppgaver: 5 Tillatte hjelpemidler (jfr. emnebeskrivelse): Alt trykt
DetaljerINF1000 oppgaver til uke 38 (17 sep 23 sep)
INF1000 oppgaver til uke 38 (17 sep 23 sep) Formål: Øve på programmering med forgreninger, løkker og arrayer. Teoritimer (plenumsøvinger): 1. Oppgave 4 og 6 i kapittel 4 i læreboka. 2. En blokk er en samling
DetaljerTMA Matlab Oppgavesett 2
TMA4123 - Matlab Oppgavesett 2 18.02.2013 1 Fast Fourier Transform En matematisk observasjon er at data er tall, og ofte opptrer med en implisitt rekkefølge, enten i rom eller tid. Da er det naturlig å
DetaljerRF5100 Lineær algebra Leksjon 1
RF5100 Lineær algebra Leksjon 1 Lars Sydnes, NITH 20.august 2013 I. INFORMASJON FAGLÆRER Kontakt: Lars Sydnes lars.sydnes@nith.no 93035685 Bakgrunn: Doktorgrad i Matematikk fra NTNU (2012), Siv.ing. Industriell
DetaljerRF3100 Matematikk og fysikk Leksjon 6
RF3100 Matematikk og fysikk Leksjon 6 Lars Sydnes, NITH 4.oktober 2013 I. FUNKSJONER TILFELDIGE EKSEMPLER x-koordinaten er en funksjon av t når startposisjon x 0 og startfart v x er gitt: x = x 0 + v x
DetaljerINF1000 : Forelesning 4
INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet
Detaljer5.8 Iterative estimater på egenverdier
5.8 Iterative estimater på egenverdier Det finnes ingen eksplisitt formel for beregning av egenverdiene til en kvadratisk matrise. Iterative metoder som finner (ofte) en (meget god) approksimasjon til
DetaljerArgumenter fra kommandolinjen
Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene
Detaljeri=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4
Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk
DetaljerProgrammering i Java med eksempler
Simulering av differenslikninger Programmering i Java med eksempler Forelesning uke 39, 2006 MAT-INF1100 Differenslikn. p. 1 Løsning av differenslikninger i formel Mulig for lineære likninger med konst.
Detaljeri=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4
Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I
DetaljerForelesning inf Java 4
Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette
DetaljerEmne 10 Litt mer om matriser, noen anvendelser
Emne 10 Litt mer om matriser, noen anvendelser (Reelle) ortogonale matriser La A være en reell, kvadratisk matrise, dvs. en (n n)-matrise hvor hvert element Da vil A være ortogonal dersom: og Med menes
Detaljerløsningsforslag-uke5.txt
INF 1000 LØSNINGSFORSLAG TIL UKEOPPGAVER FOR UKE 5 1) Setningen er kompakt skrivemåte for int[] a; a = new int[50]; hvor den første setningen deklarerer arrayen a, og den andre setningen oppretter et array-objekt
DetaljerIN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
Detaljer13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER
.9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,
DetaljerINF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012
INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med
DetaljerForelesning inf Java 5
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen
DetaljerMatematikk og fysikk RF3100
DUMMY Matematikk og fysikk RF3100 Løsningsforslag 7. april 015 Tidsfrist: 15. april 015 Oppgave 1 Her studerer vi et stivt 1 system som består av tre punktmasser m 1 1 kg, m kg, m 3 3 kg. Ved t 0 ligger
DetaljerRF5100 Lineær algebra Leksjon 2
RF5100 Lineær algebra Leksjon 2 Lars Sydnes, NITH 27.august 2013 I. LINEÆRE SYSTEM SKJÆRINGSPUNKTET FOR TO LINJER l 1 : x + y = 1 P l 2 : x + y = 3 Geometri: (i) P ligger på linjen l 1 (ii) P ligger på
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerForelesning inf Java 5
Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
Detaljer6108 Programmering i Java. Leksjon 5. Tabeller. Roy M. Istad 2015
6108 Programmering i Java Leksjon 5 Tabeller Roy M. Istad 2015 Hva er tabeller? Tabell (evt. array): Sammensetning av verdier i den samme datatypen, under ett navn i hurtigminnet. Gir rask og effektiv
Detaljer12 Projeksjon TMA4110 høsten 2018
Projeksjon TMA0 høsten 08 En projeksjon er en lineærtransformasjon P som tilfredsstiller P x = P x for alle x Denne ligningen sier at intet nytt skjer om du benytter lineærtransformasjonen for andre gang,
DetaljerEKSAMENSOPPGAVE / EKSAMENSOPPGÅVE
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE Eksamen i: Inf-1049, Introduksjon til beregningsorientert programmering Dato: 15. desember 017 Klokkeslett: 09.00 13.00 Sted /
DetaljerEKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.
Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig
DetaljerForkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen
Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output
DetaljerOversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
DetaljerOblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for
DetaljerJentetreff INF1000 Debugging i Java
Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver
DetaljerOBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK
INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer, bruker og telefonnummer Med
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerLøsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
DetaljerNITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel
DetaljerDagens tema: 12 gode råd for en kompilatorskriver
Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerTestsituasjon Resultat Kommentar. Fungerer som det skal!
Test- rapport Testsituasjon Resultat Kommentar Test av PHP-variablene. Sjekke om de er riktig deklarert, og om de kommer med fra form til database Alle variablene som skal leses fra konfigurasjonssiden,
DetaljerEksamen Objektorientert Programmering 2013
Eksamen Objektorientert Programmering 2013 Høgskolen i Østfold 2013-01-07 Emnekode Emne ITF10611 Dato 2013-01-07 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering To A4-ark (fire
DetaljerINF1000: Forelesning 6. Klasser og objekter del 1
INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK 2 Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer navn, brukernavn og telefonnummer.
DetaljerUNIVERSITETET I OSLO
Kandidatnummer: Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1000 Grunnkurs i objektorientert programmering Prøveeksamensdag : Onsdag 12. november 2014 Tid
Detaljer3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster
3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker
DetaljerEKSAMENSFORSIDE SKRIFTLIG EKSAMEN
EKSAMENSFORSIDE SKRIFTLIG EKSAMEN Fag-/kurskode OBJ110 Fag/kurs Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Ansvarlig fakultet ØS Klasse(r)/gruppe(r) IS2 Dato 13.12.2010 Eksamenstid,
DetaljerEksamen. Objektorientert Programmering IGR 1372
+ JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV
DetaljerPG4200 Algoritmer og datastrukturer forelesning 3. Lars Sydnes 29. oktober 2014
PG4200 Algoritmer og datastrukturer forelesning 3 Lars Sydnes 29. oktober 2014 Plan Måling av kjøretid (delvis repetisjon) Matematisk analyse av kjøretid Presentasjon av innlevering 1 I Innlevering 1 Innlevering
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 7
PG4200 Algoritmer og datastrukturer Forelesning 7 Lars Sydnes, NITH 19. mars 2014 I. TERMINOLOGI FOR TRÆR TRÆR Lister: Lineære Trær: Hierarkiske Modell / Språk: Bestanddeler: Noder, forbindelser. Forbindelse
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15
DetaljerOO-eksempel. Modellen ser slik ut: Studenter + antstudenter : int = 0
OO-eksempel I eksemplet er det deklarert tre klasser: 1) Fag (skal instansieres ett objekt for hvert fag) 2) Student (skal instansieres ett objekt for hver student) 3) Studenter (abstrakt klasse skal ikke
DetaljerProgrammering i C++ Løsningsforslag Eksamen høsten 2005
Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det
DetaljerLO191D/LC191D Videregående programmering
LO191D/LC191D Videregående programmering Eksamen mai 2012 Løsningsforslag Oppgave 1 Klassen Destinasjon: // Oppgaven er uklar på hva som skal inn i klassen Destinasjon. // Her følger en minimumsutgave
DetaljerKonstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:
Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i
DetaljerEn klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!
(')!'! "#$% &' # (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( - -'"* 3456% 7/ /! * 2 2! "*"% 8"%% 9 - -!: (! / #
DetaljerUNIVERSITETET 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:
DetaljerINF1000: Forelesning 4. Mer om arrayer Metoder
INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];
Detaljerprogrameksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"
DetaljerUke 11 noen tips og råd + eksempel. Noen muligheter. Valg av datamodell: eksempel. Valg av datamodell: oblig 4
Valg av datamodell: eksempel Uke 11 noen tips og råd + eksempel Eksempel: Du har gitt en fil med opplysninger om hvor mange registrerte tilfeller det var av tre ulike sykdommer i Norge hvert av årene 19502000:
DetaljerMER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:
INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];
DetaljerØvingsforelesning i Matlab TDT4105
Øvingsforelesning i Matlab TDT4105 Øving 6. Tema: funksjoner med vektorer, plotting, preallokering, funksjonsvariabler, persistente variabler Benjamin A. Bjørnseth 13. oktober 2015 2 Oversikt Funksjoner
DetaljerHva er en metode. Hva skjer når vi kaller en metode
Hva er en metode Uke 9 - Repetisjon av metoder, klasser og objekter Innkapsling: private og public Statisk programmering vs. programmering med objeker 18 okt. 2005, Arild Waaler Inst. for informatikk,
DetaljerUNIVERSITETET 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
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet PRØVEEKSAMEN i INF1000 23. november 2004 kl. 14.00 17.00 Dine svar skal skrives på disse oppgavearkene, og ikke på separate ark. Dette gjelder
DetaljerØving 1 TMA4240 - Grunnleggende dataanalyse i Matlab
Øving 1 TMA4240 - Grunnleggende dataanalyse i Matlab For grunnleggende introduksjon til Matlab, se kursets hjemmeside https://wiki.math.ntnu.no/tma4240/2015h/matlab. I denne øvingen skal vi analysere to
DetaljerOPPGAVE 5b og 8b Java Kode
OPPGAVE 5b og 8b Java Kode public class Kant boolean behandlereturavbil() BehandleReturAvBil behandler = new BehandleReturAvBil(this); String regnr; int kmstand, tanknivaa; boolean erskadet; // 1: Få verdiene
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
DetaljerHvordan forklare datamaskinen hva en vektor er
Hvordan forklare datamaskinen hva en vektor er Lars Sydnes 20. mars 2013 1 Introduksjon Det finnes mange måter å presentere vektorbegrepet. Ulike stikkord kan være (i) En vektor er en pil AB som går fra
DetaljerUNIVERSITETET I OSLO
Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på
DetaljerOblig 2 - MAT1120. Fredrik Meyer 23. september 2009 A =
Oblig - MAT Fredrik Meyer. september 9 Oppgave Linkmatrise: A = En basis til nullrommet til matrisen A I kan finnes ved å bruke MATLAB. Jeg kjører kommandoen rref(a-i) og får følge: >> rref(a-i). -.875.
DetaljerEKSAMENSOPPGAVE / EKSAMENSOPPGÅVE
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE Eksamen i: Inf-1049, Introduksjon til beregningsorientert programmering Dato: 14. desember 2018 Klokkeslett: 09.00 13.00 Sted
DetaljerKort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder
INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet
Detaljernotater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS
Mine notater Gløer Olav Langslet Sandvika VGS Et praktisk eksempel med objekter Vi kjenner alle til korktavlen med gule lapper. Vi henger opp en lapp for at vi selv eller andre skal huske eller bli minnet
DetaljerMAT-INF 2360: Obligatorisk oppgave 1
6. februar, MAT-INF 36: Obligatorisk oppgave Oppgave I denne oppgaven skal vi sammenligne effektiviteten av FFT-algoritmen med en mer rett frem algoritme for DFT. Deloppgave a Lag en funksjon y=dftimpl(x)
DetaljerØvingsforelesning i Matlab TDT4105
Øvingsforelesning i Matlab TDT4105 Øving 6. Tema: funksjoner med vektorer, plotting, while Benjamin A. Bjørnseth 12. oktober 2015 2 Oversikt Funksjoner av vektorer Gjennomgang av øving 5 Plotting Preallokering
DetaljerLøsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
DetaljerAlgoritmer og Datastrukturer IAI 21899
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 30. november 2000, kl. 09.00-14.00 LØSNINGSFORSLAG 1 Del 1, Binære søketrær Totalt
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 10. juni 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet er på
DetaljerForelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.
Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene
DetaljerSocket og ServerSocket
Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket
DetaljerGjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7
Gjennomgang prøveeksamen 2014 oppgave 1, 2, 4, 5, 7 1a: Hva er verdien til tall etter at følgende kode er utført: 17 int tall = 5; tall = (tall*3) + 2; 5 15 17 1b: Anta at følgende programsetninger utføres.
DetaljerOblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 20. februar kl 16.00 via Joly. Viktig: les slutten av oppgaven for detaljerte
Detaljer