Hallo,
ich möchte mit c# folgendes Rechenfunktion durchführen:
Ihc habe eine Anfangszahl (z.B. 20) und eine Endzahl (z.B. 50). Ich möchte jetzt per Funktion errechnen wie die Anfangszahl in 14 Schritten linear zur Endzahl entwickelt.
Hat hier jemand eine Idde wie man das machen kann ? Oder ob es da schon etwas fertiges gibt ?
Vielen Dank
Sven
Hä? Was meinst du mit linear entwickeln? Du meinst aber nicht einfach nur die Differenz bilden, durch die 14 zu teilen und dann ab dem Anfangswert in den 14 Schritten den Wert des Quotienten jeweils zuaddieren um die Zwischenwerte zu bekommen?
😃
irgendwie dachte ich das kann so einfach nicht sein.
Allerdings muss ich die differenz durch 13 teilen, sonst ist die endzahl zu hoch.
danke für den stupser.
Hallo svennie89,
man muss in der Tat aufpassen, wie man die Schrittanzahl definiert. Bei 10 ... 15 ... 20 hat man drei Werte (Zustände), aber es sind aus meiner Sicht nur zwei Schritte, der von 10 nach 15 und der von 15 nach 20. Siehe auch Off-by-one-Error.
Wenn man mit Integern rechnet, muss man außerdem aufpassen, wenn sich die Differenz nicht ohne Rest durch die Schrittanzahl teilen lässt. Da rechnet man statt
momentanwert = (endwert - startwert) / schrittanzahl * schrittnummer;
besser
momentanwert = (endwert - startwert) * schrittnummer / schrittanzahl;
Die Schrittnummer läuft von 0 oder von 1, je nachdem, ob der Startwert als Ergebnis vorkommen soll oder nicht, bis zur Schrittanzahl, in meinem Beispiel also 2.
Trotzdem fällt das alles unter [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore