LabVIEWForum.de
Zufallswerte aus Array auswählen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Zufallswerte aus Array auswählen (/Thread-Zufallswerte-aus-Array-auswaehlen)

Seiten: 1 2 3


Zufallswerte aus Array auswählen - DOM88 - 21.11.2011 12:42

Hey, Rolleyes

Wie kann ich aus meinem Array mit schon vordefinierten Werten, in zufälliger Reihenfolge, alle auswählen, ohne einen Wert öfter als 1 mal zu erhalten? Bitte um eure Hilfe.

mfg DOM


RE: Zufallswerte aus Array auswählen - NWOmason - 21.11.2011 12:54

(21.11.2011 12:42 )DOM88 schrieb:  Wie kann ich aus meinem Array mit schon vordefinierten Werten, in zufälliger Reihenfolge, alle auswählen, ohne einen Wert öfter als 1 mal zu erhalten? Bitte um eure Hilfe.

Ich würde das Array über eine FOR-Schleife schicken. Dort bei jeden Durchlauf einen Zufallsindex ermitteln. Weiterhin alle schon benutzen Indizies mittels eines Arrays im Schieberegister durchschieben und bei jeder Schleife auswerten. Ist ein Index schon vorhanden, dann einfach den nächsten nehmen.

Hier mal ein Grundgerüst ohne 'Index-Ermittlungs'-Algorithmus:

[attachment=37290]

Der Rest ist Hinrschmalz Big Grin

Beste Grüße,
NWO


RE: Zufallswerte aus Array auswählen - M@rRy - 21.11.2011 13:27

Alternativ: Element lesen und dann löschen, dann brauchst du dir nicht merken welches du schon hattest und welches nicht.


RE: Zufallswerte aus Array auswählen - GerdW - 21.11.2011 13:43

Hallo,

Ma@rys Vorschlag im Bild:
[attachment=37292]
(Nicht, dass das ein ressourcensparendes VI wäre...)


RE: Zufallswerte aus Array auswählen - Lucki - 21.11.2011 14:10

Da die Zahl der Durchläufe bekannt ist, bietet sich eine For-Schleife an. Ansonsten identisch mit M@ry/Gerd:
[attachment=37294]
Edit: Aber warum sich das alles antun. Das passgenaue VI zum Mischen von Arrays heißt - ja wie wohl? Richtig: "Mischen", und befindet sich in Signalverarbeitung/..Operationen.
[attachment=37308]


RE: Zufallswerte aus Array auswählen - DOM88 - 23.11.2011 16:20

Danke für eure zahlreichen Vorschläge.

@ GerdW: Eine Frage zu deinem Bild. Wo schreibst du die vordefinierten Werte in das Array? Ab dem Multiplizieren mit der Zufallszahl kann ich dem Programm nicht mehr ganz folgen, vielleicht auch weil ich mit Labview erst seit kurzem vertraut bin. Könntest du mir das Programm eventuell in ein paar Schritten kurz erklären?

Lg DOM Blush


RE: Zufallswerte aus Array auswählen - GerdW - 23.11.2011 16:25

Hallo Dom,

1) Schaue, wieviele Elemente noch im Ausgangsarray (im Schieberegister) enthalten sind
2) Wähle zufällig eines dieser Elemente aus (Random * ArraySize, abrunden wegen Index ab 0)
3) Entferne das gewählte Element aus dem Ausgangsarray und schreibe es in den Tunnel
4) Wiederhole die Schleife, bis nur noch 1 Element im Array vorhanden ist
5) Hole die Werte vom (autoindizierenden) Tunnel ab

Zitat:Wo schreibst du die vordefinierten Werte in das Array?
Siehe Punkt 5...


RE: Zufallswerte aus Array auswählen - DOM88 - 26.11.2011 18:00

Idea Vielen Dank,

aber eine Frage hätt ich noch, zurzeit werden in das Array nur die Zahlen 0 bis 11 in einer zufälligen Reihenfolge gespeichert. Wie kann ich meine, schon definierten Werte aus dem Array (Bild) in das Programm einbauen, sodass diese anstatt der Zahlen 0 bis 11 zufällig gespeichert werden? Ich nehme an, dass die Werte des Arrays in der For-Schleife übergeben werden müssen, aber das hat bei mir irgendwie nicht geklappt.

Bitte um deinen Rat.

Lg DOM


RE: Zufallswerte aus Array auswählen - GerdW - 26.11.2011 21:11

Hallo Dom,

die FOR-Schleife simuliert nur deine Werte, ich war zu faul, die erst alle abzutippen. (Merke: Je mehr VI du uns anbietest, desto besser können wir auf deine Bedürfnisse eingehen...).
Deshalb:
FOR-Schleife löschen und stattdessen dein Array an das Schieberegister anschließen...


RE: Zufallswerte aus Array auswählen - DOM88 - 28.11.2011 08:08

Vielen Dank für deine Hilfe, funktioniert super 2hands

Lg DOM