Zum Forum springen
Benachrichtigungen
Alles löschen

Integralfunktion fitten

7 Beiträge
5 Benutzer
0 Reactions
1,465 Ansichten
IgNoRaNt
Beigetreten: 18.03.2006

Moin,
Problem ist folgendes: Ich hab bei einem Experiment eine Kurve aufgenommen und will nun aus dieser quantitative Informationen ziehen. Für die Ableitung dieser Kurve gibt es eine Funktion mit den von mir gewünschten Parametern. Wenn ich nun die Ableitung fitte werden gewisse Bereiche nun leider überinterpretiert.

Wär ja alles halb so wild, wenns ein analytischen Ausdruck für meine Integralfunktion gäbe, die Ableitungsfunktion hat aber, stark vereinfacht, die Form

y = sqrt(x) * Gauss(x)

letzterer Faktor besitzt nun leider keine analytische Lösung. Da es mir nun aber um genau in dieser Funktion vorkommenden Parameter geht, kann ich nicht einfach auf andere Funktionen ausweichen. Kennt ihr Programme die mir Integralfunktion auf Grundlage der Ableitungsfunktion fitten können? Oder habt ihr sonst clevere Ideen?


Antwort
Zitat
6 Antworten

Sorry, ich kann deinem ersten Absatz nicht so genau entnehmen, was du schon gemacht hast, deswegen frage ich einmal nach. Du hast deine Messwerte numerisch differenziert und versucht mit diesen einen Parameter-fit mit deiner analytischen Funktion y durchzufuehren?


Antwort
Zitat

ne hat er nicht, nocl, aber sollte er ^^


Antwort
Zitat
IgNoRaNt Themenstarter
IgNoRaNt
Beigetreten: 18.03.2006

Vorgehen zur Zeit:

Normieren --> Differenzieren --> Fitten --> Fitfunktion integrieren und mit Messdaten vergleichen.

Passt schon ganz gut. Problem bei der Geschichte ist halt, dass das Maximum der Ableitungsfunktion für mich wenig intressant ist und dieser durch den Fit am genausten wiedergegeben wird. Würde gerne die Messdaten fitten, aber da es hierfür keine Fitfunktion gibt (zumindest keine mit den für mich entscheidenen Parametern) suche ich eine Möglichkeit mit dem Fit der Ableitung die Stammfunktion anzupassen.

Hier nochmal ein Bild dazu. Funktion rechts ist meine Messkurve, für die Funktion links hab ich den Fit. Durch den Wurzelterm wird das ganze leicht verzerrt.

//falls es hilft: Geht um das Verweilzeitverhalten eines gewickelten Rohrreaktors mit statischen Mischelementen. Der gesuchte Parameter ist die Bodenstein-Zahl.


Antwort
Zitat

origin kann sowas
http://www.originlab.com/www/helponline/Origin/en/mergedProjects/Tutorial/Tutorial/Fitting_with_Integral_using_LabTalk_Function.html

is halt auch ultra teuer... gibt kostenlose alternativen für linux, zb qtiplot, aber kA ob die das auch können


Antwort
Zitat
make0
Beigetreten: 24.06.2007

Wenn du die Möglichkeit hast, Mathematica zu benutzen oder vor ein bischen Programmierung nicht zurück schreckst, sollte das ganze auch ohne die Ableitung funktionieren:

Integrate[Sqrt[A*x]*Exp[-B*x^2], x] =
(x Sqrt[A x] Gamma[3/4, B x^2])/(2 (B x^2)^(3/4))

Du musst also nur noch irgendwie Gamma[a,x] berechnen und dann das ganze fitten. Hierfür fallen mir 3 Möglichkeiten ein:
- Mathematica
- ROOT
- C++ und mit gsl linken

Allerdings sidn alle Varianten mit recht viel Einarbeitungszeit verbunden, falls du dich noch nicht damit auskennst.


Antwort
Zitat

Original von SoWe
origin kann sowas

Origin kann durchaus einigermaßen fitten, aber sobalds komplizierter wird versagt es. Erst recht wenn es keine analytische Variante gibt, ist wohl Origin eher überfordert.

Wenn schon Zugang zu Mathematica, matlab, o.ä. da ist, dann würd ich einfach ne numerische Integration fitten. Geht ja weniger darum ne exakte Lösung zu finden, als eher n paar Zahlen rauszubekomme.

In Mathematica funktioniert das bei mir zumindest ganz gut. Dauert zwar n bissl, aber immerhin gabs ne Lösung. Ein einfaches Beispiel vom Dateneinlesen bis zum Plotten des Fits:

data := Import["data.dat"]
model := NIntegrate[a*x^2+b*x+c, {x, 0, 20}]
fit = FindFit[data, model, {a, b}, c]
modelf = Function[{c}, Evaluate[model /. fit]]
Plot[modelf[c], {c, 0, 10}, Epilog -> Map[Point, data]] 

Zum Fitten evtl. noch n paar Parameter initialisieren und auf gewisse Bereiche einschränken. Wenn das NIntegrate anfangs in nen Mist reinläuft, dann zieht sich das ewig.


Antwort
Zitat
Teilen: