|
|
Alle Zeilen in einer Matrix finden die homogen sind |
|
Akinh0 |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 29.06.22
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.11.2022, 01:48
Titel: Alle Zeilen in einer Matrix finden die homogen sind
|
|
Hallo Leute,
ich muss für meine Bachelorarbeit ein Matlab-Skript verwenden und damit experimentieren. In dem Skript ist eine Variable als 4096x4 Matrix abgespeichert.
Dabei ist die Matrix so aufgebaut, dass die erste zeile 1 1 1 1 ist und danach jede kombination durchläuft mit den Zahlen 1-8. Also z.B 1 1 1 1 dann 2 1 1 1 dann 3 1 1 1 usw. bis eben 8 8 8 8 am ende steht. Jetzt möchte ich alle homogenen Zeilen finden. also quasi 1 1 1 1; 2 2 2 2; 3 3 3 3 bis eben 8 8 8 8. Leider habe ich überhaupt keinen ansatz wie ich das machen soll. kann mir jemand dabei helfen?
Gruß Akin
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.11.2022, 08:52
Titel:
|
|
Hallo,
verwende diff, um die Differenz entlang der Zeilen zu bestimmen. Wenn diese Differenz immer 0 ist (Befehl: all), dann ist die Zeile "homogen".
Für weitere Unterstützung poste bitte, wie du die Matrix aufbaust.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Akinh0 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 29.06.22
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.11.2022, 13:45
Titel:
|
|
|
|
|
Hallo Harald,
vielen Dank wieder einmal für deine Hilfe
ich habe es jetzt selbst hinbekommen mit der Funktion find( Bedingung A & Bedingung B usw.) und es funktioniert auch soweit alles so wie es soll.
Ich habe jetzt ein neues Problem.
Für das Experiment habe ich ein Skript geschrieben welches quasi einen Versuch 4096 mal ausführt. Ich habe mehrere Variablen mit denen ich Plots erstelle. Dabei sind alle Variablen 1x4096 Matritzen.
Mein Prof hat das Experiment selber auch durchgeführt, alledings mit einem deutlich größeren Datensatz (ca. 10^6 Einträge).
Ich muss jetzt die Plots für seine Daten auch erstellen, allerdings hat er für jede Variable mehrere Parts.
Also Bei mir zu Beispiel gibt es die Variable distance. Diese hat in allen Spalten unterschiedliche einträge und ist eine 1x4096 Matrix.
Bei meinem Prof gibt es die mat files distance_Part1, distance_Part2 usw. Dabei hat der erste Part zb. 10000 verschiedene Einträge und ist eine 1x10000 Matrix. Der zweite Part hat 20000 Einträge allerdings sind die ersten 10000 = 0.
wie lade ich jetzt die dateien, sodass ich im Workspace die Variable distance habe mit allen 20000 einträgen?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.11.2022, 15:21
Titel:
|
|
Hallo,
Zitat: |
ich habe es jetzt selbst hinbekommen mit der Funktion find( Bedingung A & Bedingung B usw.) und es funktioniert auch soweit alles so wie es soll. |
Das ist unnötig kompliziert, aber Hauptsache es funktioniert.
Wie heißen denn die Variablen, die in diesen .mat-Dateien drin sind?
Wieviele solcher .mat-Dateien sind es?
Am einfachsten ist es immer, wenn du Beispiele anhängst.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Akinh0 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 29.06.22
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.11.2022, 19:22
Titel:
|
|
Also ich habe insgesamt 6 Variablen und jede Variable ist in 6 Parts unterteilt.
Z. B. heißt eine Variable: data_dist_list_2_Part1_DATUM und die nächste heißt dann halt data_dist_list_2_Part2_DATUM und das geht halt bis Part6 und das Datum ist immer gleich. Alle 6 Parts zusammen haben nur eine Variable die distance_list heist.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.11.2022, 21:30
Titel:
|
|
Hallo,
wie gesagt: es wäre gut, wenn du ein Beispiel postest.
Auch wenn es nun etwas klarer ist, stellt sich die Frage:
Zitat: |
Der zweite Part hat 20000 Einträge allerdings sind die ersten 10000 = 0. |
Hat der dritte Part dann 30000 Einträge und die ersten 20000 sind 0?!
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Akinh0 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 29.06.22
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.11.2022, 22:35
Titel:
|
|
Ja genau und das geht so weiter sodass der letzte part quasi 60000 einträge hat wobei die ersten 50000 = 0 sind.
Edit: Ich sehe jetzt gerade, dass nicht alle Parts gleich groß sind also part1 hat 88574 Einträge, Part 2 = 177178, Part 3 = 265722, Part 4 = 354296, Part 5 = 442870 und Part 6 = 531441
Alos nochmal zum Verständnis: Part2 hätte jetzt 88574 mal die 0 und dann weitere Einträge bis 177178 die ungleich 0 sind und Part 3 hat dann 177178 mal die 0 und dann bis 265722 wieder Einträge die ungleich 0 sind.
|
|
|
Akinh0 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 29.06.22
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.11.2022, 23:42
Titel:
|
|
Alos ich habe das jetzt so gelöst:
Das ganze funktioniert auch nur, weil die einzelnen Parts eigentlich keine 0 einträge haben sollten, weil es nur annäherungen sind also alle Variablen haben bei dem experiment keine 0 Einträge. Diese sind nur entstanden weil die Variablen auf mehrere Parts aufgeteilt wurden.
vlt hast du ja noch eine andere Idee wie es vlt einfache geht.
Gruß
Akin
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.11.2022, 08:50
Titel:
|
|
Hallo,
hänge doch bitte Beispiel .mat-Dateien an! Ggf. gezippt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Akinh0 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 29.06.22
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.11.2022, 21:14
Titel:
|
|
Ok hab im Anhang eine Variable mal angehangen.
Beschreibung: |
|
Download |
Dateiname: |
dist_list.rar |
Dateigröße: |
467.4 KB |
Heruntergeladen: |
154 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.11.2022, 21:31
Titel:
|
|
Hallo,
für dieses Beispiel liefert das dieselben Werte wie dein Ansatz, ist aber flexibler und löscht auch nicht Nullen mitten im Datensatz.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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.
|
|