Auf der Suche nach einer antiproportionalen Formel

Tach zusammen,

ich bin auf der suche nach einer Formel, aber habe irgendwie gerade ne Blockade.

Ich habe Input-Werte aufsteigend von 1000 - 2000
Dazu mächte ich Werte ausgeben, die bei 100 beginnen und bei 0 ende.

1000 = 100
1010 = 99
1020 = 98
.
.
.
1980 = 2
1990 = 1
2000 = 0

Ich habe keine Ahnung, wie eine Formel dazu aussehen könnte …
Hat Jemand eine Idee?

Vielen Dank
Cappy

(deleted)

Bist Du die Feuerwehr? ... das war ja schnell.

map(value, fromLow, fromHigh, toLow, toHigh)

Also in meinem Fall

output = map(input, 1000, 2000, 100, 0)

So? Danke Cappy

(deleted)

... ich werd' verrückt :-)

Hab Dank ...

map() ist eine Funktion, keine Formel

output=(2000-input)/10;
output=200-input/10;

Die anzuwendende "Formel" nennt sich Geradengleichung

(deleted)

Ist eine Rechnung eine Formel? Fragen über Fragen ...

zwieblum: Ist eine Rechnung eine Formel? Fragen über Fragen ...

Nein!

Eine "Formel" ist eine Rechenanweisung, keine Berechnung.

Wikipeter: Eine Formel in der Mathematik stellt einen Zusammenhang zwischen mathematischen Objekten dar. Sie ist gegenüber der Textform kürzer und oft präziser und steht für eine Gesetzmäßigkeit, Regel, Vorschrift oder Definition.

... ja nee, iss klar.

Völlig richtig, die Funktion ist keine Formel ... allerdings hat mich map() sowas von direkt zu meinem Ziel gebracht, dass es fast weh tut.

Die von @zwieblum genannte Formel würde auch nicht funktioniere. Dreisatz auch nicht, wenn ich das richtig sehe ... oder!? Hatte kein MatheLK :-)

Wie auch immer ... map() ist jedenfalls auch perfekt anpassbar für meinen Bedarf.

Zur Erklärung ... ich baue per ws2812b RGB-LEDs einen Nachbrenner für einen RC-Jet mit EDF Antrieb. Dazu möchte ich gerne abhängig von der Gas-Stellung die LED Farbe von hell-orange immer dunkler machen, bis es am Ende rot ist.

Dazu bleibt R auf 255, B auf 0 und G ändert sich von 100 gen 0 ... Der Gas-Wert steigt von ~950 auf ~1800 und soll umgekehrt G von 100 auf 0 ziehen.

Dazu brauchte ich die besagte "Formel" ... per map() ist es aber vieeeeeeeeeeeeel einfacher.

Übrigens ist es fertig und sieht geil aus :-)

Cappy

Das Geradengleichungssystem wäre etwas effektiver, weil es ermöglicht/vorsieht, die Steigung und Offset nur einmal zu berechnen. Beim map() wird das im Prinzip dauernd getan.

Öhm ... was soll das jetzt heißen? map() gut oder nicht?

Wie gesagt, ich glaube für meinen Anwendungsfall ist es super ...

(deleted)

Für den Anfang ist map() die perfekte Funktion, da kann man (fast) nichts falsch machen. Dreisatz ist beim Rechnen auf Papier gut, beim Programmieren eher weniger. Die Geradenformel kann man bei der Optimierung eines Programms einbauen.

Gut Jagd!

Kanonen ... Spatzen ... kennse? ;-)

cappy0815: Übrigens ist es fertig und sieht geil aus :-)

Mir wurde mal geschrieben: "Ein Programm, das tut, was es soll, ist ein gutes Programm!"

Das gebe ich gerne weiter.

Willst Du ein geiles Modell, dann behalte die Alternativen im Hinterkopf und mache mit dem Modell weiter. Willst Du ein geiles Programm, dann schaue Dir die Alternativen genauer an. Wie auch immer, behalte den Fokus :)

Pfoa ... das ist aber Pfülozopfitsch ...

Konfuzius sagt ... "Willst Du ein geiles Modell ... " :-)

Aber ich verstehe was du meinst. Ich werde für DIESES Projekt bei map() bleiben, aber es kommt bestimmt ein nächstes mal.

Cappy

Also mal ehrlich ... alles was du nicht in Plankalül machst ist Pfusch.

Planlallül in Relais- oder Röhrentechnik? Oder für eine Z-4?