請輸入氣溫,以及「相對濕度」或「露點溫度」其中一個。會以 °C、°F、K 算出熱指數(體感溫度),並顯示美國 NWS 四個等級的危險程度參考,以及濕度與體感溫度關係的圖表。
這個頁面可以做什麼
- 只要輸入氣溫和相對濕度,馬上就能知道美國 NWS(國家氣象局)方式的熱指數(Heat Index,夏季體感溫度的指標)
- 也可以用露點溫度代替濕度計算(露點溫度會自動換算成相對濕度)
- 結果會以 °C、°F、K 三種單位顯示,也能看到美國 NWS 四個等級的危險程度參考
- 用圖表一眼就能看出「同樣的氣溫,濕度高時體感溫度會上升多少」
- 公式的淺顯解說,以及可直接複製到 Excel、Google 試算表、Python 的公式,也都整理在這個頁面
這個計算有什麼用?
「今天 33°C,比昨天低 1°C,應該比較輕鬆吧」——忽略濕度時,這個判斷有時會正好相反。氣溫 33°C、濕度 75% 的熱指數約 46°C,相當於美國 NWS 四個等級中的「危險(Danger)」。
用數字了解同樣的氣溫會因濕度而讓危險程度大不相同,就不會「只看氣溫」來決定練習強度和休息方式。不過在台灣,實際是否暫停活動,請以中央氣象署的高溫資訊燈號和 WBGT 熱傷害警示為準。
在台灣,勞動部的高氣溫作業熱危害預防指引,要雇主依中央氣象署的溫度和相對濕度查出熱指數,評估第一級~第四級的熱危害風險等級,再採取對應的措施,和本頁是同樣的思考方式。例如同樣是氣溫 30°C,濕度 50% 時體感約 31°C,濕度 80% 時體感約 38°C,光是濕度就差了將近 7°C。
「氣溫相同但悶熱的日子,就放慢作業步調、增加休息和補充水分」,這樣的調整可以用數字而不是感覺當作依據。
乾燥內陸城市的 40°C(濕度 20%),熱指數約 39°C;悶熱城市的 33°C(濕度 75%)卻約 46°C——氣溫低 7°C 的地方,體感反而嚴酷得多。
國外天氣預報和 App 上的「Heat Index」「Feels like(體感溫度)」正是這個指標,懂得它的意思,就更容易安排旅遊時的穿著和白天的行程。
室溫 28°C、濕度 70% 的熱指數約 31°C,除濕到濕度 40% 時則約 28°C。不改變溫度設定,只要降低濕度,體感就會降低約 3°C。
用數字了解除了「調低冷氣溫度」之外,還有「降低濕度」這個選擇,就更容易在電費和舒適之間取得平衡。
氣象資訊中的露點溫度,是表示空氣中水氣量的值。例如氣溫 30°C 時,露點溫度 24°C 相當於相對濕度約 70%(相當悶熱),露點溫度 15°C 則約 40%(乾爽)。
知道「露點溫度高的日子很悶熱」這個關係,即使沒有濕度預報,也能預先判斷炎熱的性質。本頁的計算機也能用露點溫度輸入。
中央氣象署在地面最高氣溫達攝氏 36 度以上時發布「高溫資訊」,並依溫度和持續天數分成黃燈(36°C 以上)、橙燈(36°C 以上連續 3 天以上,或 38°C 以上)、紅燈(38°C 以上連續 3 天以上)。
台灣夏天濕度高,例如氣溫 36°C、濕度 60% 時,熱指數約 48°C,屬於美國 NWS 的「危險(Danger)」等級。看到高溫燈號時,用本頁算算濕度帶來的影響,就更能體會為什麼要減少戶外活動、多補充水分。
公式與圖表
符號與用語解說
符號
| \(HI\) | 熱指數(Heat Index)。由氣溫和濕度求出的體感溫度指標,公式以華氏(°F)計算。本頁的計算機也會自動換算成 °C 和 K。 |
| \(T\) | 氣溫。請注意:簡易公式和迴歸式用華氏(°F),由露點溫度換算的公式(Magnus 近似式)則用攝氏(°C)。 |
| \(RH\) | 相對濕度(Relative Humidity),也就是天氣預報中的「濕度」,把 0~100 的 % 值直接代入公式(例如:濕度 70% → 70)。 |
| \(T_d\) | 露點溫度(°C)。空氣冷卻時開始出現水滴(結露)的溫度,表示空氣中的水氣量。 |
| \(c_0\)~\(c_8\) | Rothfusz 迴歸式的 9 個係數,是為了最符合資料而以統計方法決定的常數。 |
| \(\exp\) | 自然指數函數。\(\exp(x)\) 就是 \(e \approx 2.718\) 的 \(x\) 次方。Excel 用 EXP 函數、Python 用 math.exp 計算。 |
用語
| 熱指數 | 本頁指英文的 Heat Index:把氣溫和濕度結合起來,以溫度的形式表示「人感覺有多熱」的指標。1978 年由 George Winterling 提出,美國 NWS(國家氣象局)用來提醒夏季的炎熱。在台灣,勞動部的高氣溫作業熱危害預防指引,也是用溫度和相對濕度查「熱指數」來評估熱危害風險等級。它假設在陰涼處、微風的條件,不考慮風速和日照(NWS 提醒,在陽光直射下,體感溫度可能比這個值更高)。另外,它原本是針對氣溫 80 °F(約 26.7°C)以上、相對濕度 40% 以上的悶熱條件建立的,比這更涼爽、乾燥時的值只能當作參考。※中央氣象署所說的「熱指數」是指 WBGT,和這裡不同。 |
| WBGT | 綜合溫度熱指數(濕球黑球溫度,Wet-Bulb Globe Temperature)。除了氣溫和濕度,還反映太陽輻射和風速。中央氣象署的「健康氣象」以 WBGT 的小時最高值達 32、34、36、38 分別發布黃、橘、紅、紫色的「注意、警戒、危險、高危險」熱傷害警示,是和本頁熱指數(Heat Index)不同的指標。在台灣預防熱傷害,請參考中央氣象署的高溫資訊和這個警示。 |
| 體感溫度 | 不是溫度計的氣溫,而是表示「人實際感受到的冷熱」的溫度。濕度高時汗不容易蒸發,熱散不出去,所以同樣的氣溫會覺得更熱。熱指數就是把這個效果寫成公式。另外,中央氣象署天氣預報中的「體感溫度」,用的是連風速也考慮在內的另一個公式,所以數值不一定和本頁相同。 |
| 相對濕度 | 表示空氣實際含有的水氣量,相當於這個氣溫下最多能含有的水氣量的百分之幾。天氣預報的「濕度」就是相對濕度。 |
| 露點溫度 | 把空氣慢慢冷卻時,水氣開始變成水滴(開始結露)的溫度。空氣中的水氣越多,露點溫度就越高,所以也用來判斷悶熱的程度(露點溫度高的日子就是悶熱的日子)。 |
| 飽和水氣壓 | 在某個溫度下,空氣含有最多水氣時的水氣壓力,溫度越高就越大。氣象學把相對濕度定義為「實際水氣壓 ÷ 飽和水氣壓 × 100(%)」,Magnus 近似式就是用溫度簡便求出飽和水氣壓的公式。 |
| 迴歸式 | 決定係數使它最符合大量資料的公式。Rothfusz 迴歸式是把體感溫度理論模型的計算結果,用氣溫和濕度的公式來近似。 |
| 華氏 (°F) |
美國使用的溫度單位。水結冰的溫度是 32 °F,沸騰的溫度是 212 °F。和攝氏的換算是 °F = °C × 9/5 + 32。 |
| 克耳文 (K) |
科學上使用的絕對溫度單位,也叫克氏溫標,等於攝氏加上 273.15(0°C = 273.15 K)。 |
建議先了解的基礎知識
為了能「真正理解意義」地使用這個頁面的計算,這裡整理了建議事先了解的基礎知識。
| 代數式與代入(國中一年級,12~13 歲) |
|
| 比率與百分率(國小五年級,10~11 歲) |
|
| 溫度的單位(國中自然科學起) |
|
| 平方根(國中二年級,13~14 歲) |
|
| 指數函數(高中,15~18 歲) |
|
用 Excel 計算的方法
| 氣溫(°C) | 25 |
| 氣溫(°F) | =B1*9/5+32 |
| 相對濕度(%) | 40 |
| 熱指數(°F) | =0.5*(B2+61+(B2-68)*1.2+B3*0.094) |
| 熱指數(°C) | =(B4-32)*5/9 |
| 氣溫(°C) | 30 |
| 氣溫(°F) | =B1*9/5+32 |
| 相對濕度(%) | 70 |
| 熱指數(°F) | =-42.379+2.04901523*B2+10.14333127*B3-0.22475541*B2*B3-0.00683783*B2^2-0.05481717*B3^2+0.00122874*B2^2*B3+0.00085282*B2*B3^2-0.00000199*B2^2*B3^2 |
| 熱指數(°C) | =(B4-32)*5/9 |
| 氣溫(°C) | 30 |
| 露點溫度(°C) | 22 |
| 相對濕度(%) | =100*EXP(17.625*B2/(243.04+B2))/EXP(17.625*B1/(243.04+B1)) |
第 1 個表格(簡易公式)是在氣溫和簡易公式值的平均未達 80 °F 時(較涼爽的條件)使用的公式。以範例值(25°C、40%),B4 會顯示約 76.28(°F),B5 顯示約 24.6(°C)。
第 2 個表格(迴歸式)用於 80 °F 以上的炎熱條件,以範例值(30°C、70%),B4 會顯示約 95.07(°F),B5 顯示約 35.0(°C)。※省略了低濕度(未達 13%)、高濕度(超過 85%)等極端條件的修正。需要精確的值時,請使用本頁的計算機或 Python 程式碼。
第 3 個表格是由露點溫度換算相對濕度,以範例值(氣溫 30°C、露點 22°C),B3 會顯示約 62.28(%)。
用 Google 試算表計算的方法
| 氣溫(°C) | 25 |
| 氣溫(°F) | =B1*9/5+32 |
| 相對濕度(%) | 40 |
| 熱指數(°F) | =0.5*(B2+61+(B2-68)*1.2+B3*0.094) |
| 熱指數(°C) | =(B4-32)*5/9 |
| 氣溫(°C) | 30 |
| 氣溫(°F) | =B1*9/5+32 |
| 相對濕度(%) | 70 |
| 熱指數(°F) | =-42.379+2.04901523*B2+10.14333127*B3-0.22475541*B2*B3-0.00683783*B2^2-0.05481717*B3^2+0.00122874*B2^2*B3+0.00085282*B2*B3^2-0.00000199*B2^2*B3^2 |
| 熱指數(°C) | =(B4-32)*5/9 |
| 氣溫(°C) | 30 |
| 露點溫度(°C) | 22 |
| 相對濕度(%) | =100*EXP(17.625*B2/(243.04+B2))/EXP(17.625*B1/(243.04+B1)) |
用 Python 計算的方法
import math
air_temperature_c = 30 # 氣溫(°C)
relative_humidity = 70 # 相對濕度(%)
# 要用露點溫度計算時,拿掉下面 2 行的註解符號(#)(用 Magnus 近似式換算成相對濕度)
# dew_point_c = 22 # 露點溫度(°C)
# relative_humidity = 100 * math.exp(17.625 * dew_point_c / (243.04 + dew_point_c)) / math.exp(17.625 * air_temperature_c / (243.04 + air_temperature_c))
t_f = air_temperature_c * 9 / 5 + 32 # 換算成華氏(°F)
rh = relative_humidity
heat_index_f = 0.5 * (t_f + 61 + (t_f - 68) * 1.2 + rh * 0.094) # 簡易公式
if (t_f + heat_index_f) / 2 >= 80: # 平均達 80°F 以上時,改用 Rothfusz 迴歸式重新計算
heat_index_f = (-42.379 + 2.04901523 * t_f + 10.14333127 * rh
- 0.22475541 * t_f * rh - 0.00683783 * t_f ** 2
- 0.05481717 * rh ** 2 + 0.00122874 * t_f ** 2 * rh
+ 0.00085282 * t_f * rh ** 2 - 0.00000199 * t_f ** 2 * rh ** 2)
if rh < 13 and 80 <= t_f <= 112: # 低濕度修正
heat_index_f -= (13 - rh) / 4 * math.sqrt((17 - abs(t_f - 95)) / 17)
elif rh > 85 and 80 <= t_f <= 87: # 高濕度修正
heat_index_f += (rh - 85) / 10 * (87 - t_f) / 5
heat_index_c = (heat_index_f - 32) * 5 / 9
heat_index_k = heat_index_c + 273.15
print(f"熱指數:{heat_index_c:.1f} °C({heat_index_f:.1f} °F / {heat_index_k:.1f} K)")
用 LaTeX 等數學式語言的寫法(可直接複製)
HI = 0.5 × (T + 61 + (T − 68) × 1.2 + RH × 0.094)
HI = 0.5 \left( T + 61 + (T - 68) \times 1.2 + RH \times 0.094 \right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mn>0.5</mn>
<mo>×</mo>
<mo>(</mo>
<mi>T</mi><mo>+</mo><mn>61</mn>
<mo>+</mo>
<mo>(</mo><mi>T</mi><mo>−</mo><mn>68</mn><mo>)</mo>
<mo>×</mo><mn>1.2</mn>
<mo>+</mo>
<mi>RH</mi><mo>×</mo><mn>0.094</mn>
<mo>)</mo>
</mrow>
</math>
HI = 0.5 (T + 61 + (T - 68) * 1.2 + RH * 0.094)
hi = 0.5*(t + 61 + (t - 68)*1.2 + rh*0.094)
HI := 0.5*(T + 61 + (T - 68)*1.2 + RH*0.094);
HI = 0.5*(T + 61 + (T - 68)*1.2 + RH*0.094);
HI = 0.5(T + 61 + (T - 68) × 1.2 + RH × 0.094)
HI = −42.379 + 2.04901523T + 10.14333127RH − 0.22475541T·RH − 0.00683783T² − 0.05481717RH² + 0.00122874T²·RH + 0.00085282T·RH² − 0.00000199T²·RH²
HI = -42.379 + 2.04901523\,T + 10.14333127\,RH - 0.22475541\,T \cdot RH - 0.00683783\,T^2 - 0.05481717\,RH^2 + 0.00122874\,T^2 RH + 0.00085282\,T\,RH^2 - 0.00000199\,T^2 RH^2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mo>−</mo><mn>42.379</mn>
<mo>+</mo><mn>2.04901523</mn><mi>T</mi>
<mo>+</mo><mn>10.14333127</mn><mi>RH</mi>
<mo>−</mo><mn>0.22475541</mn><mi>T</mi><mo>⋅</mo><mi>RH</mi>
<mo>−</mo><mn>0.00683783</mn><msup><mi>T</mi><mn>2</mn></msup>
<mo>−</mo><mn>0.05481717</mn><msup><mi>RH</mi><mn>2</mn></msup>
<mo>+</mo><mn>0.00122874</mn><msup><mi>T</mi><mn>2</mn></msup><mi>RH</mi>
<mo>+</mo><mn>0.00085282</mn><mi>T</mi><msup><mi>RH</mi><mn>2</mn></msup>
<mo>−</mo><mn>0.00000199</mn><msup><mi>T</mi><mn>2</mn></msup><msup><mi>RH</mi><mn>2</mn></msup>
</mrow>
</math>
HI = -42.379 + 2.04901523 T + 10.14333127 RH - 0.22475541 T RH - 0.00683783 T^2 - 0.05481717 RH^2 + 0.00122874 T^2 RH + 0.00085282 T RH^2 - 0.00000199 T^2 RH^2
hi = -42.379 + 2.04901523*t + 10.14333127*rh - 0.22475541*t*rh - 0.00683783*t^2 - 0.05481717*rh^2 + 0.00122874*t^2*rh + 0.00085282*t*rh^2 - 0.00000199*t^2*rh^2
HI := -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T^2 - 0.05481717*RH^2 + 0.00122874*T^2*RH + 0.00085282*T*RH^2 - 0.00000199*T^2*RH^2;
HI = -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T^2 - 0.05481717*RH^2 + 0.00122874*T^2*RH + 0.00085282*T*RH^2 - 0.00000199*T^2*RH^2;
HI = -42.379 + 2.04901523T + 10.14333127RH - 0.22475541T RH - 0.00683783T^2 - 0.05481717RH^2 + 0.00122874T^2 RH + 0.00085282T RH^2 - 0.00000199T^2 RH^2
RH = 100 × exp(17.625Td / (243.04 + Td)) ÷ exp(17.625T / (243.04 + T))
RH = 100 \times \dfrac{\exp\left(\dfrac{17.625\,T_d}{243.04 + T_d}\right)}{\exp\left(\dfrac{17.625\,T}{243.04 + T}\right)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>RH</mi>
<mo>=</mo>
<mn>100</mn>
<mo>×</mo>
<mfrac>
<mrow>
<mi>exp</mi>
<mo>(</mo>
<mfrac>
<mrow><mn>17.625</mn><msub><mi>T</mi><mi>d</mi></msub></mrow>
<mrow><mn>243.04</mn><mo>+</mo><msub><mi>T</mi><mi>d</mi></msub></mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mrow>
<mi>exp</mi>
<mo>(</mo>
<mfrac>
<mrow><mn>17.625</mn><mi>T</mi></mrow>
<mrow><mn>243.04</mn><mo>+</mo><mi>T</mi></mrow>
</mfrac>
<mo>)</mo>
</mrow>
</mfrac>
</mrow>
</math>
RH = 100 exp((17.625 T_d)/(243.04 + T_d)) / exp((17.625 T)/(243.04 + T))
rh = 100*Exp[17.625*td/(243.04 + td)]/Exp[17.625*t/(243.04 + t)]
RH := 100*exp(17.625*Td/(243.04 + Td))/exp(17.625*T/(243.04 + T));
RH = 100*exp(17.625*Td/(243.04 + Td))/exp(17.625*T/(243.04 + T));
RH = 100 exp(17.625T_d/(243.04 + T_d))/exp(17.625T/(243.04 + T))
請 ChatGPT 幫忙計算的方法
你是氣象計算的助理。請務必實際執行 Python 程式碼來進行下面的計算,並只以執行結果的數值作為回答的依據(不要用心算或推測回答)。 請求出氣溫 30°C、相對濕度 70% 時的熱指數(美國 NWS 方式的 Heat Index)。 計算步驟: 1. 把氣溫換算成華氏(°F = °C × 9/5 + 32) 2. 計算簡易公式 HI = 0.5 × (T + 61 + (T − 68) × 1.2 + RH × 0.094) 3. 如果氣溫和簡易公式值的平均達 80°F 以上,改用 Rothfusz 迴歸式 HI = -42.379 + 2.04901523T + 10.14333127RH - 0.22475541T·RH - 0.00683783T² - 0.05481717RH² + 0.00122874T²RH + 0.00085282T·RH² - 0.00000199T²RH² 重新計算(RH<13% 且 80~112°F 時套用低濕度修正,RH>85% 且 80~87°F 時套用高濕度修正) 4. 結果請同時以 °F 和 °C 表示 請列出計算所用的公式,以及執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權