ROSKILDE TEKNISKE GYMNASIUM Eksponentiel Tværfagligt tema Matematik og informationsteknologi Mathias Turac 01-12-2008
Indhold 1.Opgaveanalyse... 3 1.1.indledning... 3 1.2.De konkrete krav til opgaven... 3 1.3.Analyse af tallene... 4 1.Opstilling af modellen og fastsættelse af interval... 5 1.4.behandling af data... 5 1.5.Model i et interval... 7 1.6.Fordoblingskonstant... 9 2.Netlogo... 10 3.Systemudvikling... 11 3.1.Planlægning og design... 11 3.1.1.Model 1... 12 3.1.2.Model 2... 13 3.1.3.Model 3... 14 3.2.Afprøvning... 15 3.3.Målgruppe... 15 3.4.Licens... 16 3.5.Kildekoder... 16 3.5.1.Model 1... 16 3.5.2.Model 2... 17 3.5.3.Model 3... 18 Side 2 af 17
1. Opgaveanalyse 1.1. indledning Man kan få gærceller til at vokse i flydende næringsstofopløsninger. Man vil kunne konstatere væksten ved, at antallet af gærceller pr. rumfangsenhed øges. Antallet af gærceller vil kunne tælles med jævne mellemrum ved hjælp af et såkaldt tællekammer under mikroskop. Teorien siger, at når gærcellernes vækst for alvor er kommet i gang, vil der være en fase, hvor gærcellerne øges t. Inden denne le fase vil der være en fase, hvor gærcellerne akklimatiserer sig til opløsningen, og hvor antallet således ikke vokser. På et tidspunkt efter den le fase vil øgningen i antallet af gærceller flade ud på grund af næringsmangel og ophobning af affaldsstoffer, og den såkaldte stationære fase vil starte, - denne fase vil så senere gå over i en egentlig dødsfase, hvor antallet af gærceller vil falde. En klasse HTX-elever har lavet et sådant forsøg med gærceller i næringsstofopløsninger i biologilaboratoriet. I løbet af forsøget er der udtaget prøver til bestemte tidspunkter. Antallet af gærceller i den enkelte prøve er derefter talt ved hjælp af et tællekammer, og resultaterne indskrevet i en tabel, som det fremgår nedenfor: 1.2. De konkrete krav til opgaven Forsøgsresultaterne skal bearbejdes og analyseres ud fra en matematisk synsvinkel, og der skal opstilles flere matematiske modeller, der kan forklare data, - de matematiske modeller skal endvidere visualiseres ved hjælp af et IT-produkt udarbejdet med værktøjet NetLogo. Side 3 af 17
I forbindelse med analyserne af de empiriske data og formidlingen af disse skal der blandt andet fokuseres på følgende aspekter: indkredsning af en eventuel fase, udarbejdelse af vækstkurver i forskellige typer koordinatsystemer, bestemmelse af flere forskellige funktionsudtryk (matematiske modeller) til forklaring af væksten (herunder regressionsmodeller), nærmere analyse af de forskellige funktionsudtryk, herunder beregning af fordoblingskonstanter, vurderinger af de forskellige matematiske modellers evne til at afspejle væksten (data), analyse af målgruppe og design af brugergrænseflade til IT-produktet, implementering af to eller flere prototyper ved hjælp af NetLogo, samt dokumentation og test af IT-produktet. publicering af IT-produktet på WWW, beskrivelse af forløbet, samt valg af licens. 1.3. Analyse af tallene Jeg skal inddele data i et interval hvor funktionen er. Jeg ændrer tiderne til observationer. Jeg vælger ikke at lave et interval til at starte med, jeg vælger alle punkter. Jeg indsætter nu punkterne i graph i et enkelt logaritmisk koordinatsystem og et normalt koordinatsystem. Og så tegner jeg punkternes le tendenslinje. Man kan ud fra graferne se at nogen af punkterne har en udvikling. Side 4 af 17
1. Opstilling af modellen og fastsættelse af interval 1.4. behandling af data en ligning ser så ledes ud for at finde a skal jeg finde fremskrivningsfaktoren for hvert punkt og finde gennem snittet. For at finde fremskrivningsfaktoren for hver enkel skal jeg og for at finde gennemsnittet nu ved jeg at hvis jeg skal finde b skal jeg indsætte t og f(0) Nu har jeg hele forskriften som er min første model. Jeg tjekker nu min model ved at beregne f(x) for modellen og tjekker afvigelsen mellem data og min model det gør jeg ved at. Jeg beregner regressionen i graph og beregner afvigelsen lige som før med modellen t data 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 16 18 19 22 24 31 42 49 67 78 90 105 109 122 125 fremskrivningsfaktor 1,07 1,13 1,06 1,16 1,04 1,29 1,35 1,17 1,37 1,16 1,15 1,17 1,04 1,12 1,02 model 15 17,2 19,8 22,7 26,1 30 34,4 39,5 45,4 52,1 59,9 68,8 79 90,7 104 afvigelse 0% 8% 10% 20% 19% 25% 11% 6% 8% 28% 30% 31% 33% 20% 17% 4% regreassion 13 15,3 18 21,2 25 29,4 34,7 40,9 48,2 56,8 66,9 78,8 92,9 109 129 152 16% 5% 0% 12% 14% 23% 12% 3% 2% 18% 17% 14% 13% 0% 6% 22% afvigelse Side 5 af 17 120
y 160 Serie 1 f(x)=15*1.1484928563905^x f(x)=12.958054*1.1784048^x; R²=0.9466 140 120 100 80 60 40 20 x 2 4 6 8 10 12 14 16 den blå er min model og den røde er regression. y Serie 1 f(x)=15*1.1484928563905^x f(x)=12.958054*1.1784048^x; R²=0.9466 100 10 x 2 4 6 8 10 12 14 Side 6 af 17 16 18 20
1.5. Model i et interval Jeg skal nu angive et interval for modellen. Dette gør jeg ud fra fremskrivningsfaktoren. Jeg undersøgervilke fremskrivningsfaktorer der næsten og er efter hindanden 1,07 1,13 1,06 1,16 1,04 1,29 1,35 1,17 1,37 1,16 1,15 1,17 1,04 1,12 1,02 frems kri vni ngs fa ktor jeg vælger at se bort på den fremskrivningsfaktoren 1,37 og vælger 1,17+1,37+1,16+ 1,15+1,17 altså et interval for t [7;12] Da jeg arbejder i observationer skal jeg rykke y aksen for at starte med 0 dvs. 7 bliver til 0 og 8 til 1 osv. Nu skal jeg gør det samme som før finde fremskrivningsfaktoren og regression. Model Regression t data 0 1 2 3 4 5 42 49 67 78 90 105 fremskrivningsfaktor 1,17 1,37 1,16 1,15 1,17 model 42 50,45 60,59 72,78 87,42 105 afvigelse 0% 3% 11% 7% 3% 0% 42,77 51,58 62,2 75,02 90,48 109,1 2% 5% 8% 4% 1% 4% regreassion afvigelse y Serie 2 f(x)=42*1.20112443398143^x f(x)=42.765077*1.2060558^x; R²=0.9806 100 10 x 0.5 1 1.5 2 2.5 3 Side 7 af 17 3.5 4 4.5 5 5.5
y Serie 2 f(x)=42*1.20112443398143^x 100 f(x)=42.765077*1.2060558^x; R²=0.9806 90 80 70 60 50 40 30 20 10 x 1 1.6. 2 3 4 5 6 7 8 Fordoblingskonstant Fordoblingskonstanten definere den værdi x skal være støre for at y bliver fordoblet. Man beregner for dobling ved at Side 8 af 17
2. Netlogo NetLogo er en programmerbar modeling miljø til simulering af fysiske og sociale fænomener. Det var forfattet af Uri Wilensky i 1999 og er i konstant udvikling på Center for Connected Learning and ComputerBased Modeling. NetLogo er særlig velegnet til modellering af komplekse systemer udvikler sig over tid. Modelers kan give instruktioner til hundredvis eller tusindvis af "agenter" alle opererer uafhængigt af hinanden. Dette gør det muligt at undersøge sammenhængen mellem mikro-niveau opførsel af enkeltpersoner og makro-niveau mønstre, der opstår af et samspil mellem mange personer. NetLogo lader eleverne åbne simuleringer og "spille" med dem, udforske deres adfærd under forskellige forhold. Det er også en authoring miljø, der gør det muligt for studerende, lærere og læseplaner udviklere til at skabe deres egne modeller. NetLogo er enkel nok, at elever og lærere kan sagtens køre simulationer eller selv opbygge deres egne. Og det er avanceret nok til at tjene som et effektivt værktøj for forskere på mange felter. NetLogo har omfattende dokumentation og tutorials. Det leveres også med en Modeller Bibliotek, som er en stor samling af præ-skrevet simuleringer, der kan bruges og ændres. Disse simulationer adresse mange indhold områder i det naturlige og sociale videnskaber, herunder biologi og medicin, fysik og kemi, matematik og datalogi og økonomi og social psykologi. Flere model-baseret undersøgelse læseplaner ved hjælp NetLogo er i øjeblikket under udvikling. NetLogo kan også forsyne et klasseværelse participatorisk-simulering værktøj kaldet HubNet. Gennem brug af computere på nettet eller håndholdte enheder såsom Texas Instruments grafregnemaskiner, hver elev kan styre en agent i en simulation. Følg dette link for yderligere information. NetLogo er den næste generation af den række af multi-agent modeling sprog, der startede med StarLogo. Det bygger off funktionaliteten af vores produkt StarLogoT og tilføjer væsentlige nye funktioner og en redesignet sprog og brugergrænseflade. NetLogo er skrevet i Java, så det kan køre på alle større platforme (Mac, Windows, Linux, mfl.). Det afvikles som et separat program. Modeller kan køre Java-applets inde i en webbrowser. http://ccl.northwestern.edu/netlogo/docs/ Side 9 af 17
3. Systemudvikling 3.1. Planlægning og design Jeg skal først og fremmest vælge hvad programmet skal kunne og hvor mange funktioner den skal have. efter det skal jeg finde ud af hvordan den skal se ud og her neden under har jeg tegnet nogle skitser på hvordan den kan se ud skitse 1 skitse 2 skitse 3 skitse 4 skitse 1 er overskuelig og enkelt, man kan indsætte sin fremskrivnings faktor og få grafen og fordoblingskonstanten. skitse 2 er overskuelig men lidt mere avanceret, du kan her indtaste sine x og y værdier og få a og b og så få den til at tegne grafen for den. skitse 3 meget overskuelig og meget enkelt, denne model kan ikke særlig mange ting men den er meget ledt at bruge. Den kan tegne en graf og ikke så meget andet Side 10 af 17
skitse 4 for uoverskueligt men meget avanceret, denne model kan mange ting men er til gengæld ikke så bruger venlig. 3.1.1. Model 1 Denne model ligner lidt min skitse 1, man kan indsætte sin fremskrivningsfaktor og begyndelsesværdi, så beregner programmet x og y værdien og fordoblingskonstanten jeg har tilføjet en slide som kan justere størrelsen af springet i grafen. Jeg har brugt et hjælpe værktøj til netlogo som hedder system dynamic modeler som gør det lettere at bruge netlogo, Dette er så det der er lavet i system dynamic modeler. Denne kode er den vigtigste for at den kan tegne grafen og finde y værdien. og dette er hele kildekoden i Netlogo, koden at så kort fordi hjælpeprogrammet har gjort det så enkelt at man ikke skal skrive nær så meget. Side 11 af 17
3.1.2. Model 2 Denne model ligner lidt min skitse 2, man kan indsætte x og y værdier, så beregner programmet selv fremskrivningsfaktoren og begyndelsesværdien. I denne model har jeg også brugt hjælpeværktøjet system dynamic modeler som har gjort det lettere at bruge netlogo. Denne model i system dynamic er meget simplere og bruges til at beregne hvor mange celler der er. Denne kode er til gengæld lidt mere kompliceret men alligevel ikke den tager bare gennemsnittet af alle fremskrivningsfaktorer. Side 12 af 17
Denne koder gør at programmet tegner grafen. 3.1.3. Model 3 Denne model er det færdige produkt, den indeholder lidt af model 1 og lidt af model 2. Programmet kan finde y værdierne til forskriften, den kan tegne grafen til forskriften, den kan finde forskriften ved at taste x og y værdierne ind. og den kan beregne fordoblingskonstanten. dette får modellen til at finde y værdierne til forskriften dette får modellen til at finde forskriften Side 13 af 17
3.2. Afprøvning Jeg afprøver mit program ved at indtaste resultaterne fra matematikdelen og ender op med dette resultat. Jeg fik denne forskrift I matematikdelen y f(x)=42*1.2011244339814313^x Og programmet fik præcis. Jeg tegnede også grafen i graph altså ingen forskel, det betyder at mit program er helt 5500 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 x -8-6 -4 jeg kan ud fra de to grafer se at jeg har lavet en fejl der stor 4000 i den graph har tegner og 1610 i den programmet har tegnet. Men nu her fejlen rettet. -2 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44-500 -1000-1500 Det var i denne kode jeg havde laver forkert. 3.3. Målgruppe Målgruppen er umiddelbart htx elever, som arbejder med le udvikler. Men mål gruppen kan også være erhvervsvirksomheder som f.eks. banker. De arbejder med renter, så de skal have let mulighed for at beregne hvor meget rente en kunde har efter et hvis antal år eller banken kan oploade programmet til bankens kunder og så kan de selv beregne der rente indtægt. Side 14 af 17
3.4. Licens Eksponetiel udvikling by Mathias Turac is licensed under a Creative Commons Navngivelse 2.5 Danmark License. Based on a work at NetLogo 3.5. Kildekoder 3.5.1. Model 1 netlogo System Dynamic modeler: Side 15 af 17
3.5.2. Model 2 Netlogo: System Dynamic modeler Side 16 af 17
3.5.3. Model 3 Netlogo: System Dynamic model Side 17 af 17