Я пытался сделать этот вопрос как можно более удобным для программистов, но, пожалуйста, дайте мне знать, если вы что-то не понимаете.
Я разработчик программного обеспечения, и я просматриваю какой-то старый код, и я наткнулся на формулу для определения сожженных калорий.
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:
Что означают произвольные числа в приведенных выше формулах?
assume
это слово, о котором я беспокоюсь Кажется, только что вытащил из ниоткуда. Существует эквивалент калорий в мл кислорода, но этот коэффициент равен 3,5 * 60 = 210 (возможно, просто ошибка в ресурсе?). Это можно увидеть по эквивалентности 1 MET = 3.5ml/kg/min ≣ 1 kcal/kg/hr ≣ 60 kcal/kg/min