|
|
Matrixeintrag suchen, Abspeichern in neuer Variable |
|
Joachim1968 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.09.2013, 10:45
Titel: Matrixeintrag suchen, Abspeichern in neuer Variable
|
 |
|
 |
|
Ich sitze gerade vor einem Problem. Ich habe im groben gegeben:
Matrix A = [20, 10, 4, 5; 20, 10, 6, 6; 20, 10, 8, 7; 20, 10, 8, 7; 5, 2, 9, 10; 5, 2, 1, 2; 1, 9, 3,1];
Ich müsste jetzt eine Abfrage einfügen, die bewirkt, dass alle Zeilen, bei denen die Elemente der Spalten 1 und 2 identisch sind wiederum in einer neuen Matrix abgespeichert werden.
als Ergebnis sollten dann hier z.B. drei neue Matrizen entstehen, die natürlich unterschiedlich benannt gespeichert werden sollen:
M1 = [20, 10, 4, 5; 20, 10, 6, 6; 20, 10, 8, 7; 20, 10, 8, 7];
M2 = [5, 2, 9, 10; 5, 2, 1, 2];
M3 = [1, 9, 3,1];
Ist so eine Abfrage in Matlab möglich?
Es wäre toll, wenn jemand eine Antwort bereit hätte.
Endziel (gerade aber eher zweitrangig) sollte sein, dass die neuen Matrizen M1 bis M3 als .txt Dateien abgespeichert werden. Der Dateiname sollte sich dabei aus den Elementen der ersten beiden Spalten zusammensetzen, für das Beispiel M1 also 20.10.txt enthalten soll das txt-file jedoch nur noch die Spalten 3 bis 4)
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.09.2013, 10:55
Titel:
|
 |
Hallo,
durchnumerierte Variablen würde ich nach Möglichkeit vermeiden. Cell Arrays sind für die automatisierte Verarbeitung besser.
Grüße,
Harald
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 19.09.2013, 11:52
Titel:
|
 |
hey harald funktioniert das dann aber nicht nur wenn die matrix schon sortiert ist ?. das siht zwar im beispiel so aus aber kann ja sein das das zufall ist . najagut ein vorgeschaltet sortrows sollte das dann ja erledigen.
_________________
richtig Fragen
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.09.2013, 13:21
Titel:
|
 |
Hallo,
stimmt. Meine (leider nicht immer zutreffende) Annahme ist meist, dass das Beispiel repräsentativ für die tatsächliche Anwendung ist ;)
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.09.2013, 17:53
Titel:
|
 |
Hallo Harald,
Hast Du gute Gründe für diese Annahme?
Es ist bei Fragen ja ein typisches Phänomen, dass der Fragende noch nicht weiß, welche Aspekte relevant sind. Für die Formulierung eines wirklich repräsentativen Datensatzes muss man eigentlich die gesamte Struktur der Lösung bereits erfasst haben. Und wenn es soweit ist, postet man meistens nicht mehr im Forum.
Viele Grüße, Jan
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.09.2013, 20:36
Titel:
|
 |
Hallo Jan,
Zitat: |
Für die Formulierung eines wirklich repräsentativen Datensatzes muss man eigentlich die gesamte Struktur der Lösung bereits erfasst haben. |
Das sehe ich nicht so. Nicht umsonst ist eine Matrix von Zufallszahlen, ggf. mit bestimmten Dimensionen, sehr oft schon ein repräsentativer Datensatz.
In diesem speziellen Fall denke ich doch, dass das Sortieren der Zeilen deutlich einfacher ist als das Aufspalten in die Blöcke. Es ist also zudem gut möglich, dass jemand zwar weiß, wie er seine Daten sortiert (falls sie es denn noch nicht sind), aber nicht weiß, wie er weitermachen muss.
Vor allem aber: im Zweifelsfall kann man doch nachfragen?
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.09.2013, 13:39
Titel:
|
 |
|
 |
|
Hallo Harald,
RAND bietet natürlich sehr häufig eine Möglichkeit Testdaten zu generieren. Aber gerade wenn es darauf ankommt, ob die Daten sortiert sind, muss der Fragende dieses Detail als wichtig erkennen und erklären.
Ich war verblüfft, als für eine Diskussion Testdaten per RAND erzeugt wurden: Es sollten zwei quadratische Matrizen erstellt werden, deren Elemente zwar "irgendwie" von einander abhängen, innerhalb jeder Matrizen sollten die Elemente aber nicht korreliert sein:
Die Ergebnisse waren aber ganz anders als erwartet. Schließlich haben wir mit IMAGESC() ganz anschaulich feststellen können, dass die Inverse einer zufälligen Matrix ganz und gar nicht zufällig ist. Dies war dann besser:
Du hast recht, dass für Probleme, bei denen der Algorithmus nicht von den Werten abhängt, z.B. DOT-Produkt, MEAN, PLOT, etc., sinnvolle Testdaten auch ohne Kenntnis über die Struktur der Lösung angegeben werden können. Anders sieht es aus, wenn der Algorithmus von den Werten abhängt: Gauss-Zerlegung mit Pivotisierung, Sortieren mit oder ohne identische Elemente, gleitender Mittelwert mit oder ohne NaNs im Input, Integration einer stetigen oder nicht-stetigen Funktion etc.
Dann benötigen repräsentative Testdaten schon, dass man erkannt hat, wo eigentlich der Knackpunkt liegt.
Gruß, Jan
|
|
|
|
|
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 - 2025
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.
|
|