INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Exponential Fit



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.10.2012, 13:41 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2012 19:39 von jg.)
Beitrag #1

KoeKri Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Aug 2012

9.0f3
2012
EN



Exponential Fit
Hallo zusammen,

wir haben folgendes Problem beim Fitten unserer Messwerte: Wir nehmen einen Array bestimmter Größe unserer Messwerte und wollen diese exponentiell fitten, um die Zeitkonstante Tau unserers Signals zu bestimmen. Wählen wir das Array zu lang (ca 2000 Werte), bekommen wir einen extrem schlechten Fit. Nehmen wir ein kürzeres Array (immer noch ca. 500 Werte) erhalten wir gar keinen Fit mehr und somit auch keine Zeitkonstante. Programm und Daten sind im Anhang.
Weiterhin haben wir unser Exponentialsignal logarithmiert und versucht es anschließend linear zu fitten. Auch das funktioniert nicht, es erscheint einfach kein Fit.
Hoffentlich kann uns jemand helfen,
vielen Dank im Voraus, mfg KoeKri.

Da die Datei zu groß war um sie im Forum anzuhängen, hier ein externen Downloadlink:

EDIT jg: Datei als ZIP hochgeladen.


Angehängte Datei(en) Thumbnail(s)
       

9.0 .vi  Kondensator.vi (Größe: 102,47 KB / Downloads: 237)

0.0 .zip  Kondensator1.zip (Größe: 2,5 MB / Downloads: 255)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.10.2012, 18:58
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Exponential Fit
Für Exponentialanpassung gibt es das VI "Exponentialanpassung" unter Mathematik/Anpassung. Bei flüchtiger Durchsicht Deines VI finde ich die Funktion nicht, ich sehe überhaupt nur Datenerfassung und - speicherung. Handelt es sich vielleicht um das falsche VI? Der Download der lvm ist mir zu gefährlich, da wird doch wohl noch mehr downgeladen und installiert als nur diese Datei.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2012, 19:41 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2012 19:46 von BNT.)
Beitrag #3

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: Exponential Fit
Hi
Wenn Du einen sinnvollen Wertebereich in X auswählst, erhälst Du auch einen perfekten Fit, mit den Rohdaten und Exponentialfit und logarithmierten Daten mit linearem Fit, siehe angehängtes VI.

Die Y-Werte nehmen negative Werte an, welche zwar durch den Offset beim Exponentialfit berüchtigt werden, aber beim logarithmieren der Rohdaten für den linearen Fit Probleme bereiten.

Noch viel problematischer sind aber die fast konstanten Y-Werte bei kleinen X-Werten.

Gruß Holger


Angehängte Datei(en)
11.0 .vi  Kondensator Datafit.vi (Größe: 32,96 KB / Downloads: 242)

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2012, 19:41
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Exponential Fit
Offtopic2
Wenn eine Datei (vor allem eine txt-Datei) zu groß ist, dann gibt es zum Glück Komprimierungsprogramme. Dein Link zur lvm-Datei wurde durch ein zip-File ersetzt. 2,5 MB anstatt 18 MB.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2012, 10:59
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Exponential Fit
Holger hat ja schon vorgearbeitet, aber was seinem Vi komischerweise fehlt, ist das Endergebnis, um dass es ja geht: die Zeitkonstante.
Habe das hier noch gemacht:

   

Amerkung zu den negativen Werten: Das könnte in der Exponentialfunktion einen negativen Offset bedeuten. Wenn man aber auf eine reine Exponentialfunktion
Y = Y0*exp(-t/tc) + Yoff
mit Yoff = 0
gefittet haben möchte, dann kann man obere und untere Parametergrenze von Yoff auf Null setzen. Standardmäßig ist das bei der Funktion schon so gemacht, es gibt also überhaupt nichts zu tun.

Alternative Lösung:
Statt die konstanten Werte abzuschneiden, könnte man auch die vollständige Funktion fitten, die da lautet:
wenn t<t1, dann y=y0 sonst y=y0*exp(-(t-t1)/t2)
oder als Formelstring:
y = t<t1 ? y0: y0*exp(-(t-t1)/t2)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2012, 11:11
Beitrag #6

THL Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 111
Registriert seit: May 2011

2012
2009
EN


Deutschland
RE: Exponential Fit
Labview selbst bietet nur einen Exponential-Fit der Form y=a*exp(b*x) an. Falls du jedoch y=a*exp(b*x)+c benötigst (also mit Offset), kann dir evtl. mein VI weiterhelfen.


Angehängte Datei(en)
8.6 .vi  exp plus offset.vi (Größe: 17,54 KB / Downloads: 264)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.10.2012, 12:05 (Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2012 12:05 von BNT.)
Beitrag #7

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: Exponential Fit
(05.10.2012 11:11 )THL schrieb:  Labview selbst bietet nur einen Exponential-Fit der Form y=a*exp(b*x) an. Falls du jedoch y=a*exp(b*x)+c benötigst (also mit Offset), kann dir evtl. mein VI weiterhelfen.

Das stimmt nicht, jedenfalls nicht für LabVIEW 2012, siehe Hilfe, und viele frühere Versionen. Nur für ganz alte Versionen mag es stimmen.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2012, 12:20
Beitrag #8

THL Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 111
Registriert seit: May 2011

2012
2009
EN


Deutschland
RE: Exponential Fit
(05.10.2012 12:05 )BNT schrieb:  
(05.10.2012 11:11 )THL schrieb:  Labview selbst bietet nur einen Exponential-Fit der Form y=a*exp(b*x) an. Falls du jedoch y=a*exp(b*x)+c benötigst (also mit Offset), kann dir evtl. mein VI weiterhelfen.

Das stimmt nicht, jedenfalls nicht für LabVIEW 2012, siehe Hilfe, und viele frühere Versionen. Nur für ganz alte Versionen mag es stimmen.

Gruß Holger
Hast recht. Aus Kompatibilitätsgründen mit bestehender Software arbeite ich praktisch nur mit 8.6 - da hat es die Option nicht. In der 2011-Version, die ich sonst noch benutze (meist um die hier geposteten VIs überhaupt öffnen zu können Big Grin), berücksichtigt der Exp-Fit tatsächlich auch einen Offset.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2012, 10:39
Beitrag #9

KoeKri Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Aug 2012

9.0f3
2012
EN



RE: Exponential Fit
Als aller erstes vielen Dank für die Antworten und eine große Entschuldigung, dass wir so doof waren und die falsche Datei hochgeladen haben, die richtige Datei ist im Anhang dieses Posts.
Die .vi von BNT konnten wir leider nicht öffnen, da unsere Labview Version zu alt ist.
Das Beispiel von Lucki haben wir allerdings nachgebaut und es funktioniert. Vielen Dank dafür!
Wir verstehen aber immer noch nicht warum bzw. was an unserer Lösung falsch/anders ist.
Hinzu kommt, dass bei Luckis ansatz zwar eine Zeitkonstante errechnet, der Fit aber nicht geplottet wird.

Eine weitere Frage betrifft zB. die Parameter Bounds. Wenn wir da von -Inf bis Inf beim Offset einstellen fittet Labview unsere Daten nicht mehr obwohl doch die Null im Intervall von -Inf bis Inf liegt.

Danke nochmal für die Hilfe,
mfg KoeKri


Angehängte Datei(en)
9.0 .vi  Auswertung_Kondensator1.vi (Größe: 36,95 KB / Downloads: 216)

9.0 .vi  Luckis_Loesung.vi (Größe: 18,43 KB / Downloads: 250)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: