Programmering i Java med eksempler



Like dokumenter
Programmering i Java med eksempler

Simulering av differenslikninger

Simulering av differenslikninger

Numerisk løsning av differensiallikninger Eulers metode,eulers m

Differensiallikninger definisjoner, eksempler og litt om løsning

Tallfølger er noe av det første vi treffer i matematikken, for eksempel når vi lærer å telle.

Oblig4 - forklaringer. Arne og Ole Christian

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

MAT-INF 1100: Obligatorisk oppgave 1

INF1000: noen avsluttende ord

INF1000 oppgaver til uke 38 (17 sep 23 sep)

Kanter, kanter, mange mangekanter

løsningsforslag-uke5.txt

Projeksjoner av vektorer Analyse av værdata

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

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

MAT-INF1100 Oblig 1. Teodor Spæren, brukernavn teodors. September 16, 2015

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

PXT: Flasketuten peker på

Øving 6 Tallfølger og differenslikninger

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

INF1000: noen avsluttende ord

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

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

Programmering i C++ Løsningsforslag Eksamen høsten 2005

UNIVERSITETET I OSLO

INF Uke 11. Ukeoppgaver oktober 2012

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Emnebeskrivelse og emneinnhold

Rekurrens. MAT1030 Diskret matematikk. Rekurrens. Rekurrens. Eksempel. Forelesning 16: Rekurrenslikninger. Dag Normann

MAT-INF 1100: Obligatorisk oppgave 1

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

i=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

INF Uke 10. Ukesoppgaver oktober 2012

Ukeoppgaver 2: sep (INF Høst 2010)

Hangman. Level. Introduksjon

i=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

INF1000 : Forelesning 4

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Endret litt som ukeoppgave i INF1010 våren 2004

MAT-INF 1100: Obligatorisk oppgave 1

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Læreplan i Programmering og modellering - programfag i studiespesialiserende utdanningsprogram

Debugging. Tore Berg Hansen, TISIP

Hvordan løse problemer med programmering?

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

Filbehandling Tekstfiler

ITGK - H2010, Matlab. Repetisjon

Løsningsforslag ukeoppg. 3: sep (INF Høst 2011)

Oblig3Pi- en matematisk rettet obligatorisk oppgave nr. 3 (av 4) i INF1000 ett av to alternativer for oblig 3.

Rekker (eng: series, summations)

2 Om statiske variable/konstanter og statiske metoder.

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

UNIVERSITETET I OSLO

INF oktober Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

VELKOMMEN TIL MAT-INF1100(L) Knut Mørken Rom 1033, Niels Henrik Abels hus

IN1000 Obligatorisk innlevering 7

Tiden går og alt forandres, selv om vi stopper klokka. Stoffet i dette kapittelet vil være en utømmelig kilde med tanke på eksamensoppgaver.

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Enkel lesing og skriving i Java

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Argumenter fra kommandolinjen

VELKOMMEN TIL MAT-INF 1100

Seminaroppgaver IN1010, uke 2

UNIVERSITETET I OSLO

Rekursjon. Binærsøk. Hanois tårn.

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Eksempel: Body Mass Index (BMI) Forelesning inf Java 3. Ferdig program (første del) Ferdig program (siste del)

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

UNIVERSITETET I OSLO

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

Oppsummering fra sist

MAT-INF 1100: Obligatorisk oppgave 1

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

INF Obligatorisk innlevering 5

UNIVERSITETET I OSLO

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

Beregning av med svært mange desimaler

Oblig3Pi - en matematisk rettet obligatorisk oppgave nr. 3 (av 4) i INF1000 høsten 2010 ett av to alternativer for oblig 3.

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Velkommen til INF2100

UNIVERSITETET I OSLO

Oblig4 - forklaringer. Arne og Ole Christian

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Rekker (eng: series, summations)

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.

Eksamen MAT1005 Matematikk 2P-Y Høsten 2013

INF1000 : Forelesning 3

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

Løsningsforslag ukeoppg. 9: okt (INF Høst 2011)

Transkript:

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 generelle løsninger I stedet: direkte simulering av (1) Program skal Spørre etter og lese skjerm Løse differenslikning,,, og maks. (nmax) fra Skrive resultat til fil Skal noe gjøres med svaret, feks. plotting, kan vi ikke bare la tallene rulle over skjermen

Differenslikn. p.324 Lesing av parametere Vi bruker easyio, beskrevet i Rett på Java, kap. 3 Spørsmål Deklarasjon av objekt og utskrift Out skjerm=new Out();... skjerm.outln( gi koeff. b og c ); Innlesning Deklarasjon av objekt og innlesning In les=new In();... b=les.indouble();c=les.indouble();les.inline();

Differenslikn. p.424 Skriving til fil lett! Omhandlet i Rett på Java, kap. 9 Dersom vi vil åpne og skrive på en fil solv.dat, brukes filnavn som argument i deklarasjon av ny Out Out utf=new Out( solv.dat );... utf.out(x);...... utf.close(); Filen må lukkes etter at den er ferdig skrevet. Vi bruker enkel uformattert utskrift ikke pent, men det virker.

Differenslikn. p.524 Etterbehandling av fil Vi vil se på den på skjermen under Linux. Skriv less solv.dat Vi vil bytte navn til res.dat mv solv.dat res.dat Eller fjerne fila rm solv.dat Et vanlig ønske er å framstille datane grafisk. I dag viser jeg bare resultatet, men sier ikke hvordan!

Differenslikn. p.624 Selve beregningen Den numeriske kjernen i løsningen er en løkke. Naturlig ide: bruk av array... double[] x;... x=new double[nmax+1]; * gir indekser 0...nmax *... for(i=2;i =nmax;i++) x[i]= b*x[i 1] c*x[i 2];... ; Array er unødvendig bruk av plass. Viktig å unngå det? Neppe her, men i andre sammenhenger.

Differenslikn. p.724 Uten bruk av arrayer La oss bruke x og xprev for. Verdier skal være rikte ved hver slutten av hver løkke Bom 1 for(i=2;...) x= b*x c*xprev; xprev=x; ; Galt! Hvorfor? Bom 2 for(i=2;...) xprev=x; x= b*x c*xprev; Galt igjen! Hvorfor? ; og

Differenslikn. p.824 Bruk av mellomlagring Dette virker Vi bruker en ekstra variabel tmp for(i=2;...) tmp=x; x= b*x c*xprev; xprev=tmp; ; Nå kan vi sette sammen programmet. Filer andreor.java og andarray.java Observasjon Tenk igjennom hvordan formelene i Kalkulus kan kodes i Java, med testing av de tre tilfeller etc. Det blir et mye lengre program enn det ovenfor.

Differenslikn. p.924 Test-eksempel; Fibonacci følgen, Svar: 1, 1, 2, 3, 5, 8,... Kommando og dialog med programmet linux java Ordto gi koeff. b og c 1 1 gi initialbet. b0 og b1 1 1 gi antall ledd (max n) 8

Fibonacci-test; resultat linux 0 1.0 1 1.0 2 2.0 3 3.0 4 5.0 5 8.0 6 13.0 7 21.0 8 34.0 cat solv.dat God regel: program testes på eksempel med kjent svar Differenslikn. p.1024

Nytt eksempel Likner på det i kompendiumet, 4.2.,,, Karakteristisk polynom=0 Løsning som oppfyller initialbetingelser Differenslikn. p.1124

"! # & Simulering med, Dialog med programmet gi koeff. b og c 10.33333333 3.33333333 gi initialbet. b0 og b1 1.0 0.33333333 gi antall ledd (max n) 12 Løsning bør være nær Spesielt når. % $ Differenslikn. p.1224

' Graf Det ser bra ut fram til Hva er feil?. Da går det helt galt! Differenslikn. p.1324

( % # % # %) #, ( ) & & * - Hva går galt Feilkilder i simulering 1. Initialbetingelser gis inn unøyaktig, feil er av orden 2. Koeffissienter gis også inn feil 3. Avrundingsfeil påvirker utregning av hver ny pkt. 1 gir litt gale initialbetingelser; løsning modifiseres ala +* der og er av orden. Nå vil når Ved omtrent blir det andre ledd av orden 1.. Uansett hva vi gjør vil dette fenomenet dukke opp for tilstrekkelig stor pga. avrunding i pkt. 1 3 Differenslikn. p.1424

Enkel populasjonsdynamikk Vanlig enkel lov for populasjonsvekst.. der teller generasjoner el. Løsning... vokser over alle grenser populasjonen dør ut For enkel modell som igorerer bla.a. begrensninger i tilgang på ressurser. Differenslikn. p.1524

0 0 % # Ikkelineær modell Negativ konsekvens av konkurranse antas proporsjonal med kvadratet poulasjonen (sjansen for at to individer treffes tilfeldig og slåss om mat etc. er proposjonal med kvadratet)... Bytte av variabel. : Kan ikke løses i formel (hvorfor?), men enkel å simulere Interessante tilfeller. Program ulin.java Differenslikn. p.1624

, 3 21 465 Kurver merket med. Konvergens (ser det ut som). Differenslikn. p.1724

& % 7 # 7 7 7 Likevektsløsning Det synes som Det finnes løsning har en grense,, når 7 7 =konstant:. som gir 7 er en likevektsløsning Differenslikn. p.1824

: " 3 8 1 1 &, 495 Stadig konvergens når. Differenslikn. p.1924

" 8 1 1 &, 4 5 :;1 1 nærmer seg 2-periodisk når. Differenslikn. p.2024

" " 8 1 1, 4=< 495 Likevekt er instabil, omstiller seg til periodisk løsning. (Kan vise at dette gjelder for ) Differenslikn. p.2124

" 3 1 1 &, 4 5 > 1 1 Større perioder når. Differenslikn. p.2224

" 3 1 1 Differenslikn. p.2324 > 1 1 4 5,?.

Bemerkninger Simuleringer antyder Likevekt instiller seg for små Likevekt instabil for større instiller seg Mer komplekst bilde med økende Kunne gjort teori for Stabilitet av likvekt periodisk løsning Forklaring (matematisk) av de periodiske løsningen... Enkelt eksempel på utvikling mot kaos (se slutten av kap. 4 i Kalkulus) Virkelige populasjonsvariasjoner har ofte et periodisk preg Differenslikn. p.2424