Ugrás a tartalomhoz

Impulzív jelenségek modelljei

Karsai János

Typotex

11.3. Infúzió vagy tabletta: kétrekeszes modell

11.3. Infúzió vagy tabletta: kétrekeszes modell

Az előző pontban vizsgált egyrekeszes modellek ugyan nem foglalkoznak a gyógyszert befogadó szervezet inhomogenitásával, de elég jól megközelítik az infúzó és injekció ismételt beadása esetén a gyógyszer mennyiségének valódi változását. Tabletták, kapszulák beadásánál ez a modell már nem alkalmazható. Ugyanis általában a bevett gyógyszer (1. rekesz) a gyomorba (nyelv alá, ..., valamilyen közbülső rekeszbe) kerülve (2. rekesz) fokozatosan oldódik ki. Onnan szívódik fel a vérbe (3. rekesz) és úgy kerül a szervezet többi részébe (újabb rekeszek). Egyszerűsítésként a szervezet bizonyos rekeszei összevonhatók. Megjegyezzük, hogy absztrakt esetekben a folyamatot leíró görbék alakjának meghatározásához az összevonás megtehető, konkrét gyógyszerek esetén azonban nem csupán a görbe alakja, hanem azok pontos viselkedése is lényeges, ezért ekkor az egyszerűsítésekkel óvatosan kell bánni. A tablettát jelentő rekesszel viszont a szervezet semmiképpen sem vonható össze. A tabletta bevételekor a neki megfelelő rekesz kezdeti értéket, impulzust kap, ami folyamatosan kiürül.

Tekintsük először a rendszer struktúráját, majd az egyes adagolási módokkal foglalkozunk.

Az első rekeszbe mint közvetítő rekeszbe kerül a gyógyszer, vagy a rekesz maga a bevett gyógyszer, aminek sebességét az I(t)

I ? ( t ) bemeneti függvény írja le. Ez lehet időben folyamatos (nem feltétlen folytonos), vagy impulzív. Folyamatos bemenet most is lényegében infúziót, illetve a szervezet valamely részébe a hatóanyag folyamatos bevitelét jelenti (bőrbe tapaszon, gyomorba szondán keresztül). Az impulzív bemenet tabletta beadást jelenthet. Az első rekeszben a hatóanyag mennyisége x(t) x ? ( t ) . Az első közvetítő rekeszből valamilyen kioldódási kinetika szerinti C(x(t)) C ? ( x ? ( t ) ) sebességgel áramlik az anyag a második rekeszbe. A második rekeszből a hatóanyag felszívódik, kiürül O(y(t),t) O ? ( y ? ( t ) , t ) sebességgel. Itt megengedjük a közvetlen időfüggést is, ami mesterséges méregtelenítésként fogható fel. Az egyszerűség kedvéért feltételezzük, hogy az első rekeszből nincs közvetlen kimenet (a beadott teljes mennyiség hasznosul) és a második rekeszbe nincs bemenet.

A rendszer alakja általános értelemben vett differenciálegyenletként írható fel. Ha a bemenet impulzív, akkor az egyenletben a Dirac-féle ? függvény szerepel, amit impulzív rendszerré írhatunk át.

x'=–C(x)+I(t), y'=C(x)–O(y,t) x ' = - C ? ( x ) + I ? ( t ) , y ' = C ? ( x ) - O ? ( y , t ) (11.3.1)

Részletesen a lineáris kinetika szerinti kioldódás és kiürülés eseteivel fogalkozunk. Más kinetikák vizsgálatát az olvasóra bízzuk (lásd a feladatokat az előző fejezetben). Lineáris kinetikák esetén az alábbi speciális eseteket vizsgáljuk.

A rendszer egy dózis beadása esetén (nincs bemeneti függvény, a dózist az x(t)

x ? ( t ) kezdőértéke jelenti):

x'=–cx, y'=cx–dy, x(0)=x0, y(0)=0. x ' = - c ? x , y ' = c ? x - d ? y , x ? ( 0 ) = x0 , y ? ( 0 ) = 0. (11.3.2)

A rendszerbe állandó I0 sebességgel kerül hatóanyag:

x'=–cx+I0, y'=cx–dy, x(0)=0, y(0)=0. x ' = - c ? x + I0 , y ' = c ? x - d ? y , x ? ( 0 ) = 0 , y ? ( 0 ) = 0. (11.3.3)

A rendszerbe minden t_i

t i pillanatban I_i I i mennyiségű hatóanyag kerül:

x'=–cx, y'=cx–dy, ha t?t_i, x(t_i+0)=x(t_i–0)+I_i. x ' = - c ? x , y ' = c ? x - d ? y , ha t ? t i , x ? ( t i + 0 ) = x ? ( t i - 0 ) + I i . (11.3.4)

Egy dózis bevitele

Tekintsük most a gyógyszer mennyiségének változását egy x0

x0 nagyságú dózis beadása esetén. Ezt a (11.3.2) kezdetiérték-probléma írja le. A rendszer homogén lineáris, a sajátértékek ?_1=–c///<///0 ? 1 = - c ///</// 0 és ?_2=–d///<///0, ? 2 = - d ///</// 0 , ezért a zérómegoldás globálisan aszimptotikusan stabilis. A megoldás jól ismert, de a program ismerete tanulságos, ezért határozzuk meg és ábrázoljuk a megoldásokat. Tegyük fel először, hogy c?d c ? d .

Clear[thsol,x0]; var={x,y}; xydot={–cx,cx–dy};

Clear [ thsol , x0 ] ; var = { x , y } ; xydot = { - c ? x , c ? x - d ? y } ;

thsol[t_]=Simplify[FGen[var,t]/.DSolve[ ODEICGen[xydot,{x0,0},{0,t},var],FGen[var,t],t][[1]]]

thsol [ t_ ] = Simplify [ FGen [ var , t ] /. ? DSolve [ ODEICGen [ xydot , { x0 , 0 } , { 0 , t } , var ] , FGen [ var , t ] , t ] [ 1 ] ]

{e^(–ct)x0,(c(e^(–ct)–e^(–dt))x0/–c+d)}

{ ? - c ? t ? x0 , c ? ( ? - c ? t - ? - d ? t ) ? x0 - c + d }

Az FGen és ODEICGen függvények a DSolve paramétereit állítják elő a var és xydot változókból.

A grafikonon jól fogjuk látni, hogy a hatóanyag fokozatosan kerül át az első rekeszből a másodikba, majd onnan kiürül. A gyógyszer mennyisége mindkét rekeszben exponenciálisan csökken.

parm={c›1,d›0.5,x0›1}; t0=0; t1=5;

parm = { c 1 , d 0.5 , x0 1 } ; t0 = 0 ; t1 = 5 ;

Plot[Evaluate[thsol[t]/.parm],{t,t0,t1}, PlotStyle›{RGBColor[1,0,0],RGBColor[0,0,1]}];

Plot [ Evaluate [ thsol [ t ] /. ? parm ] , { t , t0 , t1 } , PlotStyle { RGBColor [ 1 , 0 , 0 ] , RGBColor [ 0 , 0 , 1 ] } ] ;

Ha c=d

c = d , akkor egy kétszeres sajátérték van, ezért a (11.3.2) probléma megoldása

{x0 e^(–ct),x0 ce^(–ct)t},
{ x0 ? ? - c ? t , x0 ? c ? ? - c ? t ? t } ,

koordináták menete hasonló az előző ábrán látottakkal. A megoldást és az ábrázolást az olvasóra bízzuk.

Folyamatos bevitel

Tekintsük most az infúziós jellegű folyamatos gyógyszerbevitelt. A bevitt anyag mennyiségének megfelelő szinten tartásához kórházi körülmények között a legmegfelelőbb az infúzió. Tegyük fel, hogy az infúzió áramlási sebessége állandó, I0. Ekkor a változást a (11.3.3) kezdetiérték-probléma írja le, ha nem adunk kezdő dózist. A megoldások formális ismerete most is hasznos lesz.

var={x,y};xydot={–cx+I0,cx–dy};

var = { x , y } ; xydot = { - c ? x + I0 , c ? x - d ? y } ;

A rendszer egyensúlyi helyzete:

Solve[xydot=={0,0},{x,y}]

Solve [ xydot ? { 0 , 0 } , { x , y } ]

{y›(I0/d),x›(I0/c)}

{ y I0 d , x I0 c }

Mivel a homogén rendszer zérómegoldása globálisan aszimptotikusan stabilis, ez az egyensúlyi helyzet is az. A paraméterek és a terápiás szint ismeretében az I0 beviteli sebesség meghatározható. A rendszer megoldását az alábbiak szerint kapjuk c?d

c ? d esetén (c=1, d=0.5, I0=0.5) ( c = 1 , d = 0.5 , I0 = 0.5 ) :

thsol[t_]=Simplify[FGen[var,t]/.DSolve[ ODEICGen[xydot,{0,0},{0,t},var],FGen[var,t],t][[1]]]

thsol [ t_ ] = Simplify [ FGen [ var , t ] /. ? DSolve [ ODEICGen [ xydot , { 0 , 0 } , { 0 , t } , var ] , FGen [ var , t ] , t ] [ 1 ] ]

{(I0–e^(–ct)I0/c),((c–ce^(–dt)+d(–1+e^(–ct)))I0/(c–d)d)}

{ I0 - ? - c ? t ? I0 c , ( c - c ? ? - d ? t + d ? ( - 1 + ? - c ? t ) ) ? I0 ( c - d ) ? d }

t0=0;t1=8; parmI={c›1, d›0.5, I0›0.5};

t0 = 0 ; t1 = 8 ; parmI = { c 1 , d 0.5 , I0 0.5 } ;

Plot[Evaluate[thsol[t]/.parmI],{t,t0,t1},PlotStyle›{RGBColor[1,0,0],RGBColor[0,0,1]}];

Plot [ Evaluate [ thsol [ t ] /. ? parmI ] , { t , t0 , t1 } , PlotStyle { RGBColor [ 1 , 0 , 0 ] , RGBColor [ 0 , 0 , 1 ] } ] ;

Formálisan eltérő, de lényegében hasonló a görbék alakja a c=d

c = d esetben is:

{(I0–e^(–ct)I0/c),(e^(–ct)I0(–1+e^(ct)–ct)/c)}.
{ I0 - ? - c ? t ? I0 c , ? - c ? t ? I0 ? ( - 1 + ? c ? t - c ? t ) c } .

A számítógépes megoldást és ábrázolást az olvasóra hagyjuk.

Tablettás adagolás

Most a gyógyszert adagokban, tablettánként juttassuk be az első rekeszbe. Vizsgáljuk meg a (11.3.4) impulzív rendszer tulajdonságait. Most az egyenlő időközönkénti (t_i=iT)

( t i = i ? T ) és egyenlő adagokban (I_i=II) ( I i = II ) való adagolás esetét tekintjük. További vizsgálatok elvégzését feladatként az olvasóra bízzuk. A rendszer alakja:

x'=–c, y'=cx–dy, ha t?iT, x(iT+0)=x(iT–0)+II. x ' = - c , y ' = c ? x - d ? y , ha t ? i ? T , x ? ( i ? T + 0 ) = x ? ( i ? T - 0 ) + II . (11.3.5)

A differenciálegyenletben legyen most is c=1, d=0.5.

c = 1 , d = 0.5 .

var={x,y};xydot={–cx,cx–dy};parm={c›1,d›0.5,x0›1};

var = { x , y } ; xydot = { - c ? x , c ? x - d ? y } ; parm = { c 1 , d 0.5 , x0 1 } ;

Az egységnyi adagok időegységenként követik egymást:

Clear[T,II,x0];Imax=50;Iparm={T›1.,II›1};

Clear [ T , II , x0 ] ; Imax = 50 ; Iparm = { T 1. , II 1 } ;

tn=Table[iT,{i,0,Imax}];

tn = Table [ i ? T , { i , 0 , Imax } ] ;

IIn=Table[{II,0},{i,0,Imax}]/.Iparm;

IIn = Table [ { II , 0 } , { i , 0 , Imax } ] /. ? Iparm ;

Dozis[n_,tn_List,x_List]:=x+IIn[[n]];

Dozis [ n_ , tn_List , x_List ] := x + IIn [ n ] ;

Egyéb adatok:

t0=0;t1=15;x1=y1=0;x2=2.5;y2=3;

t0 = 0 ; t1 = 15 ; x1 = y1 = 0 ; x2 = 2.5 ; y2 = 3 ;

Oldjuk meg a rendszert és ábrázoljuk a megoldások koordinátáit:

x0tab={{0,0}};

x0tab = { { 0 , 0 } } ;

Sol=IDESolve[xydot/.parm,var,tn/.Iparm,Dozis,x0tab,{t,t0,t1}];

Sol = IDESolve [ xydot /. ? parm , var , tn /. ? Iparm , Dozis , x0tab , { t , t0 , t1 } ] ;

SolPlot[Sol,{t,t0,t1},var,PlotRange›All];

SolPlot [ Sol , { t , t0 , t1 } , var , PlotRange All ] ;

Látható, hogy két impulzus között a megoldás a homogén (11.3.2) rendszer megoldása. Globálisan a megoldások átlagban megfelelnek a (11.3.3) inhomogén rendszer megoldásainak. Matematikailag ez éppen a folyamatos hatások pontszerű hatásokkal való közelítésének módszerét illusztrálja. A továbbiakban megvizsgáljuk az adagolás paramétereinek hatását a megoldások viselkedésére.

  • Animáció: a dózisok beadásának ideje változik E

    E

x0tab={{0,0}}; T1=0.8; T2=2; dT=0.4;

x0tab = { { 0 , 0 } } ; T1 = 0.8 ; T2 = 2 ; dT = 0.4 ;

Nyomtatásban az első és utolsó képkockákat láthatjuk.

Table[SolPlot[Evaluate[IDESolve[xydot/.parm,var,tn,Dozis,x0tab,{t,t0,t1}]], {t,t0,t1},var,{{PlotRange›{x1,x2}},{PlotRange›{y1,y2}}}],{T,T1,T2,dT}];

Table [ SolPlot [ Evaluate [ IDESolve [ xydot /. ? parm , var , tn , Dozis , x0tab , { t , t0 , t1 } ] ] , { t , t0 , t1 } , var , { { PlotRange { x1 , x2 } } , { PlotRange { y1 , y2 } } } ] , { T , T1 , T2 , dT } ] ;

  • Animáció: az első dózis változtatása E

    E

Most az első dózist a t0 pillanatban adjuk be, azaz az animáció során az x(t)

x ? ( t ) kezdő értékét változtatjuk. Nyomtatásban az első és utolsó képkockákat láthatjuk.

x0min=0;x0max=2.4;dx0=.6;

x0min = 0 ; x0max = 2.4 ; dx0 = .6 ;

Table[SolPlot[Evaluate[IDESolve[xydot/.parm,var,tn/.Iparm,Dozis,{{x0,0}},{t,t0,t1}]], {t,t0,t1},var,{{PlotRange›{x1,x2}},{PlotRange›{y1,y2}}}],{x0,x0min,x0max,dx0}];

Table [ SolPlot [ Evaluate [ IDESolve [ xydot /. ? parm , var , tn /. ? Iparm , Dozis , { { x0 , 0 } } , { t , t0 , t1 } ] ] , { t , t0 , t1 } , var , { { PlotRange { x1 , x2 } } , { PlotRange { y1 , y2 } } } ] , { x0 , x0min , x0max , dx0 } ] ;

  • Animáció: a dózisok nagysága változik E

    E

Clear[II]; x0tab={{1.,0.}};IImin=0.;IImax=1.;dII=.3; Imax=50;

Clear [ II ] ; x0tab = { { 1. , 0. } } ; IImin = 0. ; IImax = 1. ; dII = .3 ; Imax = 50 ;

IIparm={T›N[1.]}; IIn=Table[{II,0.},{i,0,Imax}];

IIparm = { T N [ 1. ] } ; IIn = Table [ { II , 0. } , { i , 0 , Imax } ] ;

Nyomtatásban az első (nincs ismételt dózis) és utolsó képkockákat láthatjuk.

Table[SolPlot[IDESolve[xydot/.parm,var,tn/.IIparm, Dozis,x0tab,{t,t0,t1}],{t,t0,t1},var,{{PlotRange›{x1,x2}},{PlotRange›{y1,y2}}}],{II,IImin,IImax,dII}];

Table [ SolPlot [ IDESolve [ xydot /. ? parm , var , tn /. ? IIparm , Dozis , x0tab , { t , t0 , t1 } ] , { t , t0 , t1 } , var , { { PlotRange { x1 , x2 } } , { PlotRange { y1 , y2 } } } ] , { II , IImin , IImax , dII } ] ;

A periodikus megoldás létezéséről

Az egyrekeszes modellel kapcsolatos észrevételeink most is helytállóak. A rendszernek nincs konstans egyensúlyi állapota, de a rendszer periodikus, a megoldások korlátosak (ellenőrizendő!), ezért létezik egy globálisan aszimptotikusan stabilis periodikus megoldás. A periodikus megoldás x(t)

x ? ( t ) koordinátájának meghatározásához az egyrekeszes modellnél végzett számolások alkalmazhatók, mivel x(t) x ? ( t ) nem függ y(t) y ? ( t ) -től. Ezután az y(t) y ? ( t ) koordináta meghatározható.

Kísérletek, feladatok

Vizsgáljuk meg ugyanazokat a problémákat, amelyeket már az egyrekeszes modell esetén is tekintettünk.

11.3.1. Feladat.

A gyakorlatban az adagolás ritkán egyenletes, esetleg a beteg elfelejti bevenni a gyógyszert, vagy véletlenszerűen duplán veszi be. Végezzünk kísérleteket ezekre az esetekre is. Ha például a beteg reggel hatkor, délben, és este kap gyógyszert, akkor

tn=Flatten[Table[24i+{6,12,18},{i,0,5}]]

tn = Flatten [ Table [ 24 ? i + { 6 , 12 , 18 } , { i , 0 , 5 } ] ]

A véletlenszerű változás leírására használjuk a Random függvényt. Például

IIn=Table[{II*Random[Integer,{0,2}],0},{i,0,10}]

IIn = Table [ { II * Random [ Integer , { 0 , 2 } ] , 0 } , { i , 0 , 10 } ]

11.3.2. Feladat.

Vizsgáljuk meg a rendszer viselkedését, ha az első rekeszből való felszívódás vagy a második fő rekeszből való kiürülés nem elsőrendű kinetika szerint történik. Próbáljuk ellenőrizni a kísérletek eredményét számításokkal is. Emlékeztetőül, valamely az u függvényre gyakorolt hatás nulladrendű, ha u deriváltjában

kWhich[u///>///0,1,True,0]

k ? Which [ u ///>/// 0 , 1 , True , 0 ]

alakban jelenik meg, ahol figyelembe vesszük, hogy az anyag véges időn belül elfogy. Vegyes kinetika esetén a deriváltban megjelenő alak

kMin[u, K]

k ? Min [ u , K ]

ahol K a két törvény érvényességét elválasztó küszöbérték, ami kísérleti úton ismert.

11.3.3. Feladat.

Határozzuk meg a (11.3.5) rendszerben az impulzusok paramétereit úgy, hogy 0///<///C1?y(t)?C2

0 ///</// C1 ? y ? ( t ) ? C2 teljesüljön. Használjuk fel a periodikus megoldás adatait.