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 

Gauss Darstellen



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!

24.07.2014, 18:02
Beitrag #1

serge87 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

8.6
2014
EN



Gauss Darstellen
Hallo zusammen.
Ich bin gerade dabei meine LabView Fähigkeiten etwas aufzubessern und neues dazuzulernen. Was ich nun machen wollte, ist eine Gauss Funktion mithilfe eines zufallsgenerators darzustellen. Unten habe ich mein aktuelles VI angehängt.

   

Die Grundidee ist relativ simpel: Es soll 1000 mal eine zufallszahl zwischen 0 und 1 generiert werden. Wenn die Zahl grösser gleich 0.5 ist, wird der counter eins hochgezählt und am schluss erreicht der counter einen bestimmten wert, zB 502. Dieser vorgang wird dann immer und immer wieder wiederholt (innerhalb einer while loop). Nun scheitere ich aber daran, diese zahlen des counters weiterzuverarbeiten. Eigentlich wollte ich diese in ein array schreiben, dass am ende irgendwie ausschaut wie [455,487,576,502,499,487,544,519,488...... etc], und dieses array will ich dann in einem histogramm darstellen. Wie man aber bei meinem VI erkennt, kann ich den datenfluss vom shiftregister nicht zum array weitergeführt werden.

kann mir jemand einen tipp geben, wie ich mein "array-problem" lösen kann?

liebe grüsse
Serge
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.07.2014, 19:04
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Gauss Darstellen
Du brauchst noch:

- Entweder ein Shift-Register in der äußeren While-Loop + Build-Array
- Oder das Array außerhalb der While-Loop inkl. AutoIndexing

Gruß, Jens

P.S.: Und außerdem brauchst du eine neue Tastatur, da scheint die Hochstelltaste nicht richtig zu funktionieren (vgl. LVF-Regeln). Wink

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
24.07.2014, 20:16 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2014 20:20 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gauss Darstellen
Hallo Serge,

so sollte dein Ergebnis in etwa aussehen:
   
Hier mit Autoindizierung, polymorpher Arrayverarbeitung, fertigen Funktionen aus der Mathematik-Palette…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2014, 22:23 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2014 22:44 von serge87.)
Beitrag #4

serge87 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

8.6
2014
EN



RE: Gauss Darstellen
Liebe Leute
Danke erstmal für eure sehr hilfreichen Antworten. Jens, dein erster Vorschlag mit dem Shiftregister in der While-Loop habe ich nicht genau verstanden. Ich wäre hier noch für eine etwas genauere Hilfestellung dankbar. Was muss ich shiften und wo kommt der build-array hin?
Den zweiten Vorschlag konnte ich hingegen realisieren.

   

Schaut bei mir so aus und klappt allem Anschein nach sehr gut Smile. Hab richtig Freude dass es klappt. Danke

@Gerd: Danke auch für deinen Vorschlag, werde ihn mir noch genau anschauen. Bin ja froh verschiedene Wege zur Lösung kennenzulernen.

Eine Kleinigkeit wäre noch: So als "Showeffekt" fände ich es noch cool, wenn sich der Gauss so "Step-by-Step" aufbauen würde. Also dass nicht am Ende der Loop grad alles aufs mal dargestellt wird. Bin überzeugt dass es auch hierfür eine Lösung gibt. Ist das hinzubekommen mit einfachen Mitteln oder wäre das schon Fortgeschrittenenniveau?

danke nochmals
Serge


Edit: Gerd, ich habe deine Lösung nun ebenfalls implementiert und funktioniert wunderbar. Etwas einfacher als mein Ansatz, gefällt mir Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2014, 23:06
Beitrag #5

serge87 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

8.6
2014
EN



RE: Gauss Darstellen
Sorry, ich bins nochmal. Ich habe mich nun noch an einer Methode für den "Live-Gauss" (siehe oben) versucht. Leider klappts noch nicht. So schaut mein VI aus:

   

Den kritischen Teil habe ich mit dem Lasso markiert. Meine Idee: Ich initialisiere einen neuen Array mit 2000 Einträgen welche zu beginn alle auf "0" sind. Nun versuche ich mithilfe des "Insert to Array" das Ergebnis der Summe in diesen Array zu schreiben, wobei ich für den Index den Loop Count der äusseren Schlaufe benütze. Würde für mich so sinn machen, leider klappt es aber nicht. Als ergebniss bekomme ich im Histogramm einen Balken beim Wert 0 mit 2000 counts. Schein also so als ob die Werte nicht eingelesen werden?

gruss
Serge
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2014, 06:56
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Gauss Darstellen
Für Live Darstellung musst du das Array IN der Whike Loop erstellen (Think Dataflow).
Das heißt, du brauchst ein Shift-Register an der While Loop, um das Array immer wieder an den nächsten Schleifen Durchlauf weiterzugeben, und du brauchst ein Build Array in der While Loop, um den letzten an das Array anzuhängen.

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
Anzeige
25.07.2014, 08:02
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gauss Darstellen
Hallo Serge,

Zitat:Meine Idee: Ich initialisiere einen neuen Array mit 2000 Einträgen welche zu beginn alle auf "0" sind. Nun versuche ich mithilfe des "Insert to Array" das Ergebnis der Summe in diesen Array zu schreiben, wobei ich für den Index den Loop Count der äusseren Schlaufe benütze.
Codeanalyse anhand deines Bildes:
- Warum eine While-Loop, wenn du genau 2000 Iterationen luafen lassen willst? Wann immer man eine genau definierte Anzahl Iterationen benötigt, nimmt man eine FOR-Loop!
- Warum stoppst du die While-Loop erst in der 2001. Iteration (mittels Vergleich i==2000)? Indices fangen immer bei Null an zu zählen!
- THINK DATAFLOW: Warum initialisierst du in jeder Iteration erneut ein Array mit 2000 Nullen?
- THINK DATAFLOW: Warum verwendest du InsertIntoArray, wenn du einen Wert an einer bestimmten Stelle im Array eintragen willst? Nimm ReplaceArraySubset, um die vorher initialisierte Null durch deinen Wert zu ersetzen!

Zitat:Würde für mich so sinn machen, leider klappt es aber nicht.
THINK DATAFLOW! Und tue dir die Links in meiner Signatur an…

Jens gab schon viele gute Hinweise zum richtigen Aufbau dieses simplen VIs!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2014, 16:38
Beitrag #8

serge87 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

8.6
2014
EN



RE: Gauss Darstellen
Danke für eure Antworten. Ich werde mich also erstmal durch die Links durcharbeiten. Angel_not

Grüsse
Serge
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Gauss-Fit Funktion nicht Vorhanden: Ersetzung durch eigenes VI? Sternhagel 1 3.941 01.12.2011 13:02
Letzter Beitrag: Cerub
  Schwerpunkberechnung von Gauss-Kurve Sternhagel 3 7.537 15.06.2011 07:32
Letzter Beitrag: Lucki

Gehe zu: