информационный портал по вопросам биомедицинской инженерии

Сейчас на сайте 0 пользователей и 0 гостей.

Вход в систему

Недавно присоединились

  • Олег Матвеевич
  • вусенко алена ива...
  • Краснозобов Жигер...
  • Корсаков Александ...
  • Пирогов Дмитрий В...
аватар: АЛЬ-факих али мохаммед

Исходные данные
 
Аллометрическое уравнение строилось исходя из данных на графике энергетической цены бега животных [рис1]. Данный график был сканирован и оцифрован  в виде таблицы 1.

Вес тела г Потребление кислорода,
мл O2∙г-1∙км -1
18.4704 2.82814
38.4477 2.09352
233.544 0.643557
376.425 1.09749
2486.81 0.316357
376.425 1.09749
2486.81 0.316357
18160.4 0.184661
1.170089e+005 0.105532

All5
s=load('11.txt');
x=s(:,1);
y=s(:,2);
A=s';
loglog(x,y,'go')

Построение аллометрического уравнения

Построим аллометрическое уравнение и выразим массу животного через потребление кислорода (V_O2) и скорость бега (v):
[AEq,KSample,Psi,Prob,Index]=OAllom(all_data', 3, {'v','V_O2','m'}, 'm&s');
m={mean=7661.0231;std=4463.9517}*(v^1.547)*(V_O2^-3.4942)
Видно, что при составлении аллометрического уравнения непосредственно по данным из таблицы 1 получаются очень большие значения стандартного отклонения для константы (коэффициент вариации ~ 0,6), так как при этом игнорируется переход от зависимостей в пределах одного животного к зависимостям между животными разной массы.
С физической точки зрения, энергетическая цена бега для одного животного оценивается по коэффициенту наклона линии регрессии (d(V_O2)/dv), поэтому сначала определим коэффициент для всех представленных 
животных по отдельности, а затем построим регрессионную модель зависимости коэффициентов от массы животных.
Поскольку исходные зависимости линейны, значения матрицы наблюдений логарифмировать не требуется. Меняем в файле OAllom.m строки
Alog=log(A0);  Alog=A0;
и
AEq=[AEq '*(' Names{1,i} '^' num2str(-Psi(i,1)/Psi(LeftNumber,1)) ')'];
AEq=[AEq '+(' num2str(-Psi(i,1)/Psi(LeftNumber,1)) '*' Names{1,i} ')'];                
Находим значения энергетической цены бега для животного заданной массы в виде коэффициентов линейной регрессии.
>> [AEq,KSample,Psi,Prob,Index]=OAllom(data(1:4,1:2)', 2, {'v','V_O2'}, 'm&s');
V_O2={mean=5.9767;std=0.24792}*(v^-0.60096)
>> [AEq,KSample,Psi,Prob,Index]=OAllom(data(1:5,1:2)', 2, {'v','V_O2'}, 'm&s');
V_O2={mean=6.0326;std=0.23946}*(v^-0.63174)
>> [AEq,KSample,Psi,Prob,Index]=OAllom(data(5:7,1:2)', 2, {'v','V_O2'}, 'm&s');
V_O2={mean=3.0565;std=0.85672}*(v^0.038575)
 
>> [AEq,KSample,Psi,Prob,Index]=OAllom(data(2:6,1:2)', 2, {'v','V_O2'}, 'm&s');
V_O2={mean=3.9062;std=0.56774}*(v^0.012763)
>>  [AEq,KSample,Psi,Prob,Index]=OAllom(data(2:7,1:2)', 2, {'v','V_O2'}, 'm&s');
V_O2={mean=4.4066;std=0.9445}*(v^-0.14201)

function all5
 s=load('11.txt');
x=s(:,1);
y=s(:,2);
A=s';
loglog(x,y,'go')
 
LeftNumber=2;
Names{1,1}='body mass, kg ';Names{1,2}='mlO2*kg**-1*km**-1';
Est='ma';
[AEq,KSample,Psi,Prob,Index]=OAllom(A,LeftNumber,Names,Est);
AEq
 k=-Psi(1,1)/Psi(2,1);
xSort=sort(x);
yAllom1=mean(KSample)*xSort.^k;
loglog(x,y,'o',xSort,yAllom1);
xlabel('body mass, g');
ylabel('mlO2*kg**-1*km**-1');
title(AEq);
grid on;


mlO2*kg**-1*km**-1=8.4961*(body mass, kg ^-0.38917)
 
AEq =
 
mlO2*kg**-1*km**-1=8.4961*(body mass, kg ^-0.38917)
 

Библиографический список:

1. Исакевич В. В. Заметки по моделированию процессов и систем:
БизнесСофтСервис — 121 с.
2. Шмидт-Ниельсен К. Размеры животных: почему они так важны?: Пер. с. англ. — М.: Мир, 1987. — 259 с., ил.
3. Оцифровка графиков и диаграмм — GetData Graph Digitizer. [Электронный ресурс]. URL: http://getdata-graph-digitizer.com/ru (дата обращения 17.04.2013).

Комментарии