Что такое программное представление формулы "ветер-холод"?


Я пытаюсь определить холод ветра в Метрике. Я нашел некоторуюхорошую информацию от BBC (где она известна как "Feels Like temperature"), но я не могу понять, как преобразовать ее в C-код.

Вот их расчетная информация:

T(wc) = 13.12 + 0.6215T - 11.37V**0.16 + 0.3965TV**0.16

С этими примечаниями

(где T (wc) - индекс холодности ветра по шкале Цельсия, T-температура воздуха в °C, а V-скорость воздуха в км/ч, измеренная на высоте 10 м (33 фута, стандартный анемометр высота).

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

float feelslike = 13.12 + 0.6215 * temperature - 11.37 * windSpeed  * 0.16 + 0.3965 * temperature * windSpeed * 0.16;

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

Пример вывода:

feelslike 15.126314 temp 19.719999 wind 18.040001
feelslike 15.126314 temp 19.719999 wind 18.040001
feelslike 14.308528 temp 20.070000 wind 20.670000
feelslike 14.308528 temp 20.070000 wind 20.670000
feelslike 12.485908 temp 20.049999 wind 23.930000
feelslike 12.485908 temp 20.049999 wind 23.930000
feelslike 9.340910 temp 19.450001 wind 27.110001
feelslike 9.340910 temp 19.450001 wind 27.110001
feelslike 5.497787 temp 18.330000 wind 28.969999
feelslike 5.497787 temp 18.330000 wind 28.969999
feelslike 2.776235 temp 16.740000 wind 27.400000
feelslike 2.776235 temp 16.740000 wind 27.400000
feelslike 0.058707 temp 14.950000 wind 25.670000
feelslike 0.058707 temp 14.950000 wind 25.670000
feelslike -1.787689 temp 13.130000 wind 23.389999
feelslike -1.787689 temp 13.130000 wind 23.389999
feelslike -1.408279 temp 12.460000 wind 21.650000
feelslike -1.408279 temp 12.460000 wind 21.650000
feelslike -0.960956 temp 11.810000 wind 20.020000
feelslike -0.960956 temp 11.810000 wind 20.020000
feelslike -1.235470 temp 11.550000 wind 19.820000
3 2

3 ответа:

T(wc) = 13.12 + 0.6215T - 11.37V**0.16 + 0.3965TV**0.16

Означает:

T(wc) = 13.12 + 0.6215*T - 11.37*pow(V,0.16) + 0.3965*T*pow(V,0.16)

В C / C++

** часто означает "вознесенный во власть". Вы можете использовать pow в математике.h . Например:

pow(windSpeed, 0.16)

Ваш полный расчет должен быть:

float feelslike = 13.12 + 0.6215 * temperature - 
                  11.37 * pow(windSpeed, 0.16) + 
                  0.3965 * temperature * pow(windSpeed, 0.16);

Не забудьте #include <math.h>.

Может быть, я сумасшедший, но разве это не нормально для вас иметь отрицательные числа? Это просто означает, что он чувствует, как это ниже нуля?