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 

Berechnung Verteilung



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!

20.01.2009, 14:52
Beitrag #1

sccompu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 105
Registriert seit: Feb 2005

2014
2000
DE

89293
Deutschland
Berechnung Verteilung
Hallo zusammen,

bei einer Datenauswertung möchte ich die Datenverteilung in einem Histogramm darstellen.
Der Kanal hat ~200000 Werte.
Ich verwende wie im Programm ersichtlich die LabVIEW eigene Routine zum Erstellen des Histogramms.
Leider habe ich hier sehr hohe Durchlaufzeiten (~ 4 Minuten) !

Das Datenarray ist schon vorher per Dateimenü geladen worden und sollte eigentlich schon im
Speicher sein.

Was dauert hier so lange ?

Hat mir jemand einen Tip?

Vielen Dank für eure Antworten.

Gruß
Christian


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2009, 15:21
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Berechnung Verteilung
Und wieso verwendest du diese PtbyPt-Funktion?

Mach doch direkt das Histogramm in einem Aufwasch mit diesem VI:
   

Dauert bei mir bei 200000 Zufallswerten und 50 Klassen nur wenige Millisekunden.

MfG, 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
21.01.2009, 07:21
Beitrag #3

sccompu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 105
Registriert seit: Feb 2005

2014
2000
DE

89293
Deutschland
Berechnung Verteilung
Hallo Jens,

vielen Dank für die Antwort.
Ich habe es getestet, das ist wirklich viel schneller.
Irgendwie kam ich nicht auf die Idee unter der Sparte Mathematik zu suchen.
Leider ist mir nicht ganz klar, was den Geschwindigkeitsvorteil der einen Funktion bringt.
Die aufgerufene DLL muß doch sicherlich auch das ganze Array abarbeiten und den Klassen zuordnen.

Gruß
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2009, 08:26
Beitrag #4

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
Berechnung Verteilung
Morgen!

' schrieb:Die aufgerufene DLL muß doch sicherlich auch das ganze Array abarbeiten und den Klassen zuordnen.

Punkt-für-Punkt-Funktionen sind dafür gedacht, nacheinander Punkte zu verarbeiten, die so in LabVIEW ankommen, z.B. Filterung von sequentiell eintreffenden Daten etc. Das wird in einer anderen Datenverarbeitungskette resultieren und ein VI, dass halt nicht für Punkt-für-Punkt-Funktionalitäten gedacht ist, ist ggf. schneller. Woran das jetzt genau liegt, mmh, könnte ich nur raten... Lassen wir das lieber...;)Aber für realistisch halte ich es schon, dass es (auch deutlich) unterschiedliche Laufzeiten gibt...

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2009, 11:25
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Berechnung Verteilung
' schrieb:Leider ist mir nicht ganz klar, was den Geschwindigkeitsvorteil der einen Funktion bringt.
Die aufgerufene DLL muß doch sicherlich auch das ganze Array abarbeiten und den Klassen zuordnen.
Das ist jetzt wieder so ein Fischen im Trüben:
1. Was macht denn das selbstgeschriebene VI vor der For-Loop?
2. In der For-Loop hast du den Index an einen Indicator angeschlossen, der somit im FP bei jedem Durchlauf aktualisiert wird, das kostet...
3. Die PtbyPt Funktion ist komplett in LV geschrieben, das ist häufig langsamer als eine DLL.
4. Als PtbyPt-Funktion weiss der Algorithmus ja nicht, wie groß das Min & das Max in deinem Array sind. Somit wird da garantiert dauernd umsortiert.
5. etc. etc. etc.

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
21.01.2009, 14:35
Beitrag #6

sccompu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 105
Registriert seit: Feb 2005

2014
2000
DE

89293
Deutschland
Berechnung Verteilung
Hallo Jens,


zu 1: Das Vi vor der For-Loop hat mir nur die Daten etwas komprimiert, gibts jetzt aber nicht mehr.
zu 2: Der Index wurde nur zu Testzwecken dargestellt, gibts auch nicht mehr, war aber auch nicht das Problem.
zu 4: Ich bin deiner Meinung, dass die DLL wohl einen besseren Algorithmus zur Sortierung hat.

Bis dann und Gruß

Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Graph mit Cursor - Berechnung und Darstellung beschleunigen Winterkind 4 4.786 05.05.2021 10:40
Letzter Beitrag: Winterkind
  Maximalwert Berechnung eines Peaks helloworld 8 8.052 23.05.2013 12:47
Letzter Beitrag: Lucki
  Verteilung der Threads auf die CPU Kerne blubblub 3 5.040 24.12.2012 10:16
Letzter Beitrag: blubblub
  Verbrauchs-Berechnung Schüler92 9 7.391 11.04.2011 15:52
Letzter Beitrag: IchSelbst

Gehe zu: