INHOUDSOPGAWE:

(Baie eenvoudig) Siektemodellering (met behulp van Scratch): 5 stappe
(Baie eenvoudig) Siektemodellering (met behulp van Scratch): 5 stappe

Video: (Baie eenvoudig) Siektemodellering (met behulp van Scratch): 5 stappe

Video: (Baie eenvoudig) Siektemodellering (met behulp van Scratch): 5 stappe
Video: Kastrup Λ Vervaeke: Mind-uploaden en schaduwintegratie 2024, November
Anonim
(Baie eenvoudig) Siektemodellering (met behulp van Scratch)
(Baie eenvoudig) Siektemodellering (met behulp van Scratch)

Vandag simuleer ons 'n siekte-uitbraak, aangesien dit 'n siekte is, nie noodwendig COVID-19 nie. Hierdie simulasie is geïnspireer deur 'n video van 3blue1brown, waarna ek sal skakel. Aangesien dit sleep -en -laat val is, kan ons nie soveel as moontlik met JS of Python doen nie, maar daar is ook voordele daaraan verbonde om kras te gebruik, dus as u wil sien hoe u 'n uitbraak met JS kan modelleer, kan u my sien artikel wat ek hier geskryf het oor die modellering van siekte -uitbrake. Nou, laat ons begin!

Opmerking: die prent hierbo is afkomstig van 'n simulasie deur quantum9innovation (nie 'n Instructables -gebruiker nie) wat u hier kan sien.

Benodighede:

Jy benodig:

  • 'N Krasrekening (u kan hier aanmeld
  • Basiese kennis van sleep en neerslaan (maar ek sal nog steeds deur die kode gaan)
  • 'N Rekenaar of toestel waarmee u kan programmeer (wat u waarskynlik het, aangesien u dit lees)
  • Opsioneel - kyk na die 3b1b -video, dit gee u 'n idee van wat ons programmeer.

Stap 1: Basiese opstelling

Basiese opstelling
Basiese opstelling

Eerstens, laat ons 'n projek skep, noem dit wat u wil, en verwyder dan die bestaande sprite op die doek. U kan dit doen deur op die asblikknoppie op die sprite te klik. Nou het ons 'n leë doek, en u kan die agtergrondkleur verander na wat u wil.

Maak dan 'n nuwe sprite, en in plaas daarvan om 'n bestaande sprite te gebruik, verf u eie sprite. Maak dit 'n blou kolletjie. Hierdie sprite verteenwoordig die vatbare bevolking van die gemeenskap, en ons sal ook 'n herstelde/verwyderde en besmette bevolking hê, waar die naam van die model, SIR (vatbaar, besmet, herstel/verwyder) vandaan kom. Maak seker dat u die sprite 'onbesmet' noem.

Skep nou (weer) 'n nuwe sprite, en noem dit sprite1, wat ons self ook sal verf. Gee dit 'Sprite1' en skep 2 kostuums, die een moet 'n rooi kol wees en die ander 'n grys kolletjie. Maak hulle kostuum1 en kostuum2, onderskeidelik. Hierdie twee verteenwoordig die besmette (die rooi kolletjie) en die herstelde/verwyderde (die grys punt) populasies.

Stap 2: Stel die kode op vir die vatbare bevolking

Die opstel van die kode vir die vatbare bevolking
Die opstel van die kode vir die vatbare bevolking

Ons het nou die vatbare bevolkingskode opgestel. Ons skep eers 2 veranderlikes: mense en besmet. Die veranderlike "Mense" verteenwoordig die populasie en kan verander word volgens hoeveel mense ons in ons simulasie wil hê, en die simulasie sal dienooreenkomstig verander. Ons skep ook 'n geïnfekteerde veranderlike, en dit verteenwoordig die populasie wat die siekte gehad het. Beide hierdie veranderlikes moet globale veranderlikes wees, wat beteken dat hulle in alle sprites gebruik kan word.

Kopieer die kode hierbo na die onbesmette sprite. Kom ons loop deur wat dit doen. As die program begin, word die sprite versteek, en daarom hoef ons nie dieselfde kode vir klone in die sprite self te plaas nie, wat help. Dan stel ons die twee veranderlikes (besmet en mense) op wat ons wil hê hulle moet wees; in hierdie geval stel ons die besmette op 1 en mense op 100. Dit beteken dat ons begin met een persoon wat besmet is en 100 totale mense, insluitend die besmette persoon. Ons voer dan 'n lus uit, wat die hoeveelheid wat die mense -veranderlike is, in hierdie geval 100 uitvoer. Ons gaan na 'n ewekansige posisie en skep dan 'n kloon van die sprite. Ons gaan na 'n ewekansige posisie, want op hierdie manier het ons nie 'n ry kolletjies wat in een rigting beweeg nie, en in plaas daarvan in ewekansige posisies paai.

Stap 3: Stel die kode op vir die besmette en verwyderde sprite

Die opstel van die kode vir die besmette en verwyderde sprite
Die opstel van die kode vir die besmette en verwyderde sprite

Skakel nou oor na die "Sprite1" sprite en kopieer dan die kode hierbo. Kom ons gaan daardeur. As die program begin, word die sprite versteek, en loop dan 'n lus vir die hoeveelheid waarop die besmette is ingestel. Dit gaan na 'n ewekansige posisie en skep 'n kloon van homself.

Stap 4: Voltooiing van die vatbare bevolkingskode

Voltooiing van die vatbare bevolkingskode
Voltooiing van die vatbare bevolkingskode

Kom ons gaan deur die dinge wat ons moet doen:

  • Infekteer
  • Beweeg

Skakel oor na die Uninfected sprite, kopieer die kode hierbo en laat ons kyk hoe dit die besmetting en beweging voltooi. Eerstens gaan dit oor kostuum een, en dit is regtig nie nodig nie, maar ons het dit daar, so as ons besluit om meer by te voeg, hoef ons nie bekommerd te wees oor die verandering van kostuums in die nuwes wat ons bygevoeg het nie. Vervolgens wys dit homself. As u dit onthou, het ons die oorspronklike sprite versteek, sodat die klone ook versteek word, wat ons nie wil hê nie. Ons voer dan 'n ewige lus uit, wat die hele program sal uitvoer totdat iemand van voor af op die stopteken klik. Ons gly vir 1 sekonde na 'n ewekansige posisie en kyk dan of ons op die rand is, in welke geval ons daarvan weerkaats. As ons dan aan die rooi kleur raak, kloon ons dan Sprite1 (die besmette/verwyderde populasie) en verhoog die geïnfekteerde veranderlike met 1, gevolg deur ons sprite uit te vee.

Stap 5: Voltooiing van die besmette/verwyderde kode

Voltooiing van die besmette/verwyderde kode
Voltooiing van die besmette/verwyderde kode

As ons oorskakel na Sprite1, skep ons 'n nuwe lys, timer. Hierdie lys hou tred met hoe lank 'n kolletjie besmet is, en na 'n sekere tyd sterf of herstel dit, word dit deel van die verwyderde/herstelde bevolking en word dit voorgestel deur 'n grys punt wat nie weer besmet kan word nie.

Kopieer die kode hierbo en laat ons daardeur gaan. As ons as 'n kloon begin, voeg ons die totale aantal sekondes in waarna die program in die timerlys verskyn, en kyk of dit besmet is, en verander dit om dienooreenkomstig herstel te word. Ons verberg die timerlys en skakel dan die kloonkostuum oor na die besmette kostuum, en wys dan ons sprite. Ons voer nou 'n ewige lus uit waarin verskeie dinge gebeur: ons sê vir die kloon om elke sekonde na 'n ewekansige posisie te gly, kyk of die geïnfekteerde veranderlike groter is as die populasie self, in welke geval ons dit aan die populasie stel, en Uiteindelik gaan ons na die eerste item van die tydlys om te sien of dit meer as 5 sekondes was, en as dit waar is, skakel ons die kostuum oor na die herstelde kostuum sodat ons nie kan besmet nie, en verwyder dan die item uit die timer.

Aanbeveel: