Jump to content
Sign in to follow this  
brb

Regression x-y

Recommended Posts

Guten Tag,

ich bin auf der Suche nach einer Möglichkeit mittels Regressionsanalyse ein Polynom 3. Grades aus einem X/Y Chart zu ermitteln. Wie kann man das mit DASYLab realisieren?

Einfaches Beispiel NTC: Ich lese auf einem Kanal die Widerstandswerte und gleichzeitig auf einem anderen Kanal dazu die Temperatur ein und gebe das ganze auf ein X/Y-Chart.  X-Achse -> Widerstandswerte, Y-Achse -> Temperatur. Wie kann ich nun den Zusammenhang über ein Polynom 3. Grades ermitteln, bzw. die Koeffizienten des Polynoms? Das Modul Regression ist dafür ja ungeeignet, da auf der X-Achse immer die Zeit liegt.

Grüße

brb       

Share this post


Link to post
Share on other sites

Hallo!

Ja, DASYLab bietet nur das "einkanalige" Regressionsmodul an.

Es besteht aber die Möglichkeit, mit dem Skriptmodul (ab DASYLab 13) ein eigenes, kleines Modul zu erstellen, um Funktionalität, die im Standardvorrat der Module nicht vorhanden ist, hinzuzufügen.

Das Verhalten des eigenen (Skrip)Moduls kann mit der Skriptsprache Python programmiert werden. Python wiederum kann erweitert werden, z.B. mit der numpy-Bibliothek. Und numpy bietet eine Funktion polyfit an, welche die "zweikanalige" Regression mit einem wählbaren Grad für das Polynom bestimmen kann (s. Link)

https://numpy.org/doc/stable/reference/generated/numpy.polyfit.html

Um das in DASYLab interegrierte die Python um die numpy-Bibiothek zu erweitern, können Sie entweder die Dateien im Anhang dieses Beitrags nutzen oder den Python-"Paketmanager" PIP verwenden.

  • Manuell: Die beiden Verzeichnisse im ZIP-Archiv in das folgende Verzeichnis kopieren:
    C:\Program Files (x86)\DASYLab 2020\python\Lib\site-packages
    Fertig.
  • PIP: Hierzu müssen Sie zuerst eine Kommandozeile öffnen mit Administrator-Privilegien und dann in das folgende Verzeichnis wechseln:
    C:\Program Files (x86)\DASYLab 2020\python
    Hier bitte folgendes eingeben und bestätigen:
    python.exe -m pip install numpy==1.11.0
    Dies installiert die numpy-Version 1.11.0 in das Python, das ins DASYLab 2020 integriert ist.

Um zu prüfen, ob die numpy-Erweiterung erfolgreich eingebunden worden ist, können Sie das Testschaltbild (DASYLab 2020) im Anhang verwenden. Hier werden zwei fest vorgegebene Zahlenreihen (X, Y) der polyfit-Funktion übergeben (Polynom 3. Grades), siehe Screenshot im Anhang.

Das Skript muss noch entsprechend angepasst werden, um die Daten über zwei Moduleingänge entgegenzunehmen, diese in die Funktion einzusetzen und das Ergebnis wieder auf einem Ausgang auszugeben.
Dies stellt (natürlich) die Hauptarbeit dar, das Skriptmodul entsprechend zu programmieren, um die Daten von DASYLab an die Funktion zu übergeben (und wieder zurück).

Wenn Sie dies selber machen möchten, stehe ich natürlich für die Beantwortung konkreter Fragen im Umgang mit dem Skriptmodul zur Verfügung. Alternativ können Sie dies natürlich auch bei uns (measX GmbH&Co. KG) in Auftrag geben.

 

 

 

screenshot.png

numpy_1.11.0.zip numpy_polyfit.DSB

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...