Implementasjon og simulering av menneskets oksygenmetabolisme
Master thesis
Permanent lenke
http://hdl.handle.net/11250/2616085Utgivelsesdato
2017Metadata
Vis full innførselSamlinger
Sammendrag
I denne oppgaven ble det undersøkt om modelleringsspråket CellML er egnet for å implementere den etablerte dynamiske modell av fysiologiske respirasjonen. Modellen ble også implementert i en annen plattform hvis det viste seg at CellML ikke er egnet.
CellML er basert på markeringsspråket XML og ble laget for å enkelt modellere komplekse biologiske prosesser og dele modellene uten tap av informasjon med andre. OpenCOR er den mest kjente plattformen som brukes til å modellere og simulere CellML-modeller.
CellML er ikke et egnet språk å modellere den dynamiske modellen på grunn av svak debugging. Selv om modellen er riktig i følge plattformen, kan det likevel være skjulte feil i modellen. For at CellML skal være absolutt brukbart en del verktøy og andre programmer brukes for å full utnyttelse av CellML og OpenCOR. CellML støtter ikke tidsforsinkelser. Det er uvisst om CellML kan kobles opp mot fysisk maskinvare for å kjøre det i sanntid, men mest sannsynligvis nei. På grunn av disse grunnene ble den dynamiske modellen implementert i Matlab, da Matlab har bedre beduggingsmuligheter og millioner av brukere.
Den dynamiske modellen består av et sett av differensialligninger med tidsforsinkelser. Disse ligningene ble skrevet helt ut og deretter brukt for å implementere modellen med Eulers metode. Resultatene viste at det er feil med implementeringa av modellen, fordi det oppsto komplekse verdier i beregningen som forplantet seg i løsningen av modellen. De komplekse verdiene oppsto på grunn av logaritmer og divisjoner av null når konsentrasjonen i etappene skulle beregnes. Matlab har også en innebygd funksjon, dde23, for å regne differensialligninger med tidsforsinkelser. Resultatene fra dde23-funksjonen ga også dårlige resultater. Med parametre som unngår logaritmer og divisjoner av null i beregningen av etappekonsentrasjon, så viste resultatet for modellen i 0.018 sekund mens parametre som dividerer og tar logaritmen av null viste funksjonen resultatet for modellen i 25 sekunder. Modellen må implementeres med en annen løsning og ligingene må undersøkes enda grundigere. I verste fall, mens høyst usannsynlig, er det noe feil med den etablerte modellen.