1 Obligatorisk oppgave 3 i FYS-MEK/F1110 våren 2005 Tema: Kaotisk oppførsel for sprettball på oscillerende underlag. Versjon 30.03.05. Prosjektoppgaven legges ut 30. mars og leveringsfrist er 8. april. Vi vil heller ikke praktisere en streng leveringsfrist ved denne obligen, men man gjør seg ofte en bjørnetjeneste ved å gå ut over fristen, fordi arbeidet da går ut over studiet forøvrig. Vi henstiller derfor alle til å forsøke å levere innen fristen 8. april! Besvarelsen kan leveres direkte til gruppelærer eller legges i oblig-innleveringshylla på ekspedisjonskontoret i Fysikkbygget. Det er også mulig å levere obligen elektronisk. Om lag 80% av obligoppgavene må være tilfredsstillende besvart for å få obligen godkjent. PClaben på rom 245 (evt også 329) vil bli åpne store deler av dagene 4. og 5. april. Kom innom for å få hjelp! Oblig 3 bygger i tillegg til denne oppgaveteksten på en elementær innføring Kaos i FYS- MEK1110 skrevet av Arnt Inge Vistnes tilgjengelig fra kursets websider. Stoffet blir delvis forelest 30. mars. Som vedlegg til denne oppgaveteksten finnes noen Matlabdetaljer som kan være til nytte ved løsning av oppgaven. Denne prosjektoppgaven ble først utarbeidet av Espen Jettestuen og Arnt Inge Vistnes våren 2002, men er noe modifisert hvert år siden da. Vi hadde et håp om å tilby en oblig basert på dobbeltpendelen i år, men likningsystemet blir da såpass mye mer komplisert at vi ga til slutt opp denne ideen, i alle fall i år. Krav til innlevert oppgave Ved alle pålagte innleveringer av oppgaver ved Fysisk institutt - enten det dreier seg om obligatoriske oppgaver, hjemmeeksamen eller annet - forventes det at arbeidet er et resultat av studentenes egen innsats. Å utgi andres arbeid for sitt eget er uetisk og kan medføre sterke reaksjoner fra instituttets side. Derfor gjelder følgende: Hvis du tar med tekst, programkode, illustrasjoner og annet som andre har laget, må du tydelig merke det og angi hvor det kommer fra. Det er greit å få hint om hvorledes en oppgave kan løses, men dette skal eventuelt brukes som grunnlag for egen løsning og ikke kopieres uendret inn. Kursledelsen kan innkalle studenter til samtale om deres innlevering. Det er fullt mulig å samarbeide om løsning av obliger og prosjektoppgave, men Fysisk institutt krever da at alle medlemmene av gruppen som samarbeider kan gjøre rede for samtlige detaljer i det innleverte arbeidet. Dessuten må alle ha utført en rimelig del av det hele og kunne identifisere sin del. Hvis du er i tvil om hva som er lovlig samarbeid, kan du kontakte gruppelærer eller kursansvarlig. Såfremt reglene ovenfor holdes oppfordrer instituttet studenter til å samarbeide om oppgaveløsninger siden diskusjon studenter imellom fremmer læringsprosessen.
Side 2 Modellen Systemet vi skal studere er en ball som spretter fullstendig elastisk mot et vibrerende underlag. Dette systemet viser seg å gi en ulineær sammenheng mellom bevegelsen av ballen og underlaget. I et separat skriv (nevnt ovenfor) er det utledet en modell som ender opp med to iterative avbildninger. I denne obligen skal vi utforske litt hvordan kaotiske system oppfører seg. For å få dette til, må det lages et dataprogram som bruker de nevnte avbildningene. Når programmet er på plass, kan man utforske systemet ved å foreta noen numeriske forsøk. I skrivet nevnt ovenfor (og i forelesningen 30. mars) kom vi fram til følgende iterasjonslikninger (iterasjonsavbildning) for vårt system: φ n 1 + = ( γ n + φ n ) mod 2π γ n 1 + = γ n + αcos( φ n + γ n ) (1) (2) Her er φ en fase og γ en såkalt normalisert hastighet. Tillegget mod 2π betyr at vi trekker fra eller legger til 2π tilstrekkelig mange ganger til at φ n+1 hele tiden holder seg mellom 0 og 2π. Dersom vi starter med en gitt initialbetingelse (φ 0,γ 0 ), kan vi da lett finne fase og normalisert hastighet (φ 1,γ 1 ) ved neste sprett. Slik kan vi fortsette i det uendelige. Men skal det komme fysikk ut av vårt arbeide, må vi passe på å skjønne hva våre to parametre egentlig betyr. Dette er en av de viktige utfordringene ved denne obligen, for formlene og diagrammene kan lett forbli så abstrakte at man ikke skjønner hva de faktisk vil si i praksis. Spør og grav på gruppene (eller via mail) inntil du skjønner hele opplegget. I skrivet fra Arnt Inge ble det nevnt at dersom vi treffer underlaget akkurat når det har sitt høyeste punkt (hvor hastigheten til underlaget er lik null), med en ball-hastighet akkurat så stor at ballen treffer underlaget igjen nøyaktig neste gang det når sitt høyeste punkt, vil alle (φ n,γ n ) være identiske. Starter vi systemet på en verdi litt forskjellig fra dette fikserpunktet, argumenterte vi i skrivet for at løsningene antakelig vil variere litt, men hele tiden vil de være i nærheten av fikserpunktet. Vi sa da at dette var et elliptisk fikserpunkt. På forelesningen ble det argumentert for at et annet fikserpunkt vil være at ballen treffer underlaget akkurat når det er på sitt laveste punkt, med en hastighet akkurat så stor at ballen treffer underlaget på ny nøyaktig neste gang det er på sitt laveste punkt. Igjen skulle vi da forvente at alle (φ n,γ n ) ville være identiske. Men vi argumenterte også for at dersom f.eks. hastigheten var ørlite lavere eller høyere enn perfekt verdi, vil løsningene for de kommende sprettene fjerne seg mer og mer fra fikseringspunktet. Slike fikseringspunkt kalles hyperbolske. Argumenter for at de to fikseringspunktene nevnt ovenfor har følgende koordinater i faserommet vårt:
Side 3 ( φγ, ) ( φγ, ) = = π --, 2π 2 3π -----, 2π 2 Elliptisk fikserpunkt Hyperbolsk fikseringspunkt Vi skal undersøke litt nærmere hva en kaotisk oppførsel vil si i praksis, og knytte noen tråder over til filosofiske aspekter ved fysikken: Er naturen deterministisk eller ikke? Selve oppgavene Oppgave 1 Finn fram til hvordan φ og γ opprinnelig er definert i skrivet som ligger på weben, og forklar med ord hva de to størrelsene sier oss. Hva betyr det at φ = π/2 eller π, og at γ = π eller 2π? Oppgave 2 Beregn (analytisk) ut fra gitte formler hvor stort utslag underlaget har for α = 1.0 dersom frekvensen for svingningene er 1 Hz (én svingning i sekundet). [Husk at ω er vinkelfrekvens, ikke frekvens.] Hva kreves av γ for at tilnærmingen utslaget for svingingene til underlaget er lite relativt til hoppehøyden til ballen skal være rimelig godt tilfredsstilt? Oppgave 3 Lag et dataprogram (f.eks. i Matlab) som utfører iterasjonen i likningene 1 og 2 ovenfor. Velg α=1.0. Resultatene skal presenteres som punktplot over alle punktene (φ n,γ n ) som systemet gjennomløper f.eks. de første 1000 (eller 2000?) ganger etter oppstart. Programmet bør lages som en funksjon slik at du kan gi (φ 0,γ 0 ) som inputvariable når du starter programmet i Matlab (se tips sist i denne oppgaveteksten). Programmet skal vedlegges besvarelsen. Oppgave 4 Bruk programmet du lagde i oppgave 3 og plottene av iterasjonspunktene (i faserommet) som programmet lager, for å undersøke hvordan systemet utvikler seg i tid for verdier i nærheten av fikseringspunktene nevnt øverst på denne siden (bruk gjerne φ- og γ-verdier mellom +/- 0.001 til +/-0.5 unna det eksakte fikseringspunktet). La systemet gjennomløpes opp til 1000 ganger (gjerne opp til 2000 ganger for hyperbolsk fikseringspunkt dersom ikke regnetiden blir for lang). Kan du se hvorfor fikspunktene kalles elliptiske eller hyperbolske?
Side 4 Ta vare på noen få figurer som viser karakteristiske trekk i resultatene. Dette utvalget av figurene kan gjerne klistres inn elektronisk i det dokumentet du bruker for å lage rapport, eller du kan ta dem ut som papirutskrift og legge dem ved en papirutskrift av oppgavebesvarelsen. MERK: Pass på at x-aksen (φ-aksen) i plottet går fra 0 til 2π, og at man velger samme skalering for y-aksen (γ-aksen) for alle grafer innen samme beregningserie (f.eks.0-10). Pass i så fall på at skaleringen velges slik at alle beregnede punkter ligger innenfor plotteområdet. [I Matlabtipsene sist i denne oppgaveteksten står det hvordan du kan velge skalering av aksene ved plotting i Matlab.] Oppgave 5 Beskriv særskilt med ord (dvs kvalitativt) hvordan systemet utvikler seg når man velger et elliptisk startpunkt (φ 0,γ 0 ) = π --, 2π + 0.15 2 og tilsvarende hvordan systemet utvikler seg for et hyperbolsk startpunkt (φ 0,γ 0 ) = 3π -----, 2π + 0.15 (Kan kanskje her være lurt å bare undersøke de første 5 eller 10 eller 20 stegene for seg, og ikke gi alle 1000-2000 punktene i samme 2 figur!) Oppgave 6 Forsøk å velge litt andre initialpunkter enn de som er nær de to fikserpunktene nevnt på side 2. La systemet utvikle seg f.eks. 2000 step hver gang. Sjekk i det minste følgende initialpunkter: (φ 0,γ 0 ) = (2.5, 5.0), (4.71, 6.23), (4.6, 5.1) og (3.5, 6.0). Legg gjerne ved et par utvalgte figurer (ikke for mange!) hvor du peker på morsomme strukturer som fremkommer. Forsøk å si kort med ord hva disse detaljene i figurene innebærer fysisk sett. Oppgave 7 (noe vanskeligere) I denne oppgaven kan du more deg med å følge med hvor raskt systemet divergerer for to nærliggende initialbetingelser. Dette har sammenheng med den såkalte Lyapunov-eksponenten nevnt i forelesningen den 30. mars (også nevnt i skrivet fra AIV). Lag et lett modifisert program (nesten makent til det du allerede har laget) for å kunne følge utviklingen av forskjellen i punkter i faserommet mellom to forløp som starter fra nær identiske initialbetingelser. Med andre ord, start to prosesser samtidig, hvor initialbetingelsene er hhv: (φ 0,γ 0 ) og (φ 0,γ 0 )=(φ 0 +δφ,γ 0 +δγ) hvor δφ og δγ er små tall (f.eks. 0.001) Følg de to forløpene, og beregn (φ n,γ n ) og (φ n,γ n ), men plott bare logatitmen til absoluttverdien av differansene dividert med den opprinnelige forskjellen i startbetingelse. Matematisk
Side 5 kan dette skrives som følger (dersom vi bare konsentrerer oss om hvordan den normaliserte hastigheten γ endrer seg, dvs dersom δφ=0): f n = log( abs( γ ' n γ n ) δγ) (Skriver log siden naturlige logaritmer i Matlab oppnås ved funksjonen log.) For oppgave 7 holder det å gjøre beregninger for 20-30 steg, og plotte f n som funksjon av n. Det kan nå lønne seg å fjerne xlim og ylim i Matlabprogrammet slik at Matlab selv velger akseskaleringen. Velg initialbetingelser i et hyperbolsk område. Omtrent hvor mange ganger større er forskjellen i normaliserte hastigheter φ mellom de to tidsforløpene etter 20 steg enn den initielle forskjellen? Forsøk med tre ulike δγ, nemlig 1.0e-3, 1.0e-6 og 1.0e-9. Finner du noe lovmessighet når du sammenlikner disse resultatene? (Husk vi får en god del støy i beregningene når vi bare har sett på forskjellen mellom to tidsutviklinger.) Forsøk til slutt også med δγ=1.0e-18. Klarer du å skjønne resultatet? (Hint: Husk at en datamaskin har en begrenset nøyaktighet i hvordan tall kan beskrives.) [Du kan også evt. forsøke å se hvordan forskjellen mellom to tidsforløp endrer seg over tid også når man er i et elliptisk løsningsområde. Resultatene blir imidlertid ikke så enkle å forstå som for et hyperbolsk område. Grunnen er at man også for et elliptisk løsningsområde får en viss tidsutvikling i forskjellen mellom de to prosessene, men nå er den i all vesentlighet dominert av datamaskinens begrensede oppløsning.] Hva slags slutning trekker du ut fra resultatene du får fra beregningene for et hyperbolsk (kaotisk) område i faserommet? Er det fysiske systemet da deterministisk, eller er det det ikke? Det kan være nyttig å huske at kvantefysikkens uskarphetsrelasjon tilsier at det er umulig å bestemme både hastighet og posisjon med ubegrenset nøyaktighet. Vedlegg: Noen Matlab-tips Klippet nedenfor viser hvordan du kan få plottet et todimensjonalt datasett som punkter (ikke som linjer), pluss å fastsette variasjonsområdet for x- og y-akse. plot(phi,gamma,'.r','markersize',4); % Kan evt bruke MarkerSize 5 i stedet for 4. xlim([0 2.0*pi]); ylim([0 10.0]); (Merk det står punktum r i plotkommandoen. Punktumet er ofte lett å overse). For å redusere fasen slik at den blir et tall mellom 0 og 2π, kan en bruke modulo-funksjonen i Matlab: mod(fase, 2.0*pi) Ellers er det to funksjoner som er aktuelle å bruke, nemlig abs og log. Bruk hjelpfunksjonen i Matlab for å finne ut hvordan dersom du vil vite flere detaljer.
Side 6 For å kunne gi parametrene direkte fra Matlab hver gang du kjører programmet, kan du lage programmet som en funksjon med to kalle-parametre. Velg samme navn på funksjonen som på filen du lagrer den i: function kaos(phi_0,gamma_0) if nargin~=2 error('feilmelding dersom ikke både phi_0 og gamma_0 er gitt ved kall til funksjonen') end;... phi(1)= phi_0;... end; MERK: Du bør i begynnelsen av programmet du lager allokere plass til alle matrisene (tallrekkene) du har bruk for, ellers kan beregningene ta svært mye tid. Skal du for eksempel bruke en tallrekke phi for å lagre verdier etter som de beregnes (for så å plotte dem ut til slutt), kan du for eksempel skrive tidlig i programmet (før løkka): nmax = 2000;... phi = zeros(1,nmax);...