Verfasst am: 20.03.2009, 18:44
Titel: Curve fitting mit Boltzmann-Funktion?
Hallo zusammen,
eine (vermutlich recht triviale) Frage zum Curve-Fitting:
ich versuche einen möglichst genauen Fit von Messdaten zu erreichen und würde dafür eine gerne eine eigene Funktion verwenden, von der ich mir gute Resultate erhoffe [sigmoidale Funktion: Boltzmann-Gleichung der Form y=(A1+A2)/(1+exp((x-x0)/dx)+A2) ]
(Anm: Soweit ich weiß beziehen sich A1 und A2 auf die minimalen/maximalen Werte der Messdaten.)
Wie realisiere ich dies denn am geschicktesten...?
ja das ist im Prinzip genau das, was ich suche. (vielen Dank schonmal für die schnelle Antwort)
Hatte mir die Suche nach den Variablen der Funktion mittels fminsearch und die Boltzmannfunktion als eigenständige function gedacht wie im Beispiel verwirklicht...
Habe probiert, das mal umzusetzten, leider verstehe ich den Ablauf noch nicht wirklich...
Hatte versucht die folgende Gleichung mit den Variablen a1 und a2, sowie den Messwerten x und y umzusetzen:
Ich hab jetzt mal das Grundgerüst vom spawnferkel genommen, musst es dann einfach mit deinen daten ergänzen
Code:
% hier einmal x und y definieren
plot(x,y);
param=fminsearch(@fun,[11],[],x,y); % der Vektor [1 1] enthält die Startparameter deiner Funktion, in param stehen dann die optimierten Parameter fit=param(1)-param(2))./(1+exp((x-((param(1)+param(2))/2)/0.01)))+param(2); % einmal der fit ausgeführt mit den x-werten und den optimierten Parametern holdall;
plot(x,fit);
legend('Original','Fit');
hold off;
function ret=fun(a,x,y)
yy=(a(1)-a(2))./(1+exp((x-((a(1)+a(2))/2)/0.01)))+a(2);
ret=sum(abs(y-yy));
...lieber spät als nie:
besten Dank an dieser Stelle für die Hilfe und Mühe!
ON
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.