Gute Frage. Ich denke, das ist keine Fläche, sondern eine Kurve, die nach unten und oben zappelt. Also ein numerischer Fehler. Da könne man mal reinzoomen und schauen. Wahrscheinlich wird da die Geschwindigkeit zwischen den Iterationen zu stark korrigiert.
Ja, dann sieht man es deutlich:
Vielen Dank!
Mir ist auch klar geworden, warum das so ist:
- Die Geschwindigkeit muss in der Iteration ausreichend fein korrigiert werden.
- Andererseits soll das Skript nicht zu lange laufen.
- Daher hatte ich die Schrittweite der Geschwindigkeitskorrekturen abhängig vom Leistungsbilanzdefizit gemacht: bei großem Leistungsdefizit wird die Geschwindigkeit stark angepasst; wenn man schon nahe an der richtigen Lösung ist, nur noch wenig.
- Das funktioniert aber nicht bei starker Steigung, weil dort die benötigte Leistung riesig ist (und darum auch der Fehler, wenn man von der vorherigen groben Geschwindigkeit ausgeht), die Geschwindigkeit selbst aber klein ist.
- => Wenn man hier die Geschwindigkeit in großen Schritten korrigiert, trifft man den wahren Wert nicht, sondern schießt immer dran vorbei. Daher das Zickzack.
Jetzt muss ich mir noch überlegen & messen, wie eine sinnvolle Geschwindigkeitskorrektur aussehen könnte. Wo die Schritte nicht zu klein sind, das Ergebnis aber trotzdem konvergiert.
Rot sind Input-Werte und blau Output.
Richtig.
Was sind wieder die Werte darunter? Warum sind sie ganz anders als die blauen Werte? Wieso taucht die Beschleunigung (P_accel) auf, aber keine Verzögerung?
Das ist noch ein Relikt aus dem Powermeter-Diagramm. Es ist ebenfalls eine Output-Leistung, bezieht sich aber nur auf die Leistung während des Tretens:
- Wenn man die Output-Leistung global betrachtet (blau), spielt die Beschleunigung keine Rolle, weil am Anfang und Ende der Tour ist die Geschwindigkeit 0, die Netto-Beschleunigung also auch. Die aufgebaute Bewegungsenergie wurde komplett verbraucht.
- Wenn man aber nur die Phasen des Tretens und des Rollens betrachtet, dann ist das anders:
- Während des Tretens beschleunigt man oder fährt bergauf.
- Wenn man nicht tritt, fährt man entweder bergab oder wird langsamer.
- Daher wird z.B. der Rollwiderstand zu einem Großteil während des Tretens erbracht, während die Phasen, in denen der Luftwiderstand besonders groß ist, vor allem schnelle Bergab-Passagen sind.
- D.h. mich hat interessiert, wo die Leistung hingeht, während ich trete.
Ist also etwas kompliziert, und vielleicht für die Simulation, wo man eine konstante permanente Tretleistung hat, nicht so relevant.
Und in/out ist 146% obwohl als Antriebsverluste nur 8% voreingestellt sind!
Ja, das wirkt seltsam.
Letztendlich ist das auch noch ein Relikt aus dem Powermeter-Diagramm; dort hat man ja einerseits die gemessene Leistung, und andererseits die gemessene Geschwindigkeit und die daraus berechneten Leistungen. Da ist es sinnvoll, die beiden vergleichen zu können und – bis auf die Antriebsverluste – anzugleichen.
Aber hier in der Simulation ist alles berechnet. Daher ist vollkommen klar, dass die Werte gleich sein sollten, da sie aus den selben Zahlen stammen.
Warum das hier anscheinend nicht so ist, habe ich mir noch nicht genau überlegt. Vielleicht ein Ergebnis der zappelnden Geschwindigkeitskurve.