Что это за, казалось бы, случайное значение при выработке сожженных калорий?

3

Я пытался сделать этот вопрос как можно более удобным для программистов, но, пожалуйста, дайте мне знать, если вы что-то не понимаете.


Я разработчик программного обеспечения, и я просматриваю какой-то старый код, и я наткнулся на формулу для определения сожженных калорий.

METs = (1.5245 * milesPerHour) + 0.1128;
caloriesBurned = (durationMinutes * ((METs * 3.5 * kilograms) / 200.0f));

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

Я провел некоторое исследование и обнаружил, что «нормальная» формула для определения количества сожженных калорий:

Energy (kcal) = METs * weight (kg) * time (hours)

Я полагаю, что числа в первом уравнении произошло, потому что кто-то просто подключил некоторые значения в Excel и использовал формулу, отображаемую на линии тренда в качестве оценки ,

Числа во втором уравнении полностью ускользают от меня. Я думал, что это может быть преобразование кДж в ккал, но уравнение уже выводит калории

Затем я заметил, что продолжительность в коде указана в минутах, но ожидаемая формула требует часов. Тем не мение, (3.5/200) нет смысла переводить с минут на часы. (По совпадению, это близкое приближение 0,016 ≈ 0,0175)


Я думаю, что нашел ресурс оригинальный разработчик должен был использовать:

Конверсии рабочих единиц

1 MET = 3,5 мл / кг / мин
1 MET = 1 ккал / кг / час
...
METS в ккал / мин = умножить METS x 3,5 x вес тела в кг, затем разделить на 200

Я до сих пор понятия не имею, где это 200 исходит из, и я думаю, что ресурс может быть ошибочным в любом случае, так как он, кажется, приравнивает калории к млО 2


NB: Я не ищу новую / "правильную" формулу, к сожалению, я не могу это изменить. Однако я хотел бы иметь возможность добавлять комментарии к коду, чтобы я мог понять, если / почему это неправильно, если я посмотрю на него снова в будущем.


TL; DR:

Что означают произвольные числа в приведенных выше формулах?

James Webster
источник
Какова скорость обмена веществ во второй строке? Откуда ты это взял? MET - это единица интенсивности, где один MET определенный как 3,5 мл кислорода на кг в минуту, так что 3,5 - это просто число, чтобы получить хороший диапазон значений MET, 1 MET - это то, что вы используете для сидения.
Mårten
«metaolicRate» был просто справкой по программированию, которую я пропустил. Он должен читать MET (и делает сейчас). Я понимаю что такое мет является и как это обычно используется. Я пытаюсь понять, что здесь делал предыдущий программист и что означают произвольные числа.
James Webster
Итак, 3,5 * nrMets * nrMinutes * nrKgs должно быть количеством мл кислорода, которое вы потребляете для определенного веса в течение определенного количества минут, при условии, что существует линейный коэффициент между потребляемыми калориями и миллилитрами потребителя кислорода, этот код, по-видимому, Предположим, что этот коэффициент равен 200. Не уверен, что 200 - хорошее число, но мне кажется разумным, что это число не является точным по природе, потому что биология. Вероятно, он выбран для того, чтобы его было легко рассчитать.
Mårten
assume это слово, о котором я беспокоюсь Кажется, только что вытащил из ниоткуда. Существует эквивалент калорий в мл кислорода, но этот коэффициент равен 3,5 * 60 = 210 (возможно, просто ошибка в ресурсе?). Это можно увидеть по эквивалентности 1 MET = 3.5ml/kg/min ≣ 1 kcal/kg/hr ≣ 60 kcal/kg/min
James Webster
1
Это приложение для отслеживания пробежек, поэтому можно ходить, бегать, бегать, прыгать и т. Д. Любые движения на основе ног снаружи. Я также ожидаю, что ходьба должен быть другим уравнением для бега, так как требует меньше движения, а не просто медленного движения
James Webster

Ответы:

1

Если вы возьмете себе копию Компендиум физических упражнений с таблицей, это может помочь.

Взять вторую строку первым:

caloriesBurned = (durationMinutes * ((METs * 3.5 * kilograms) / 200.0f));

Похоже, что это простое алгебраическое манипулирование стандартной формулой, используемой для преобразования потребления кислорода (объем O2 в литрах [VO2]) в Ккал. По сути, ваше тело требует кислорода для преобразования энергии, хранящейся в его сахарах и жирах в АТФ, чтобы питать ваши мышцы, этот процесс называется Цикл лимонной кислоты ,

МЕТ в этой строке мало Метаболический эквивалент задачи и является лишь абстрактным способом количественной оценки относительной стоимости энергии для деятельности, ряд сайтов предлагают MET оценки для конкретных видов деятельности, например.

Тем не мение:

MET       = 3.5 * VO2ml/massKg/min^-1

Kcal/Min ~= RespiratoryExchangeRatio * VO2litre / 1000
         ~= 5 * massKg * VO2litre / 1000 (sugar)   
         ~= massKg * VO2litre / 200 (sugar)        

Замечания: RespiratoryExchangeRatio является 5.0 для сахара, но падает до 4,86 для освобождения энергии от жира.

Таким образом, в течение первых нескольких минут относительно интенсивных упражнений (игнорируйте первые несколько секунд, как анаэробные, и любое сжигание жира через несколько минут, или любые спринты, которые превысят вашу способность организма обрабатывать АТФ и привести к накоплению молочной кислоты) этот бит кода кажется правильным:

 caloriesBurned = (durationMinutes * ((METs * 3.5 * kilograms) / 200.0f));

Тревожная линия:

METs = (1.5245 * milesPerHour) + 0.1128;

Как вы указали, уравнение используется в качестве общего уравнения для оценки МЕТС, для ходьбы, бега, бега, пропуска и т. Д. Но расход энергии не является линейным, и существуют другие факторы, такие как градиент, сопротивление ветра, поверхность внешние весовые коэффициенты ..... которые вступают в игру при получении оценки MET, даже для типичной быстрой ходьбы, на уровне, который он оценивается неправильно. Поскольку при ходьбе со скоростью 4 мили в час обычно присваивается значение 5 METS в то время как ваше уравнение будет оценивать эту активность на 6.2 METS , переоценивая сжигание калорий на 24%

arober11
источник