tag:blogger.com,1999:blog-9959776.post1555209885000935250..comments2024-02-15T04:42:41.606+00:00Comments on James' Empty Blog: Speed vs power in ZwiftJames Annanhttp://www.blogger.com/profile/04318741813895533700noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-9959776.post-33657764095941685272021-09-20T15:40:21.221+01:002021-09-20T15:40:21.221+01:00Thanks! I ended up just coding up a google sheets ...Thanks! I ended up just coding up a google sheets custom function to estimate the inverse. Three iterations of Newton's method is more than enough to get within 0.1 km/h. I've attached my function here in case it's of interest to anyone else!<br /><br /><br />const a = 1.86e-02;<br />const b = -5.37e-04;<br />const c = 2.23e-05;<br />const d = 1.33e-05;<br /><br />function SPEEDTOPOWER(speed, weight, height) {<br /> return a * weight * speed + (b + c * weight + d * height) * speed * speed * speed;<br />}<br /><br />function POWERTOSPEED(power, weight, height) {<br /> let speed = 40; // Initial guess - about right for TTT<br /> const A = a * weight;<br /> const B = b + c * weight + d * height;<br /> // Use Newton's method to find a root of f = A * speed + B * speed^3 - P<br /> for (i = 0; i < 3; ++i) {<br /> speed = speed - (A * speed + B * speed * speed * speed - power) / (A + 3 * B * speed * speed)<br /> }<br /> return speed;<br />}<br />Simonhttps://www.blogger.com/profile/08252808752314324483noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-267465955313497712021-09-20T10:38:46.983+01:002021-09-20T10:38:46.983+01:00Thanks for comments. No direct inverse, though you...Thanks for comments. No direct inverse, though you could approximate quite well in various ways. If you are trying to give pull targets then just using 2.5W/kg and 1W/cm (as deviations from the team mean) is probably good enough really. The fit without the linear term is a lot worse.<br /><br />I just put in the speed and adjust it until the pulls look about right for the team members (who have been vary a lot from week to week). Seems to work pretty well.James Annanhttps://www.blogger.com/profile/04318741813895533700noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-80078640517736578212021-09-20T03:56:47.379+01:002021-09-20T03:56:47.379+01:00For my TTT simulator, I want to compute speed (on ...For my TTT simulator, I want to compute speed (on the flats) given a specific target power so I really want the inverse of your equation. I think I can just use a couple of iterations of Newton's method with a starting v in the right ballpark (e.g. 40km/h for a TT), i.e. a couple of repetitions of:<br /><br />v1 = v0 - (awv + (-b + cw + dh) v^3 - P) / (aq + 3(-b + cw + dh) v^2),<br /><br />where a, b, c, and d are the 4 constants in your expression.<br /><br />But a closed form expression would be even better and, given that your initial thought was that the power was a function of v^3, which would have a simple inverse, did you try the fit without that wv term? Any thoughts welcome. Thanks again!Simonhttps://www.blogger.com/profile/08252808752314324483noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-71057910837781683342021-09-18T22:27:12.564+01:002021-09-18T22:27:12.564+01:00I was just fiddling around with my TTT spreadsheet...I was just fiddling around with my TTT spreadsheet and thinking that someone out there *must* have worked out the relationship between power and speed on the flat. And here it is! Many thanks.Simonhttps://www.blogger.com/profile/08252808752314324483noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-1099641281370472052021-04-21T18:12:28.163+01:002021-04-21T18:12:28.163+01:00Ah well done that’s a good control set up! ZP data...Ah well done that’s a good control set up! ZP data probably more useful for climbing then, when speeds low enough to ignore draft. For example I used it recently to figure out how what w/kg to hold when aiming for a sub hour Alpe. Tim Andrewshttps://www.blogger.com/profile/12452454527875723780noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-28824645815548956182021-04-21T17:45:30.742+01:002021-04-21T17:45:30.742+01:00Yes ZP is an interesting source for population-wid...Yes ZP is an interesting source for population-wide stats but as you say the draft issue is a big one. Just looking at TT events could work but even then temporal changes in power will affect the results. And I want the calculation calibrated for normal bikes (but no draft, as in the front rider of a TTT team).<br /><br />I did all my runs solo by setting up a private meet-up that the other person didn't attend - I was the only bike on screen. Precisely for this reason :-)James Annanhttps://www.blogger.com/profile/04318741813895533700noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-53707694899345789302021-04-21T14:59:26.738+01:002021-04-21T14:59:26.738+01:00Hi James,
Are you on ZwiftPower? Loads of data on...Hi James,<br /><br />Are you on ZwiftPower? Loads of data on there. See https://www.zwiftpower.com/segments.php?id=10 for the volcano circuit forward (which is what I presume what you did?). It has a population average of:<br /><br />Time: 06:06<br />Power: 252w<br />Weight: 75.6kg<br />Watts/kg: 3.3wkg<br />Speed: 40.1kmh<br /><br />Which seems to fit, but you can filter by weight, power etc. or even plot the time versus w/kg. Though I guess you'd never know if they rode in a bunch or solo, which would make a very big difference. In fact you need to do your tests again with a TT bike rather than AeroRoad to ensure there was no drafting from anyone else on screen... ;-)<br /><br />Cheers,<br />Tim.Tim Andrewshttps://www.blogger.com/profile/12452454527875723780noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-606452034317181952021-04-15T08:17:24.195+01:002021-04-15T08:17:24.195+01:00It seems like you didn't need to mention j was...It seems like you didn't need to mention j was the bottom...William M. Connolleyhttps://www.blogger.com/profile/05836299130680534926noreply@blogger.comtag:blogger.com,1999:blog-9959776.post-20601176715035788122021-04-14T21:46:32.189+01:002021-04-14T21:46:32.189+01:00I am the bottom line! hurrah!I am the bottom line! hurrah!juleshttps://www.blogger.com/profile/02591920483149775255noreply@blogger.com