Симулируйте модель ответа инсулина глюкозы с различными начальными условиями

В этом примере показано, как симулировать ответы инсулина глюкозы для нормальных и диабетических предметов.

Загрузите модель ответа инсулина глюкозы. Для получения дополнительной информации о модели, смотрите раздел Background в Симуляции Ответа Инсулина Глюкозы.

sbioloadproject('insulindemo', 'm1')

Модель содержит различные начальные условия, сохраненные в различных вариантах.

variants = getvariant(m1);

Получите начальные условия для пациента диабетика типа 2.

type2 = variants(1)
type2 = 
   SimBiology Variant - Type 2 diabetic (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Plasma Volume ... Value               1.49
   2                 parameter    k1                Value               0.042
   3                 parameter    k2                Value               0.071
   4                 parameter    Plasma Volume ... Value               0.04
   5                 parameter    m1                Value               0.379
   6                 parameter    m2                Value               0.673
   7                 parameter    m4                Value               0.269
   8                 parameter    m5                Value               0.0526
   9                 parameter    m6                Value               0.8118
   10                parameter    Hepatic Extrac... Value               0.6
   11                parameter    kmax              Value               0.0465
   12                parameter    kmin              Value               0.0076
   13                parameter    kabs              Value               0.023
   14                parameter    kgri              Value               0.0465
   15                parameter    f                 Value               0.9
   16                parameter    a                 Value               6e-05
   17                parameter    b                 Value               0.68
   18                parameter    c                 Value               0.00023
   19                parameter    d                 Value               0.09
   20                parameter    kp1               Value               3.09
   21                parameter    kp2               Value               0.0007
   22                parameter    kp3               Value               0.005
   23                parameter    kp4               Value               0.0786
   24                parameter    ki                Value               0.0066
   25                parameter    [Ins Ind Glu U... Value               1
   26                parameter    Vm0               Value               4.65
   27                parameter    Vmx               Value               0.034
   28                parameter    Km                Value               466.21
   29                parameter    p2U               Value               0.084
   30                parameter    K                 Value               0.99
   31                parameter    alpha             Value               0.013
   32                parameter    beta              Value               0.05
   33                parameter    gamma             Value               0.5
   34                parameter    ke1               Value               0.0007
   35                parameter    ke2               Value               269
   36                parameter    Basal Plasma G... Value               164.18
   37                parameter    Basal Plasma I... Value               54.81

Подавите информационное предупреждение, которое выдано во время симуляций.

warnSettings = warning('off','SimBiology:DimAnalysisNotDone_MatlabFcn_Dimensionless');

Создайте объекты SimFunction симулировать ответ инсулина глюкозы для нормальных и диабетических предметов.

  • Задайте пустой массив {} для второго входного параметра, чтобы обозначить, что модель будет симулирована с помощью основных значений параметров (то есть, никакое сканирование параметра не будет выполняться).

  • Задайте плазменные концентрации глюкозы и инсулина как ответы (выходные параметры функции, которая будет построена).

  • Задайте разновидности Dose как дозируемые разновидности. Эта разновидность представляет начальную концентрацию глюкозы в начале симуляции.

normSim = createSimFunction(m1,{},...
             {'[Plasma Glu Conc]','[Plasma Ins Conc]'},'Dose')
normSim = 
SimFunction

Parameters:

Observables: 

            Name                Type                 Units         
    _____________________    ___________    _______________________

    {'[Plasma Glu Conc]'}    {'species'}    {'milligram/deciliter'}
    {'[Plasma Ins Conc]'}    {'species'}    {'picomole/liter'     }

Dosed: 

    TargetName       TargetDimension   
    __________    _____________________

     {'Dose'}     {'Mass (e.g., gram)'}


TimeUnits: hour

Для страдающего от диабета пациента задайте начальные условия с помощью варианта type2.

diabSim = createSimFunction(m1,{},...
             {'[Plasma Glu Conc]','[Plasma Ins Conc]'},'Dose',type2)
diabSim = 
SimFunction

Parameters:

Observables: 

            Name                Type                 Units         
    _____________________    ___________    _______________________

    {'[Plasma Glu Conc]'}    {'species'}    {'milligram/deciliter'}
    {'[Plasma Ins Conc]'}    {'species'}    {'picomole/liter'     }

Dosed: 

    TargetName       TargetDimension   
    __________    _____________________

     {'Dose'}     {'Mass (e.g., gram)'}


TimeUnits: hour

Выберите дозу, которая представляет одну еду 78 граммов глюкозы в начале симуляции.

singleMeal = sbioselect(m1,'Name','Single Meal');

Преобразуйте информацию о дозах в формат таблицы.

mealTable  = getTable(singleMeal);

Симулируйте ответ инсулина глюкозы для нормального предмета в течение 24 часов.

sbioplot(normSim([],24,mealTable));

Figure contains an axes object. The axes object with title States versus Time contains 2 objects of type line. These objects represent Glucose appearance.Plasma Glu Conc, Insulin secretion.Plasma Ins Conc.

Симулируйте ответ инсулина глюкозы для диабетического предмета в течение 24 часов.

sbioplot(diabSim([],24,mealTable));

Figure contains an axes object. The axes object with title States versus Time contains 2 objects of type line. These objects represent Glucose appearance.Plasma Glu Conc, Insulin secretion.Plasma Ins Conc.

Выполните использование скана варианты

Предположим, что вы хотите выполнить скан параметра с помощью массива вариантов, которые содержат различные начальные условия для различных ухудшений инсулина. Например, модель m1 имеет варианты, которые соответствуют низкой чувствительности инсулина и высокой чувствительности инсулина. Можно симулировать модель для обоих условий через один вызов объекта SimFunction.

Выберите варианты, чтобы отсканировать.

varToScan = sbioselect(m1,'Name',...
                    {'Low insulin sensitivity','High insulin sensitivity'});

Проверяйте, какие параметры модели хранятся в каждом варианте.

varToScan(1)
ans = 
   SimBiology Variant - Low insulin sensitivity (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Vmx               Value               0.0235
   2                 parameter    kp3               Value               0.0045

varToScan(2)
ans = 
   SimBiology Variant - High insulin sensitivity (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Vmx               Value               0.094
   2                 parameter    kp3               Value               0.018

Оба варианта хранят альтернативные значения для Vmx и kp3 параметры. Необходимо задать их как входные параметры, когда вы создаете объект SimFunction.

Создайте объект SimFunction отсканировать варианты.

variantScan = createSimFunction(m1,{'Vmx','kp3'},...
          {'[Plasma Glu Conc]','[Plasma Ins Conc]'},'Dose');

Симулируйте модель и постройте результаты. Run 1 включайте результаты симуляции для низкой чувствительности инсулина и Run 2 для высокой чувствительности инсулина.

sbioplot(variantScan(varToScan,24,mealTable));

Figure contains an axes object. The axes object with title States versus Time contains 4 objects of type line. These objects represent Run 1 - Glucose appearance.Plasma Glu Conc, Run 1 - Insulin secretion.Plasma Ins Conc, Run 2 - Glucose appearance.Plasma Glu Conc, Run 2 - Insulin secretion.Plasma Ins Conc.

Низкая чувствительность инсулина приводит к увеличенной и продленной плазменной концентрации глюкозы.

Восстановите предупреждение настроек.

warning(warnSettings);