|
|
Zeilen einer Matrix vergleichen |
|
Phluffy |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.08.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2015, 22:45
Titel: Zeilen einer Matrix vergleichen
|
|
Liebe Community,
Ich habe folgendes Problem:
Ich habe eine Matrix MxN (z.B. 24 Zeilen, 2 Spalten), welche aus Werten 0 und 1 besteht:
Es sind folgende Kombinatinoen möglich:
[0,0] sowie [1,0], [0,1] und [1,1]
Nun möchte ich mir anzeigen lassen, wie häufig z.B. die Kombination [0,0] in der Matrix als Zeile Auftritt.
Z.B. [0,0] gibt es 5x, [1,0] gibt es gar nicht, [0,1] gibt es 10x und [1,1] treten 4x auf.
Habt ihr eine Lösung wie ich das möglichst einfach als code schriben kann?
Ich habe schonüberlegt ggf. Strings der Zeilen zu bilden, oder verschachtelte if Anweisungen mit dem Vergleichsoperator "==", aber bisher kam ich zu keiner Lösung.
Danke für eure Hilfe, bitte entschuldigt falls ich den Thread falsch gepostet oder schlecht erklärt habe - ich bin für Anmerkungen offen
Liebe Grüße,
Phluffy
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 22.08.2015, 06:24
Titel:
|
|
|
|
Phluffy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.08.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.08.2015, 09:48
Titel:
|
|
Lieber Winkow, vielen Dank für deine Vorschläge und die zügige Antwort!
Die Zeilen in Dezimalzahlen umzuwandeln ist leider keine Option, da das Beispiel später auch einmal Kommazahlen enthalten soll, und [ 1,2 1,4 2,3] kann ich ja nicht als eine Dezimalzahl ausgeben
Soweit bin ich bisher:
die Funktion
liefert folgendes:
Meine Frage ist nun wie folgt:
Wie erhalte ich einen (am besten Spalten-) Vektor, welche die Häufigkeiten jeder Wortart enthält:
z.B.
(das Wort [0,0] kam 4x vor)
Hinweis: der Befehl
gibt leider eine 1/0 für beide Zeilen zurück (z.B. [ 0 1 ]), würde es nur für den Gesamtausdruck eine 0(falsch) oder 1(richtig) zurückgeben, so könnte ich in einer Zählschleife
einen Zählindex selber ausrechnen. Aber so kommme ich einfach nicht weiter
Danke für eure Hilfe!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.08.2015, 11:38
Titel:
|
|
Hallo,
bitte ein aussagekräftiges Beispiel wählen (wenn das Beispiel nur 0 und 1 enthält, später aber alles sein kann, ist das nicht der Fall) und die Doku der empfohlenen Funktionen lesen.
Grüße,
Harald
|
|
|
Phluffy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.08.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.08.2015, 14:21
Titel:
|
|
Vielen Dank dafür Harald, jetzt klappt es ausgezeichnet
Ich habe vorher die Hilfe zu unique gelesen, wurde aber aus den zwei anderen outputs nicht schlau!
Ich werde mich natürlich beim nächsten mal um ein aussagekräftigeres Beispiel bemühen, habe selbst mit dem einfachen weg angefangen
Bis bald!
|
|
|
2B |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2018, 18:12
Titel: Zwei Spalten Zeilenweise vergleichen
|
|
Hallo,
habe auch ein Problem beim Vergleichen von zwei Spalten.
Habe vieles probiert, nur leider nicht weitergekommen.
Ich habe zwei Spalten mit 1060 Zeilen (1060x2 double) und will Zeilenweise überprüfen, ob die Werte identisch sind:
13 13
13 15
14 14
14 14
....
Dazu mein code:
Es wird mir nur 'ungleich' ausgegeben, obwohl auch gleiche Werte vorhanden sind.
Wo liegt mein Fehler?
Und wie kann ich sagen, dass, wenn es 'gleich' ist, den Wert 0 bekommen soll und diesen Wert anschließend in der 3. Spalte im double speichern soll?
Sprich,
13 13 0
13 15 1
14 14 0
14 12 1
....
Vielen Dank im Voraus
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.03.2018, 18:56
Titel:
|
|
Hallo,
das Problem ist, dass du in der Schleife k überhaupt nicht verwendest. Es ist aber auch gar keine Schleife nötig:
Grüße,
Harald
P.S.: die ersten beiden Codezeilen haben doch gar nichts mit der Frage zu tun? Dann bitte nächstes Mal weglassen.
|
|
|
2B |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2018, 20:28
Titel:
|
|
Hallo,
wow, vielen Dank. Hätte nie gedacht, dass es so einfach gehen könnte.
Dankeee
Eine kleine Frage hätte ich noch. Ich hatte gelesen, dass in double array keinen Spaltennamen hinzugefügt werden kann, dies geht nur unter cell. Das habe ich auch hingekriegt.
Könnte ich aber denn zu diesem Beispiel wirklich keinen Spaltennamen hinzufügen?
Schöne Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.03.2018, 21:50
Titel:
|
|
Hallo,
bei Doubles gibt es wirklich keine Spaltennamen. Ich würde statt Cell Arrays aber Tables verwenden.
Grüße,
Harald
|
|
|
2B |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2018, 22:15
Titel:
|
|
Hallo,
ok, super. Dann mache ich es so. Vielen Dank, sie haben mir sehr geholfen
Schöne Grüße
2B
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|