文章 /

不用風洞,怎麼自己算 CdA?功率計加一段來回的路就做得到

2026-11-06・羅譽寅

不用風洞,怎麼自己算 CdA?功率計加一段來回的路就做得到

同一條平路,同一個人,同樣踩 200 W。去程逆風 2 m/s,用平均功率和平均速度代公式,算出來的 CdA 是 0.371;回程順風,算出來是 0.172。這個人真正的 CdA 是 0.25。

這組數字是我用引擎模擬出來的,但你在真實道路上會遇到一模一樣的事。風洞可以直接量阻力,一小時的費用跟時間成本卻不是每個人都負擔得起;大部分人手上有的,是一台功率計和一條常騎的路。這篇就講怎麼只靠這兩樣,算出一個可以信的 CdA。

最直覺的算法,為什麼不夠?

騎在平路、速度不變的時候,你踩出來的功率扣掉傳動損耗,會被兩件事吃掉:推開空氣,以及輪胎跟地面的摩擦。寫成式子是這樣:

功率 × 傳動效率 =(½ × 空氣密度 × CdA × 速度² + 滾動阻力係數 × 重量 × g)× 速度

功率、速度、重量都知道,空氣密度可以從氣溫和海拔算出來,滾動阻力查胎款大概抓得到,剩下唯一的未知數就是 CdA。CdA 計算機的第二個試算做的就是這件事。

問題出在「平路、速度不變、沒有風」這三個前提。真實的路上,一點點坡度、一陣風、一次煞車,都會被公式當成空氣阻力的一部分。風的影響最大,因為空氣阻力看的是你相對於空氣的速度,碼錶記的卻是你相對於地面的速度。

同一個人、同樣 200 W、風速 2 m/s,算出來的 CdA去程(逆風)0.371回程(順風)0.172兩個數字平均0.271整趟一起解0.248真值 0.25
同一個人來回各騎 5 公里,風速 2 m/s。單向算出來的數字差了一倍多;把兩個數字直接平均,還是偏高 8%;把整趟來回放在一起解,才回到 0.25 附近。引擎模擬,不是實測。

很多人的第一個反應是「那就來回各騎一趟,兩個數字平均」。這樣算,結果還是偏高 8%。原因是逆風那一段你騎得慢、花的時間長,順風那一段騎得快、時間短,兩段對總時間的份量本來就不一樣,直接平均等於把它們當成一樣重。把整趟來回的能量放在一起算,誤差才縮到 1% 以內。

這個「整趟放在一起算」的想法,再往前推一步,就是虛擬海拔法。

虛擬海拔法是什麼?

虛擬海拔法(virtual elevation,也叫 Chung method)是 Robert Chung 在 2000 年代初提出的做法。它把問題倒過來問:如果我先假設一個 CdA,那這趟騎乘的每一秒,路面「應該」是幾度的坡?

有了每一秒的功率和速度,扣掉空氣阻力、滾動阻力和加減速,剩下的功率只能拿去爬坡;剩多就是上坡,不夠就是下坡。把每一秒算出來的坡度沿著距離累加起來,就得到一條「虛擬的海拔曲線」。

關鍵在這裡:如果你騎的是一個圈,或是同一段路來回,起點和終點的真實海拔是一樣的。CdA 猜對了,虛擬海拔每一圈都會回到同一個高度;猜得太小,算出來的空氣阻力不夠,多出來的功率被當成在爬坡,曲線一圈比一圈高;猜得太大,曲線就一圈比一圈低。

-40-200+20+400369121518+31 m-31 m真實海拔猜 0.25(正確)猜 0.23(太小)猜 0.27(太大)海拔(m)距離(km)
同一段來回的路騎三趟,路中間有一個 12 公尺高的小坡。CdA 猜 0.25(真值)時,虛擬海拔跟真實海拔疊在一起;猜 0.23,三趟騎完多爬了 31 公尺;猜 0.27,少了 31 公尺。引擎模擬,不是實測。

所以你要做的事很單純:調整 CdA,直到虛擬海拔每一圈都回到原點,那個數字就是你的 CdA。風在去程和回程互相抵消,坡度因為一圈回到原點而抵消,加減速則直接寫在式子裡。開源軟體 Golden Cheetah 的 Aerolab 功能就是照這個原理做的,可以自己拉滑桿對齊。

實際要怎麼騎?

方法對了,資料品質才是決定成敗的地方。我會照下面這樣準備:

  1. 找路。 一條 1 到 3 公里、車少、不用停紅綠燈、不用煞車的路,可以繞圈,或是在兩端迴轉。有一點起伏沒關係,虛擬海拔本來就處理得了坡度;不能有的是停下來。
  2. 挑時間。 清晨通常風最小。風不必完全沒有,但不能忽大忽小,陣風會讓去回程抵消不完全。
  3. 校正功率計。 出發前歸零(zero offset),這一步最容易被忘記,下面會講它有多重要。
  4. 騎法。 同一段路騎 4 到 6 趟,姿勢和比賽時一樣,全程不跟車;手放在休息把上,迴轉時才起身。功率維持穩定,但可以刻意用兩種速度騎,原因也在下面。
  5. 記錄。 碼錶設成每秒記錄,騎完量一次總重量:人、車、水壺、穿在身上的全部。

哪些地方會把數字帶偏?

就算騎法都對,還有三個地方會讓算出來的 CdA 偏掉,而且偏的方向你從結果上看不出來。

滾動阻力猜錯。 公式裡的滾動阻力係數是用猜的,競賽胎在好路面大約 0.004,訓練胎大約 0.005。在 37 km/h 的速度下,這個係數猜錯 0.001,CdA 就會差 0.012,大約 5%。只用一種速度騎,兩者是分不開的:空氣阻力和滾動阻力在同一個速度下,看起來就是同一筆帳。用兩種不同的速度各騎幾趟,滾動阻力猜錯時,快的那幾趟和慢的那幾趟會算出不一樣的 CdA,這時候調整滾動阻力,讓兩組數字對上,兩個係數才分得開。

功率計偏了。 功率計讀數高 2%,算出來的 CdA 就高 2.4%。功率計在溫度變化大的時候會漂移,所以出發前歸零、騎到一半溫度變了再歸零一次,比任何計算技巧都有用。

姿勢跟比賽不一樣。 測試的時候精神好、專心,姿勢壓得比比賽後段低。測出來的數字是你「最好的那個姿勢」,比賽時撐不撐得住是另一個問題,我在〈空力姿勢怎麼調?〉講過。

一次測試,還是每趟都算?

照上面的方法認真測一次,可以得到一個很好的數字,但它只代表那一天、那套裝備、那個姿勢。換了安全帽、調了休息把,就要重新測一次。

AeroPacer 的做法是把這件事交給每一趟日常騎乘:連上碼錶之後,每趟戶外的功率騎乘都會自動挑出平路、穩定、沒有跟車的路段估一筆 CdA,用當天每小時的天氣修正風,再把很多趟合在一起算。單趟的品質比不上一次專門的測試,但累積十幾趟之後,數字會比任何一次測試都穩。哪幾趟算得出來,見〈連上碼錶之後,哪幾趟騎乘算得出 CdA?〉。

回到開頭那組數字。0.371 和 0.172 都是同一個人、同一天、同樣的 200 W 算出來的,差別只在於你有沒有把風算進去。算 CdA 難的地方一直都在資料,公式本身很簡單。

延伸閱讀:〈CdA 是什麼?〉講這個數字為什麼重要;〈換裝備能省幾秒?〉講算出來之後怎麼拿去做決定。

← 全部文章

回報問題

遇到錯誤、數字看起來怪,或有想要的功能,都可以直接告訴教練。每一則都會親自看。

是哪一類?
截圖(選填,最多 3 張)

電腦上也可以直接貼上(⌘V/Ctrl+V)。

想收到回覆就留下,只用來回覆這則回報。

會一併送出目前的頁面網址、瀏覽器與螢幕尺寸,方便重現問題。

推薦朋友