LabVIEWForum.de
Häufigkeitsverteilung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Häufigkeitsverteilung (/Thread-Haeufigkeitsverteilung--21575)



Häufigkeitsverteilung - labViewHeini - 27.03.2012 19:41

Hallo zusammen

Ich programmiere seit einigen Wochen mit LabView und soll nun eine Aufgabe lösen. Leider habe ich keine Ahnung wie das genau gehen soll.
Kann mir da jemand helfen?

Die Aufgabe:

1. Es soll die Häufigkeitsverteilung der verschiedenen Buchstaben in einem String erstellt werden.
2. Falls das Wort falsch geschrieben wurde, soll aufgrund der Häufigkeitsverteilung ein ähnliches Wort gefunden und angezeigt werden.


Danke schon im Voraus


RE: Häufigkeitsverteilung - NWOmason - 28.03.2012 06:31

Hallo Heini,

(27.03.2012 19:41 )labViewHeini schrieb:  1. Es soll die Häufigkeitsverteilung der verschiedenen Buchstaben in einem String erstellt werden.

Das sollte noch recht einfach zu lösen sein. Ein String kann in ein Byte-Array umgeformt werden:

String nach Byte-Array (Funktion)
http://zone.ni.com/reference/de-XX/help/371361H-0113/glang/string_to_byte_array/

Dieses Array kannst du einfach durch ein For-Schleife jagen und jeden Buchstaben auswerten (bzw. diese zählen). Das Erbegnis sieht dann so aus:

[attachment=39262]

Da es sich um eine Aufgabe handelt, bekommts du natürliche keine fertige Lösung präsentiert Wink

(27.03.2012 19:41 )labViewHeini schrieb:  2. Falls das Wort falsch geschrieben wurde, soll aufgrund der Häufigkeitsverteilung ein ähnliches Wort gefunden und angezeigt werden.

Das wird dann schon kreativer. Wie soll erkannt werden, dass ein Wort falsch geschrieben wurde. Gibt es eine Datenbank für Wörter? Natürlich kann man die Buchstaben einfach der Häufigkeit nach dann neu verteilen...

Beste Grüße,
NWO


RE: Häufigkeitsverteilung - GerdW - 28.03.2012 08:34

Hallo Heini,

"Häufigkeitsverteilungen" bestimmt man mit Histogrammen - und da soll es schon was fertiges von NI geben...


RE: Häufigkeitsverteilung - labViewHeini - 28.03.2012 09:01

Hallo NWOmason

Danke für deine Antwort. Gibt es nicht die Möglichkeit mir die Lösung oder zum Mindest eine Teillösung zu präsentieren? Bin wirklich blutjunger Anfänger und begreife LabView noch nicht so gut.
Zu deiner Frage: Ja das eingegebene Wort würde mit einer selbsterstellten Datenbank (Inhalt ca. 20 Wörter) verglichen werden, und das ähnlichste würde dann angezeigt werden.



Hallo GerdW

Dein Tipp sieht ja gut aus. Geht ein solches Histogramm auch für Buchstaben? Im Beispiel das du mir gegeben hast wird das Histogramm nur auf Zahlen basierend gemacht.



Danke für eure Hilfe


RE: Häufigkeitsverteilung - Hook1986 - 28.03.2012 09:57

Hallo Heini,

(28.03.2012 09:01 )labViewHeini schrieb:  Geht ein solches Histogramm auch für Buchstaben? Im Beispiel das du mir gegeben hast wird das Histogramm nur auf Zahlen basierend gemacht.

Überlege doch mal bitte, wie die Buchstaben gespeichert sind. Das sind eigentlich auch nur Zahlen. Wenn du also für die Häufigkeitsverteilung sowohl für deine Datenbank als auch für deine Analyse den selben Algorithmus verwendest, ist es doch egal ob es eine Zahl oder ein Buchstabe ist.

MfG Carsten


RE: Häufigkeitsverteilung - NWOmason - 28.03.2012 10:10

(28.03.2012 09:01 )labViewHeini schrieb:  Gibt es nicht die Möglichkeit mir die Lösung oder zum Mindest eine Teillösung zu präsentieren?

Die Lösung ist wirklich sehr simpel und würde somit keinen Lerneffekt bringen, wenn man sie auf dem Silbertablett servieren würde.

(28.03.2012 09:01 )labViewHeini schrieb:  Bin wirklich blutjunger Anfänger und begreife LabView noch nicht so gut.

Dann ist eine gesunde Einarbeitung der bessere Weg um Aufgabenstellungen besser bewältigen zu können. Am besten damit:

Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Diese Grundlange reichen völlig aus, um die Aufgabe zu lösen Smile

(28.03.2012 09:01 )labViewHeini schrieb:  Geht ein solches Histogramm auch für Buchstaben? Im Beispiel das du mir gegeben hast wird das Histogramm nur auf Zahlen basierend gemacht.

Ich frage mal dumm: Hast du es mit Buchstaben ausprobiert? Teste doch mal ein bisschen. Nochmal der Tip: Buchstaben in Zahlen umwandlen (Das Vi dazu steht bereits in Beitrag #2).

Beste Grüße,
NWO


RE: Häufigkeitsverteilung - Kiesch - 02.04.2012 09:27

Mal grob ein mögliches Design skizziert (bei dem man im übrigen auch keine Buchstaben in Zahlen umwandeln muss):

Erst Großschreibung nach Kleinschreibung umwandeln. Dann nich darstellbare Zeichen entfernen (um leerzeichen etc. loszuwerden). Dein Ergebnis legst du in einem Array aus einem Cluster ab der eine Integer (die Anzahl des auftretens) und einen String (ein Zeichen - da legst du ab welcher Buchstabe) enthält. Dann einfach den String Zeichen fuer zeichen parsen, vergleichen ob das Zeichen schon im Cluster ist, falls nein - einfügen und auf 1 Zählen, falls ja - Anzahl um eins erhöhen.

Danach kannste das Ergebnis beliebig weiterverwenden und darstellen.

Für den Zweiten teil suchste dann einfach ein Wort im Wörterbuch das eine identische / ähnliche Häufigkeitsverteilung hat. Da kann man zwar noch sehr viel mehr reinpacken (suchen nach ähnlicher reihenfolge der Buchstaben etc. pp) aber das soll ja wohl nur ne Übung sein ^^

Gruß Kiesch