Sisällysluettelo:

(Hyvin yksinkertainen) Taudin mallintaminen (käyttämällä Scratchia): 5 vaihetta
(Hyvin yksinkertainen) Taudin mallintaminen (käyttämällä Scratchia): 5 vaihetta

Video: (Hyvin yksinkertainen) Taudin mallintaminen (käyttämällä Scratchia): 5 vaihetta

Video: (Hyvin yksinkertainen) Taudin mallintaminen (käyttämällä Scratchia): 5 vaihetta
Video: Matemaattinen mallinnus: epidemia, rajoitustoimet ja toinen aalto 2024, Heinäkuu
Anonim
(Erittäin yksinkertainen) Taudin mallinnus (Scratchin avulla)
(Erittäin yksinkertainen) Taudin mallinnus (Scratchin avulla)

Tänään simuloimme sairauden puhkeamista, ja se on mikä tahansa sairaus, ei välttämättä COVID-19. Tämä simulaatio sai inspiraationsa 3blue1brownin videosta, johon linkitän. Koska tämä on vedä ja pudota, emme voi tehdä niin paljon kuin pystymme JS: n tai Pythonin kanssa, mutta myös tyhjästä on hyötyä, joten jos haluat nähdä, miten mallinnat taudinpurkauksen JS: llä, voit tarkastella artikkeli, jonka kirjoitin taudinpurkausten mallintamisesta täällä. Aloitetaan nyt!

Huomautus: Yllä oleva kuva on peräisin quantum9innovation -simulaatiosta (ei Instructables -käyttäjä), jonka voit katsoa täältä.

Tarvikkeet:

Sinä tulet tarvitsemaan:

  • Scratch -tili (voit rekisteröityä täällä
  • Perustiedot vetämisestä ja pudottamisesta (mutta käyn silti läpi koodin)
  • Tietokone tai laite, jolla voit ohjelmoida (mikä sinulla todennäköisesti on, koska luet tätä)
  • Valinnainen - Katso 3b1b -video, se antaa sinulle jonkinlaisen käsityksen siitä, mitä ohjelmoimme.

Vaihe 1: Perusasetukset

Perusasetukset
Perusasetukset

Luo ensin projekti, nimeä se mitä haluat ja poista sitten olemassa oleva sprite kankaalta. Voit tehdä tämän napsauttamalla spriten roskakoripainiketta. Nyt meillä on tyhjä kangas, ja voit muuttaa taustavärin haluamaksesi.

Luo seuraavaksi uusi sprite ja maalaa oma sprite. Tee siitä sininen piste. Tämä sprite edustaa yhteisön alttiita väestöryhmiä, ja meillä on myös toipunut/poistettu ja tartunnan saanut väestö, josta mallin nimi SIR (herkkä, tartunnan saava, toipunut/poistettu) tulee. Muista nimetä sprite "tartuttamattomaksi".

Luo nyt (uudelleen) uusi sprite ja nimeä se sprite1, jonka myös maalaamme itse. Nimeä se "Sprite1" ja luo kaksi pukua, joista toisen tulee olla punainen piste ja toisen harmaa. Tee niistä puku1 ja puku2. Nämä kaksi edustavat tartunnan saaneita (punainen piste) ja toipuneita/poistettuja (harmaa piste) populaatioita.

Vaihe 2: Koodin määrittäminen alttiille väestöryhmille

Koodin määrittäminen alttiille väestöryhmille
Koodin määrittäminen alttiille väestöryhmille

Olemme nyt määrittäneet alttiiden väestökoodien. Luomme ensin kaksi muuttujaa: ihmiset ja tartunnan saaneet. Muuttuja "Ihmiset" edustaa väestöä ja sitä voidaan muuttaa sen mukaan, kuinka monta ihmistä haluamme simulaatioon, ja simulaatio muuttuu vastaavasti. Luomme myös tartunnan saavan muuttujan, ja tämä edustaa väestöä, jolla on/oli sairaus. Molempien näiden muuttujien tulisi olla globaaleja muuttujia, eli niitä voidaan käyttää kaikissa spriiteissä.

Kopioi seuraavaksi yllä oleva koodi tartuttamattomaan spriteen. Käydään läpi, mitä se tekee. Kun ohjelma käynnistyy, sprite on piilotettu, joten meidän ei tarvitse laittaa samaa koodia klooneille itse spriteen, mikä auttaa. Sitten asetamme kaksi muuttujaa (tartunnan saaneet ja ihmiset) sellaisiksi kuin haluamme niiden olevan, tässä tapauksessa määritämme tartunnan saaneiksi 1 ja ihmiset 100: een. Tämä tarkoittaa, että aloitamme yhdestä tartunnan saaneesta henkilöstä ja 100 ihmisestä, lukuun ottamatta tartuntaa. Suoritamme sitten silmukan, joka ajaa ihmisten muuttujan määrän, tässä tapauksessa 100. Siirrymme satunnaiseen asemaan ja luomme sitten spriten kloonin. Menemme satunnaiseen asemaan, koska tällä tavalla meillä ei ole pisteitä, jotka liikkuvat yhteen suuntaan, ja sen sijaan kutelemme satunnaisissa paikoissa.

Vaihe 3: Koodin määrittäminen tartunnan saaneelle ja poistetulle Sprite -laitteelle

Koodin määrittäminen tartunnan saaneelle ja poistetulle Sprite -laitteelle
Koodin määrittäminen tartunnan saaneelle ja poistetulle Sprite -laitteelle

Siirry nyt Sprite1 -spriteen ja kopioi yllä oleva koodi. Käydään se läpi. Kun ohjelma käynnistyy, sprite piilotetaan ja suorittaa sitten silmukan tartunnan saaneelle määrälle. Se menee satunnaiseen asemaan ja luo itsestään kloonin.

Vaihe 4: Haavoittuvan väestön koodin täyttäminen

Haavoittuvan väestön koodin täyttäminen
Haavoittuvan väestön koodin täyttäminen

Käydään läpi asiat, jotka meidän on tehtävä:

  • Tartuttaa
  • Liikkua

Vaihda tartunnan saamattomaan sprite -tilaan, kopioi yllä oleva koodi ja käydään läpi, miten se suorittaa tartunnan ja siirtää sen loppuun. Ensinnäkin se menee pukuun, eikä tämä todellakaan ole välttämätöntä, mutta meillä on se siellä, joten jos päätämme lisätä lisää, meidän ei tarvitse huolehtia siitä, että puvut vaihtuvat uusiin. Seuraavaksi se näyttää itsensä. Jos muistat, piilotimme alkuperäisen spriten, joten myös kloonit piilotetaan, mitä emme halua. Suoritamme sitten ikuisen silmukan, joka ajaa koko ohjelman, kunnes joku napsauttaa stop -merkkiä tyhjästä. Liukumme satunnaiseen asentoon 1 sekunnin ajan ja tarkistamme sitten, että olemme reunalla, jolloin pomppimme siitä. Seuraavaksi, jos kosketamme punaista väriä, kloonataan sitten Sprite1 (tartunnan saaneita/poistettuja populaatioita) ja lisätään tartunnan saaneita muuttujia yhdellä, minkä jälkeen spriteemme poistetaan.

Vaihe 5: Saastuneen/poistetun koodin viimeistely

Saastuneen/poistetun koodin suorittaminen
Saastuneen/poistetun koodin suorittaminen

Vaihdamme Sprite1: een, luomme uuden luettelon, ajastimen. Tämä luettelo seuraa, kuinka kauan piste on saanut tartunnan, ja tietyn ajan kuluttua se joko kuolee tai toipuu, tulee osaksi poistettua/palautettua populaatiota, ja sitä edustaa harmaa piste, jota ei voida tartuttaa uudelleen.

Kopioi yllä oleva koodi ja käydään se läpi. Kun aloitamme kloonina, lisäämme ohjelman sekuntien kokonaismäärän ajastinluetteloon ja tarkistamme tämän nähdäksemme, kuinka kauan se on saanut tartunnan, ja muutamme sen palautettavaksi vastaavasti. Piilotamme ajastinluettelon ja vaihdamme sitten klooniasun tartunnan saaneeseen pukuun joka tapauksessa ja näytämme sitten spriteemme. Suoritamme nyt ikuisen silmukan, jossa tapahtuu useita asioita: käskemme kloonia liukumaan satunnaiseen asentoon joka sekunti, tarkistamme, onko tartunnan saava muuttuja suurempi kuin itse populaatio, jolloin asetamme sen populaatioon ja lopuksi menemme tarkistamaan ajastinluettelon ensimmäisen kohteen nähdäksemme, onko siitä kulunut yli 5 sekuntia, ja jos se on totta, vaihdamme puvun palautettuun pukuun, jotta emme voi tartuttaa, ja poistamme kohteen ajastimesta.

Suositeltava: