Калькулятор препарата Half Life с PHP - PullRequest
2 голосов
/ 10 февраля 2012

В Интернете я обнаружил файл excel, который помогает при расчете периода полувыведения лекарств и помогает определить, какая часть данного лекарства может остаться в системе на основе

  • Hal-life Hour Number
  • The quantity of the Drug taken per dose
  • how much is in your system from previous doses

Ниже приведен снимок экрана файла Excel, на котором показаны выходные данные с уже выполненными вычислениями, а также показаныфактическая математика, которая используется для каждого дня ...

  • Столбцы A, B, C, D, E и т. д. это день 24 часа
  • Столбец D Строка 6это период полураспада для лекарства в часах
  • Из рисунка ниже вы можете видеть, что расчет выполнен и что значение затем используется в уравнении следующего дня

enter image description here


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

Моя цель - создать инструмент, похожий на этот файл Excel, но с PHP, я не уверен, как это сделать, но я думаю, что все ответы прямо здесь, на рисунке выше, вплоть до математической части.

Глядя на D3 Я вижу, что оно принимает ...

  1. D2, значение которого 30 в изображении
  2. Itзатем добавляет C3 значение
  3. Затем умножает это на 1/2
  4. Я не уверен, что делает ^ хотя?
  5. Тогда он делит 24 hours by D6, который содержит номер часа

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

  • Количество дней для расчета (мое изображение показывает как 4 дня, поэтому, если я пройду 10 дней, оно покажет ежедневные результаты до 10 дней)
  • Затем массивЕжедневная сумма, потребляемая в мг (поэтому на моем изображении это будет массив с 30, 0, 30, 0, 0, 0, 0
  • Затем я также передаю период полураспада в часах, поэтому на моем изображении период полураспада используемого лекарства составляет 4,5 часа

. Затем эта функция возвращает массив с данными за каждый день,должны показать остаткиДобавляя мг в свою систему на каждый день, я могу затем использовать эти результаты данных для построения диаграмм, графиков или просто списка

Я был бы признателен за любую помощь, чтобы начать, я думаю, я могу справиться с этиммоя собственная, но мне нужна помощь, чтобы получить математическую часть 100%, выше я разбиваю уравнение, как я его вижу, пожалуйста, помогите мне лучше понять, например, я не уверен, что ^ делает в уравнении или как это сделать в PHP

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

1 Ответ

1 голос
/ 14 февраля 2012
function calcHalfLife( $mgTaken , $drugHalfLifeHours , $day ) {
    //total number of half-lifes elapsed
    $total_half_lifes = ($day * 24) / $drugHalfLifeHours;
    //total reduction in dosage
    $reductionFactor = pow( 0.5 , $total_half_lifes );
    //return the current dosage in the person's system
    return round( $mgTaken * $reductionFactor , 2 );
}

Приведенная выше функция должна помочь.Передайте принятую дозу MG, количество часов для периода полураспада этого препарата и количество дней с момента введения дозы.

Функция вычисляет количество периодов полураспада, которые испытал препарат, взяв числодней * 24 часа в день и делим это на общее количество часов, необходимое для полураспада этого препарата.Это количество раз, которое дозировка препарата будет сокращена вдвое.

Затем он принимает 0,5 (50% как десятичное число) и увеличивает его до степени общего числа полураспадов, которые испытывает препарат.Таким образом, 1 период полураспада был бы 0,5, 2 был бы 0,5 * 0,5 = 0,25 и т. Д. И т. Д. Это десятичное представление процентного содержания препарата, оставшегося в системе человека.

Затем он умножает этот остаток на исходнуювзятая сумма округляется до 2 знаков после запятой.Возвращаемое значение с плавающей запятой будет отображать оставшуюся дозу препарата MG в системе человека.

Если вы хотите построить функцию / систему, которая позволит вам рассчитать суточную дозу этого препарата(то есть: человек принимает одну и ту же дозу каждый день, а не один раз), это очень разные формулы и функции, но основной принцип тот же, что я написал для вас здесь.

Удачи;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...