Umrechnungsfunktion aus Punkte < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:39 Di 30.09.2008 | Autor: | Haase |
Guten Tag Allerseits,
ich habe das Problem, das ich Zahlen aus einem Wertebereich in einen anderen Wertebereich wandeln muss. Dafür hatte ich eine lineare Funktion. Diese funktioniert leider nicht mehr, da die Eingabewerte nicht gleichmäßig steigend verteilt sind.
=> Deshalb möchte ich jetzt eine Umrechnungsfunktion erstellen die Eingabewerte zwischen 0 und 4000 in den anderen Wertebereich umwandelt.
Wie erstelle ich diese Funktion wenn ich diese 7 Punkte gegeben habe:
Eingabe Ausgabe
>650 -13
100 -10
80 -7
44 -4
16 0
2 3
0 5
7 if - Abfragen wären unschön :)
Vielen vielen Dank im Voraus!
Gruß Haase
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:14 Di 30.09.2008 | Autor: | Infinit |
Hallo Haase,
diese Zuordnung stellt ja so was wie einen Quantisierer dar, wenn ich das richtig verstehe. Eine Funktion im analytischen Sinne einer Gleichung wirst Du nicht hinbekommen (tröste Dich, ich auch nicht), es geht hier um eine Abbildung von Wertebereichen auf feste Werte. Mit "if" lässt sich das beschreiben, andere Beschreibungssprachen kennen auch eine "case"-Anweisung. Hier musst Du wissen, was Du benutzen darfst oder sollst.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:49 Di 30.09.2008 | Autor: | Haase |
if else und switch case - Anweisungen kann ich da nicht verwenden. Das ist viel zu unschön :)
Kann ich nicht aus diesen Werten eine nicht lineare Funktion annähern die dann meine gewünschten Werte ungefähr berechnet?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:52 Di 30.09.2008 | Autor: | Disap |
> if else und switch case - Anweisungen kann ich da nicht
> verwenden. Das ist viel zu unschön :)
Dann definier dir doch 'ein' Array :D
>
> Kann ich nicht aus diesen Werten eine nicht lineare
> Funktion annähern die dann meine gewünschten Werte ungefähr
> berechnet?
Ich kann mir darunter gerade nichts vorstellen....
|
|
|
|
|
> Kann ich nicht aus diesen Werten eine nicht lineare
> Funktion annähern die dann meine gewünschten Werte ungefähr
> berechnet?
Hallo Carsten,
das sollte durchaus möglich sein, im Sinne einer
Regressionsfunktion, welche zwar die Stützpunkte
nicht genau, aber doch so ungefähr trifft.
Allerdings ist es nicht so ganz einfach, das passende
mathematische Modell zu finden. Dazu wäre es ev.
noch nützlich zu überlegen, von welcher Art der
Zusammenhang zwischen den beiden Datensätzen
sein könnte.
Man kann es z.B. mit den folgenden Ansätzen
versuchen:
exponentiell: [mm] f(x)=A+B*e^{c*x}
[/mm]
einfache rationale Funktion: [mm] f(x)=A+\bruch{B}{x+C}
[/mm]
noch etwas anspruchsvoller: [mm] f(x)=A+\bruch{B}{(x+C)^n}
[/mm]
(beim letzten Ansatz kann man den Exponenten n
noch anpassen)
Mit Hilfe eines GTR könntest du mit diesen Ansätzen
etwas herumspielen und dich dann für eines der
Modelle entscheiden. In einem zweiten Schritt kann
man dann die Parameter A,B,C (und n) durch eine
Regressionsrechnung optimieren.
LG Al-Chwarizmi
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 16:13 Mi 01.10.2008 | Autor: | Haase |
Genau so eine näherungsweise Regressionsfunktion wäre super. Kannst du mir sagen wie ich diese bestimme? Ich kenne mich da leider nicht so gut aus ;)
|
|
|
|
|
> Genau so eine näherungsweise Regressionsfunktion wäre
> super. Kannst du mir sagen wie ich diese bestimme? Ich
> kenne mich da leider nicht so gut aus ;)
>
Um ein wirklich passendes Modell zu nehmen, wäre es noch
gut, wenn du angeben würdest, aus welchem Zusammenhang
die Daten stammen. Was bedeuten die x- und die y-Werte ?
Für x>650 soll y=-13 sein. Das deutet auf einen minimal möglichen
y-Wert hin (asymptotisches Verhalten). Diesen Wert kannst du
vielleicht aus dem realen Zusammenhang heraus erklären.
Ferner: handelt es sich bei den Daten um Messwerte - und wie
genau sind diese zu nehmen. Ist z.B. der Wert y=5 für x=0
absolut fest vorgegeben ? Analog für die übrigen Daten. Gibt
es Messungenauigkeiten?
Wenn diese Sachen geklärt sind, wird es sicher gelingen, ein
sehr gut passendes Modell zu erstellen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:43 Do 02.10.2008 | Autor: | Haase |
Vielen Dank für deine Hilfe.
Mit dieser Funktion funktioniert es:
f(x) = -4 ln(x/16)
|
|
|
|
|
> Vielen Dank für deine Hilfe.
> Mit dieser Funktion funktioniert es:
>
> f(x) = -4 ln(x/16)
Dann bist du aber mit einer seeehr groben Näherung
zufrieden:
x [mm] y_{gegeben}\qquad\qquad\qquad y_{Modell} [/mm]
0 5 nicht definiert
2 3 8.3
16 0 0
44 -4 -4.0
80 -7 -6.4
100 -10 -7.3
700 -13 -15.1
4000 -13 -22.1
|
|
|
|
|
Mit etwas Herumprobieren habe ich eine Funktion
gefunden, deren Abweichungen an allen Stütz-
stellen kleiner als 1 sind und die die waagrechte
Asymptote y=-13 hat:
[m]f(x)=-13+17.3*\big{e^{-0.018*x^{0.96}}}[/m]
[Dateianhang nicht öffentlich]
Frag mich nicht, wie ich das im Einzelnen gemacht
habe, ich habe eben mit dem Ansatz
[mm] f(x)=A+B*\big{e^{C*x^D}}
[/mm]
begonnen, A=-13 gesetzt (für die Asymptote) und
dann an den Werten von B,C,D "rumgeschraubt".
LG und gute Nacht !
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:35 Di 07.10.2008 | Autor: | Haase |
Mit welchem Programm hast du das gezeichnet? Dann kann ich zu Hause das auch mal ausprobieren.
|
|
|
|
|
> Mit welchem Programm hast du das gezeichnet? Dann kann ich
> zu Hause das auch mal ausprobieren.
Mit einem kleinen Programm in der Programmiersprache
Top-Pascal. Zum zeichnen von Funktionsgraphen gibt
es aber andere, frei erhältliche Programme, z.B.
FunkyPlot (unter www.funkyplot.de).
|
|
|
|
|
Für Liebhaber des Skurrilen hier noch eine andere Lösung:
[mm] f(x)=(0.76-1.15*x)*e^{-x/2}+\bruch{6.36*10^{20}}{x^{10}+7.5*10^{17}x+3.69*10^{19}}-13
[/mm]
[Dateianhang nicht öffentlich]
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:39 Sa 04.10.2008 | Autor: | Haase |
Vielen Dank Al-Chwarizmi! Diese Funktion ist Perfekt :)
|
|
|
|
|
> Vielen Dank Al-Chwarizmi! Diese Funktion ist Perfekt :)
Nun gut, ich habe mir den Spass geleistet, passend zu
deinen Daten so ein Ungetüm von Formel zu entwickeln.
Dennoch stellt sich die Frage, ob dies wirklich Sinn macht.
Falls deine x- und y-Werte z.B. aus Messungen entstanden
sind, welche mit Messfehlern behaftet sind, macht es eben
kaum Sinn, die Interpolationsfunktion allen Schwankungen
der Datenpunkte anzupassen !
Du hast aber immer noch nicht verraten, aus welchem
Zusammenhang deine Daten eigentlich stammen und mit
welchen Toleranzen sie allenfalls zu interpretieren sind.
LG
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:09 So 05.10.2008 | Autor: | Haase |
Messfehler können keine auftreten. Sind feste Punkte eines Wertebereiches.
|
|
|
|