Wie bekomme ich den passenden wert?

CrazyChicken334  30.04.2022, 12:14

Welche Programmiersprache ist es denn?

JuffMa 
Beitragsersteller
 30.04.2022, 12:14

wie gesagt properitär (es ist nichmal ne sprache sondern eher sowas wie configinterpretation)

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

(X-0,37)*1,587


JuffMa 
Beitragsersteller
 30.04.2022, 12:16

danke aber (nur interesse) woher kommen die 1,587

0
sarah3  30.04.2022, 12:18
@JuffMa

Skalierung, Du hast ja dann bei 1, nur noch 0,63 und musst das also auf 1 hoch skalieren

3
wird der wert immer mit 37% (0,027...) starten

Was denn nun? 0,027... wäre etwa 27 %, nicht 37 %.

Im Folgenden nehme ich da 0,37 bzw. 37 % als Beispiel.

============

Naja, du könntest das entsprechend mit einer linearen Funktion der Form...



... transformieren.

Es soll beispielsweise f(0,37) = 1,00 und f(1,00) = 1,00 sein. Damit würde man dann...



... erhalten, was dann...





... liefern würde. Also...





Da kannst du jeweils deine Werte zwischen 0,37 und 1,00 für x einsetzen und erhältst dann den entsprechenden Wert zwischen 0,00 und 1,00 für den Ladebalken.

============

Allgemein könnte man für einen bestimmten Anfangswert a und einen bestimmten Endwert z mit



eine entsprechende Transformation von [a; z] zu [0; 1] durchführen. Im konkreten Fall dann beispielsweise...



============

Beispielwerte, die man mit f(x) = (x - 0.37)/(1-0.37) erhält...

f(0.37) = 0.0
f(0.38) = 0.015873015873015886
f(0.39) = 0.03174603174603177
f(0.4) = 0.04761904761904766
f(0.41) = 0.06349206349206346
f(0.42) = 0.07936507936507935
f(0.43) = 0.09523809523809523
f(0.44) = 0.11111111111111112
f(0.45) = 0.126984126984127
f(0.46) = 0.1428571428571429
f(0.47) = 0.1587301587301587
f(0.48) = 0.1746031746031746
f(0.49) = 0.19047619047619047
f(0.5) = 0.20634920634920637
f(0.51) = 0.22222222222222224
f(0.52) = 0.23809523809523814
f(0.53) = 0.253968253968254
f(0.54) = 0.2698412698412699
f(0.55) = 0.2857142857142858
f(0.56) = 0.3015873015873017
f(0.57) = 0.3174603174603174
f(0.58) = 0.33333333333333326
f(0.59) = 0.3492063492063492
f(0.6) = 0.36507936507936506
f(0.61) = 0.38095238095238093
f(0.62) = 0.3968253968253968
f(0.63) = 0.41269841269841273
f(0.64) = 0.4285714285714286
f(0.65) = 0.4444444444444445
f(0.66) = 0.46031746031746035
f(0.67) = 0.4761904761904763
f(0.68) = 0.49206349206349215
f(0.69) = 0.5079365079365079
f(0.7) = 0.5238095238095237
f(0.71) = 0.5396825396825397
f(0.72) = 0.5555555555555555
f(0.73) = 0.5714285714285714
f(0.74) = 0.5873015873015873
f(0.75) = 0.6031746031746031
f(0.76) = 0.6190476190476191
f(0.77) = 0.634920634920635
f(0.78) = 0.6507936507936508
f(0.79) = 0.6666666666666667
f(0.8) = 0.6825396825396826
f(0.81) = 0.6984126984126985
f(0.82) = 0.7142857142857142
f(0.83) = 0.7301587301587301
f(0.84) = 0.7460317460317459
f(0.85) = 0.7619047619047619
f(0.86) = 0.7777777777777778
f(0.87) = 0.7936507936507936
f(0.88) = 0.8095238095238095
f(0.89) = 0.8253968253968255
f(0.9) = 0.8412698412698413
f(0.91) = 0.8571428571428572
f(0.92) = 0.8730158730158731
f(0.93) = 0.888888888888889
f(0.94) = 0.9047619047619047
f(0.95) = 0.9206349206349206
f(0.96) = 0.9365079365079364
f(0.97) = 0.9523809523809523
f(0.98) = 0.9682539682539683
f(0.99) = 0.9841269841269841
f(1.0) = 1.0

Code, mit dem ich in Python mir diese Beispielwerte habe ausgeben lassen:

for X in range(37, 101):
    x = X/100
    y = (x-0.37)/(1.0-0.37)
    print(f"f({x}) = {y}")

Lass das Programm einfach bis 36% hochzählen& anzeigen und starte dann mit dem eigentlichen Ladebalken.


sarah3  30.04.2022, 12:16

Der muss dann aber skaliert werden

0