LabVIEWForum.de - Werte per "nichtlinearer Kurvenanpassung" fitten und darstellen

LabVIEWForum.de

Normale Version: Werte per "nichtlinearer Kurvenanpassung" fitten und darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
wir sind zwei Studenten die im Rahmen einer Projektarbeit ein Problem mit LabVIEW haben (LabVIEW 2013).

Konkret geht es um die "nichtlineare Kurvenanpassung". Wir erhalten Messwerte einer Solarzelle (Spannung und Strom) und sollen diese u.a. nach der Funktion
Zitat:I = Iph−I0*(e^(UT)−1)
gefittet darstellen. Unsere Frage ist nun, was wir falsch machen, da ein Klammerproblem am Ende angeblich auftritt. Trotz etlicher Versuche haben wir es nicht geschafft, die Messwerte entsprechend der Funktion zu fitten.
Oder gibt es generell noch eine andere (bessere) Möglichkeit, die Werte gemäß einer Funktion zu fitten.

Schonmal vielen Dank für die Hilfe Smile

Falls der Thread im falschen Bereich ist, so möge ihn ein Mod bitte verschieben.

Anbei findet ihr unseren Programmteil, der für das fitten zuständig ist und eine Datei mit Messwerten.

Viele Grüße
Probier mal statt Ut nur U, denn t ist doch die x-Variable.
Damit habe ich keine Klammerfehler gemeldet bekommen.

Gruß Holger
Es geht noch ein weiter, die Variablen Namen müssen der folgenden Konvention entsprechen (s. Hilfe):
[attachment=53247]
Gruß, Jens
Wenn t (bzw. x bzw. die Spannung) die unabhängige Variable,
I (bzw. der Strom bzw. y) die abhängige Variable,
und Iph, I0 und Ut Parameter sind,
dann ist der Strom in der im Posting zitierten Gleichung
I = Iph−I0*(e^(UT)−1)
ein Konstante (Die Spannung t oder x kommt nicht vor!)
und die in der "Model descripion" genannte Gleichung
I = Iph-I0*(exp(Ut)-1)*t
ein Geradengleichung.
Dafür hätten 1 (bzw. 2) Parameter ausgereicht, und eine "nichtlineare Kurvenanpassung" bräuchte man dazu auch nicht. Aber es ist wohl davon auszugehen, dass ihr diese Formeln nicht so gemeint habt wie sie dastehen.
Die richtige Gleichung wäre:
I = Iph−I0*(e^(u/ut)−1)
Sie ist eine Exponentialfunktion vom Typ
f = a*exp(b*x) + c
(a Amplitude, b Dämpfung, c Offset)
Dafür gibt es die Funktion "Exponential Fit", man muß sich also diese andere Fitfunktion gar nicht antun.
Hier das Ergebnis:
[attachment=53248]
Die erhaltenen Koeffizienten a,b,c in die gesuchten Koeffizienten Iph, I0 und ut umzurechnen: das schafft ihr doch hoffentlich alleine, oder?
[attachment=53249]
Vielen Dank, mit soviel Resonanz hätten wir garnicht gerechnet! Guru2 Guru2

Mit dem exponantial Fit klappt das ja gut. Das hatten wir so ähnlich auch schon mal probiert gehabt, aber wohl die Parametergrenzen falsch gesetzt und dann irgendwann nach einer anderen Lösung gesucht. Das mit der Gleichung ergibt natürlich auch Sinn Wall

Also nochmal vielen Dank, ihr habt uns sehr geholfen unsere Projektarbeit auf einen guten Weg zu bringen. Den Rest schaffen wir (hoffentlich Wink ) allein.

Viele Grüße
Referenz-URLs