Abfallende e-Funktion aus Wertetabelle erstellen

Neue Frage »

Kaffee46 Auf diesen Beitrag antworten »
Abfallende e-Funktion aus Wertetabelle erstellen
Hallo,

ich stehe vor folgender Aufgabe, zu der mir leider bisher kein Lösungsansatz eingefallen ist:

X-Wert/Y-Wert
8/65,74
10/63,37
12/61,36
14/59,64
16/58,14
18/56,81
20/55,64
22/54,57
24/53,61

Die Wertetabelle geht noch weiter, aber das sollte für unseren Zweck erst einmal reichen.

Ich habe die Kurve mit kubischen Splines interpoliert, die Lösung ist auch ok!

Allerdings will/soll ich versuchen, eine passende (abfallende) E-Funktion für die gegebenen Wertepaare zu erstellen.

Das macht das rechnen und programmieren später einfacher!

HINETRGRUND:
Das ganze ist ein Härte-Tiefen-Verlauf eines Stahls, hierbei ist X die Tiefe und Y der Härtewerte in HRC.

Kann mir hierbei jemand helfen?

Für Antwort bin ich sehr dankbar!

MArco
tigerbine Auf diesen Beitrag antworten »
RE: Abfallende E-Funktion aus Wertetablle erstellen
eine Funktion aus mehreren Wertepaaren gesucht

Vielleicht findest du dort Ideen.
Kaffee46 Auf diesen Beitrag antworten »

@ Tigerbine: Danke, habe den Beitrag durchgearbeitet, komme leider auf keine Lösung unglücklich

Kann mir jemand mit der Erstellung einer geeigneten Formel helfen?
tigerbine Auf diesen Beitrag antworten »

Zeig doch mal die Funktion, in allgemeiner Gestalt die du suchst. Welche Variablen müssen also angepasst werden?
Kaffee46 Auf diesen Beitrag antworten »

Da liegt schon das Problem, alles was ich habe, ist die Wertetabelle...
tigerbine Auf diesen Beitrag antworten »

Naja, zitiere dich selbst

Zitat:
Allerdings will/soll ich versuchen, eine passende (abfallende) E-Funktion für die gegebenen Wertepaare zu erstellen.


Wie sieht denn so was allgemein aus?
 
 
Kaffee46 Auf diesen Beitrag antworten »

y=e^(-x)

Das wäre wohl die allgmeinste Form, welche micha ber bei meinem Problem offensichtlich nicht weiterbringt..
Dual Space Auf diesen Beitrag antworten »

Zitat:
Original von Kaffee46
y=e^(-x)

Das wäre wohl die allgmeinste Form,

Nö! Dann schon eher , wobei a, b und c geeignet (wenn möglich) zu wählen sind.
tigerbine Auf diesen Beitrag antworten »

Zitat:
Original von Kaffee46
welche micha ber bei meinem Problem offensichtlich nicht weiterbringt..


Wieso nicht? Wie viele Punkte brauchst du denn, um so eine Kurve eindeutig zu bestimmen?

Wenn man nicht interpolieren will, so muss man sich vorab eben mal entscheiden, welche Art der Abweichung man minimieren will. Ich werfe den Begriff "Gaußsche Fehlerquadrate" in den Raum.
Kaffee46 Auf diesen Beitrag antworten »

Anbei mal ein original Kohlenstofftiefenverlauf, für den es gilt, eine passende E-Funktion zu finden. Natürlich soll die Funktion so genau wie eben möglich sein.
X = Tiefe in mm
Y = Härte in HRC

X Y
8 55,79785109
9 54,55780528
10 53,42824226
11 52,39240369
12 51,43727002
13 50,55248746
14 49,72966123
15 48,9618728
16 48,24334019
17 47,56917255
18 46,93518897
19 46,33778211
20 45,77381367
21 45,24053327
22 44,73551443
23 44,25660354
24 43,8018788
25 43,36961666
26 42,95826434
27 42,56641708
28 42,19279903
29 41,83624734
30 41,49569859
31 41,1701773
32 40,85878606
33 40,56069706
34 40,27514474
35 40,00141946
36 39,73886193
37 39,48685834
38 39,24483607
39 39,01225997
40 38,78862895
41 38,57347309
42 38,36635094
43 38,16684716
44 37,97457046
45 37,78915163
46 37,61024188
47 37,43751127
48 37,27064734
49 37,10935378
50 36,95334937



Vielen Dank für eure Bemühungen!!!
tigerbine Auf diesen Beitrag antworten »

Du verstehst hier was grundlegend falsch. Wir werden dass nicht für dich approximieren. Und "so genau wie eben möglich" ist kein mathematisches Kriterium. Augenzwinkern

http://de.wikipedia.org/wiki/Methode_der...odellfunktionen

Hau die Daten doch mal in Excel rein und zeig ein Bild. Vielleicht reicht dir auch schon dieses Feature. Sagst ja ncihts darüber, woher der Datensatz stammt.

http://phoenix.phys.clemson.edu/tutorials/excel/graph.html
Kaffee46 Auf diesen Beitrag antworten »

Ein Diagramm in Excel habe ich schon erstellt. Zur bildlichen Veranschaulichung ist das natürlich nicht schlecht. Mein Ziel ist es aber später mit dieser erstellten Funktion noch einige Rechnungen anzustellen. Daher hilft mir ein reines Diagramm nicht weiter und ich bin auf der Suche nach einer passenden E-Funktion.

Ich habe es wie gesagt auch schon mit kubischen Splines versucht, die Ergebnisse sind gut, aber ich möchte später mit einer E-Funktion arbeiten...
tigerbine Auf diesen Beitrag antworten »

Du sagst aber nicht, nach welchem Kriterium du die E-Funktion durch die Daten legen willst. Lege das fest, dann kann dir jemand weiterhelfen.
Huggy Auf diesen Beitrag antworten »

Dual Space hat dir doch einen passenden Ansatz genannt. Mit dem ergibt sich für deinen ersten Datensatz;



Das passt hervorragend.
tigerbine Auf diesen Beitrag antworten »

Vielleicht sagt du auch, wie du die Koeffizienten bestimmt hast, Huggy?
Huggy Auf diesen Beitrag antworten »

Die Konstanten sind nach der Methode der kleinsten Quadrate bestimmt. Das kann man mit dem Solver von Excel machen.
tigerbine Auf diesen Beitrag antworten »

Sehr schön. DAS hatte ich ja schon mal angedeutet. Nur setzt das voraus, dass man sich für KQ entscheidet. Da warte ich ja schon ... lange ... auf eine Stellungnahme des Fragestellers. Augenzwinkern
mYthos Auf diesen Beitrag antworten »

@Huggy

Die Erstellung der Trendfunktion sollte für signifikante Wertepaare im ganzen Defintionsbereich durchgeführt werden, nicht nur für das erste Wertepaar. Normalerweise nimmt man Stichproben vom Anfang, der Mitte und vom Ende des Intervalles.
Bei deiner Funktion dürftest du dich verschrieben haben, denn sie müsste korrekt lauten:


___________________________________________

Kurz gesagt, die Trendlinie in Excel liefert interessanterweise bei einer Potenzfunktion die besten Ergebnisse ( , Bestimmtheitsmaß R²= 0,9994 ! Hinweis: Bei R²=1 liefern beide Funktionen praktisch identische Werte), bei der Exponentialfunktion geht das nicht so gut, weil dort offensichtlich nur Funktionen der Form a*e^(bx) möglich sind. Auch eine logaritmische Näherungsfunktion (y = -10,37 ln(x) + 77,018; R² = 0,998) sieht noch ganz gut aus.

[attach]10790[/attach]

mY+
Huggy Auf diesen Beitrag antworten »

Zitat:
Original von mYthos
@Huggy

Die Erstellung der Trendfunktion sollte für signifikante Wertepaare im ganzen Defintionsbereich durchgeführt werden, nicht nur für das erste Wertepaar. Normalerweise nimmt man Stichproben vom Anfang, der Mitte und vom Ende des Intervalles.
Bei deiner Funktion dürftest du dich verschrieben haben, denn sie müsste korrekt lauten:


___________________________________________

@mYthos

Meine Anpassung bezog sich, wie ich auch geschrieben hatte, auf den ersten, kleinen Datensatz des Fragenden. Und da sind alle Datenpaare berücksichtigt worden. Es liegt auch kein Schreibfehler vor.

Das schließt natürlich nicht aus, dass man für diesen Datensatz durch eine anderen funktionalen Ansatz eine noch bessere Anpassung erreichen kann.
mYthos Auf diesen Beitrag antworten »

Hast du nicht die Graphik betrachtet? Diese wurde für die korrigierte Funktion erstellt.
Allerdings handelt es sich um die lange Messreihe im Intervall von 8 bis 50.
Da differiert der Funktionswert um rund 10.

Edit: In den Begriff Datensatz habe ich nur einen Messpunkt interpretiert.

______________________________

So, nun noch der Vergleich bei der ersten Messreihe, da ist die Übereinstimmung perfekt! Der Treadsteller hat offensichtlich im Nachpost nicht dieselbe Messreihe verwendet. Die beiden unterscheiden sich in den Funktionswerten um ca. 10.
Ansonsten ist die Methode der Ausgleichsquadrate sicher sehr zu empfehlen, sie erscheint hier besser als die von Excel zur Verfügung gestellten Trendfunktionen.

[attach]10791[/attach]

mY+
Huggy Auf diesen Beitrag antworten »

Mir ist nicht klar, worauf du hinaus willst. Wir haben Anpassungen für zwei unterschiedliche Datensätze erstellt. Weshalb sollte meine Anpassung an den ersten Datensatz zu dem zweiten Datensatz passen?
mYthos Auf diesen Beitrag antworten »

Siehe bitte EDIT im Vorpost! Es war anfangs nicht ersichtlich, dass es sich um zwei verschiedene Messreihen handelt!

mY+
Huggy Auf diesen Beitrag antworten »

Da bin ich aber froh, dass sich die Sache geklärt hat.
mYthos Auf diesen Beitrag antworten »

Nun habe ich - der Vollständigkeit und des Interesses halber - auch für die zweite Messreihe die Regressionsfunktion mittels der Methode der kleinsten Fehlerquadrate und des Solvers von Excel erstellt. Zum Minimum der Summe der Fehlerquadrate konvergiert das Verfahren hier sehr schnell.

Wir gehen wieder von der Kurve

y = a*exp(b*x) + c

aus und wählen zunächst die Startwerte für a, b, c aus. Da wir vorher sowohl von der Messwertekurve als auch von der (ungefähren) Exponentialfunktion ein Diagramm erstellt haben, sind die Startwerte schon so grob einzugrenzen, dass die beiden Kurven einen bereits ähnlichen Verlauf zeigen.

Die Startwerte lauten für a = 30, b= -0,05 und c = 35.

Danach muss die Zielwertsuche nur ein Mal durchgeführt werden, denn nach dem 2. Durchlauf unterscheidet sich die neue Lösung nicht mehr von der ersten.

Wir erhalten gerundet a = 31,225, b = -0,0522 und c = 34,865 und die Regressionsfunktion bildet alle Messwerte praktisch hinreichend genau nach, wie die Grafik zeigt.

[attach]10792[/attach]

mY+
Kaffee46 Auf diesen Beitrag antworten »

@ Huggy, mYthos und Tigerbine: Vielen Dank, Ihr habt mich wirklich weitergebracht.

Generell ist es also möglich eine passende E-Funktion für diesen Verlauf erstellen zu können. Da der Verlauf jedoch bei jeder Berechnung anderes aussehen wird (es ändert sich die Stalsorte, der Kohlenstoffwert, Legierungsbestandteile uvm.) muss ich einen Automatismus finden können, der mir die Funktion abhängig von der Wertetabelle erstellt. (Das alles wird später in einem Programm mit Fortran programiert)

D.h. im Klartext, dass es bei jedem neuen Härteverlauf eine neueTabelle von 8-50 mm mit neuen Messwerten gibt. Ich programmiere diese Rechnungen in Fortran.

Daher meine Frage @ Huggy bzw. mYthos:
Könnt Ihr mir Schritt für Schritt erklären, wie Ihr auf die (super) E-Funktion gekommen seit? Vielleicht kann ich das nachvollziehen und programmieren, sodass für neue Wertetabellen automatisch eine passende E-Funktion erstellt wird.....

Grüße une vielmals Danke
Marco
Dual Space Auf diesen Beitrag antworten »

Zitat:
Original von Kaffee46
Könnt Ihr mir Schritt für Schritt erklären, wie Ihr auf die (super) E-Funktion gekommen seit?

Wenn ich das richtig überblicke mit MS Excel. Und dessen Algorithmus für die Zielwertsuche wird wohl nicht öffentlich sein.
AD Auf diesen Beitrag antworten »

Wenn einem mit proprietärer Software wie M$ Excel unwohl ist: Mit der R-Funktion nls (nonlinear least squares) ergibt sich für Formel losgelassen auf diese Daten

.

Also ziemlich genau das, was auch mYthos raushat.
Huggy Auf diesen Beitrag antworten »

Die erste Frage ist, ob der von uns verwendete Funktionsansatz



für dein Problem generell passt. Das kann sein, weil es immer um dieselbe physikalische Größe geht, ist aber nicht sicher. Wenn unterschiedliche Funktionsansätze notwendig werden, lässt sich das nur automatisieren, wenn man diese aus einer vorab definierten Gruppe auswählen kann.

Gehen wir mal davon aus, obiger Ansatz passt generell bei dir. Dann sind jeweils die Konstanten a, b und c anzupassen. Die Methode der kleinsten Quadrate ist für so etwas ein erprobtes Verfahren. Dazu findest du jede Menge im Internet. Deshalb hier nur in aller Kürze:

Die Meßwerte ergänzt du um den Rechenwert mit



Dann bildest du die Summe der Abweichungsquadrate



Diese Summe soll minimal werden. Es ist also das Minimum einer Funktion von 3 Variablen gesucht. Wenn man das selbst programmieren will, muss schon einigen Gedankenschweiß hineinstecken. Es existieren dazu diverse Verfahren. Einfacher ist es, etwas aus einer Bibliothek zu übernehmen.

Wenn es Fortran sein soll, solltest du mal Fortranbibliotheken durchstöbern. Es würde mich wundern, wenn da nichts zu finden wäre. Steht dir R zur Verfügung, hat Arthur dir schon die Funktion genannt.

In Excel ist die Anpassung mit dem Solver eine Sache von wenigen Sekunden, wenn du die Datenwerte von Excel einlesen lässt.
jungle86 Auf diesen Beitrag antworten »

Hallo,
ich hoffe es kann sich noch jemand an diese Thema erinnern.
Ich möchte auch eine e-Funktion erstellen, die meine Werte wiederspiegelt und mache alles so wie es hier beschrieben wurde, aber der solver von excel findet nicht die richtigen Koeffizienten.
Kann mir vielleicht jemand helfen?
mYthos Auf diesen Beitrag antworten »

Aus deiner Grafik und auch anderswo geht NICHT hervor, WIE du die Trendlinie erstellt hast. Augenscheinlich hast du anstatt einer Exponentialfunktion eine lineare Regression gewählt, welche hier nicht oder nur bedingt geeignet ist.

mY+
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »