Модифициран модел на ЧКТ

интерактивна графика

Remove["Global`*"]

Въвеждаме нашите символи.

mrbc:=(({{1-f, 1}, {γ0, 1-g}}))

d=(((f-g))^2)+4γ0;

λ1=((2-f-g-(Sqrt[d]))/2);

λ2=((2-f-g+(Sqrt[d]))/2);

Асимпотични стойности, използвани при чертането на графиката.

rasympt=c((λ2-λ1)/((Sqrt[d])(1-λ1)(1-λ2)))//Simplify

masympt=c(1/(2(1-λ1)(1-λ2)))((((λ2-λ1)(f-g))/(Sqrt[d]))+2-(λ1+λ2))//Simplify

Въвеждаме модела рекурентно.

itrbc[{r0_,m0_}]:=mrbc.{r0,m0}+{0,c}

В анализа за хомеостатичност на модела стана ясно, че необходимо изискване е (Subscript[γ, 0])<f g. Нека тогава положим (Subscript[γ, 0])=γ f g, 0≤γ<1, което ще ни даде всички хомеостатични случаи.

γ0=γ f g;

Тогава асимпотичните стойности придобиват вида

rasympt//Simplify//Factor
masympt//Simplify//Factor

Чертаем графиката. Както при предишния модел (на Sally Otto) използваме Dynamic за промяна на параметрите. Тъй като тук сме задали модела итеративно, ще искаме да получим списък със стойностите, като всяка стойност се изчислява на базата на предишната. Тъкмо за тази цел се използва NestList.

NestList[t,x,4]

Чертането на данни по точки става чрез ListPlot. Използвал съм Show, за да съединя двата чертежа (единия на броя клетки, другия на линията със асимпотичната стойност). Използвъл съм и други неща от функционалното програмиране като Apply (@@), но за сега няма да ги коментирам.

(* Enter the initial values *)
(* f=0.05;g=0.1;γ=0.6;c=0.1;right=15;top=60;size=100; *)
f=0.2;g=0.4;γ=0.2;c=2.52;right=40;top=120;

(* Enter the plot *)
Dynamic[
Show[
ListPlot[
Apply[Plus,
Table[
NestList[itrbc,{0,m0},right],
{m0,0,60,20}],
{2}],
Joined->True,PlotRange->{{0,right},{0,top}}],
Plot[masympt+rasympt,{i,0,right},PlotStyle->{Thick,Red,Dashed}]
]
]


(* Enter the sliders *)
Grid[{
{"f",Slider[Dynamic[f],{0.1,1.0}], Dynamic[f]},
{"g", Slider[Dynamic[g],{0.1,1.0}],Dynamic[g]},
{"γ",Slider[Dynamic[γ],{0.0,0.9}],Dynamic[γ]},
{"c",Slider[Dynamic[c],{0,5}],Dynamic[c]}}]

Grid[{
{"Right limit",Slider[Dynamic[right],{15,465,1}],Dynamic[right]},
{"Upper limit",Slider[Dynamic[top],{60,620,1}],Dynamic[top]}
}]

На графиката се виждат дневният брой клетки (т.е. (Subscript[r, n])+(Subscript[μ, n])) и асимптотата, към която той клони.

f и γ запазват смисъла си от предишния модел.

(SuperStar[c]) е средната скорост на работа на костния мозък

g отново характеризира работата на костния мозък и влияе на броя клетки; определя първоначалния "бум" на произвеждане на червени кръвни телца.

Допустими граници за параметрите са:

0<f≤1

0<g≤1

0≤γ<1

(SuperStar[c])>0

При g=1 получаваме идентичен модел с този на Sally-Otto (няма начален "бум").

(Subscript[r, n+1])=γ f (Subscript[r, n])+(SuperStar[c])

Това говори, че основна роля в хомеостатичността играе наличието на (SuperStar[c]) – при c=0 няма да има хомеостатичност.