|
Kathicita |
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 20.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.04.2020, 20:20
Titel: Dimension extrahieren
|
|
Hallo,
ich würde gerne die Dritte Dimension einer Matrix extrahieren, damit spätere commands, wie z.B. "mode" anwendbar sind.
Leider habe ich dafür bisher leider noch keine Funktion gefunden.
Würde mich über einen Tipp sehr freuen.
Im Anhang findet ihr zwei 3D Matrizes als Beispiel (bei einer ist die gewünschte 3. Dimension im datetime Format).
Liebe Grüße
Beschreibung: |
|
Download |
Dateiname: |
Matlab_datetime.mat |
Dateigröße: |
3.09 MB |
Heruntergeladen: |
701 mal |
Beschreibung: |
|
Download |
Dateiname: |
Matlab.mat |
Dateigröße: |
2.69 MB |
Heruntergeladen: |
450 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2020, 07:48
Titel:
|
|
Hallo,
wie stellst du dir das mit dem Extrahieren der 3. Dimension vor? Man kann eine oder mehrere Zeilen, Spalten, oder Blätter extrahieren, aber eine Dimension??
Wenn es um das Extrahieren eines Blatts geht:
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 ;)
|
|
|
Kathicita |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 20.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2020, 13:33
Titel:
|
|
|
|
|
Hallo,
ich würde gerne ein paar weitere commands mit den Daten in der dritten Dimension durchführen. Oftmals, ist dies allerdings ein Problem, da das Indizieren dort bisher nicht funktioniert bzw. die Operation nur bei einer einfachen Matrix möglich ist.
Da mir bei diesen weiteren Commands, die Informationen in den ersten zwei Dimensionen egal sind und ich nur gewisse Informationen aus der dritten Dimension herausfinden möchte, würde ich gerne diese in einer eigenen Matrix haben.
Die ursprüngliche 3D Matrix besteht aus 101 x 202 x 72 Informationen.
Ich hätte gerne eine Matrix die nur aus den 72 Informationen besteht.
Es handelt sich hierbei um Top Niederschlagswerte für verschiedene Zeiträume. Hier werden mit Ausnahme des ersten Zeitraumes immer die Top 10 Niederschlagswerte pro Zeitabschnitt dargestellt. Da der erste Zeitraum nur aus einem, anstatt aus 5 Jahren besteht, wurde hier nur die Top 2 berechnet.
Die dritte Dimension beherbergt also:
(:, :, 1) --> Top 1 Niederschlagswert 1970
(:, :, 2) --> Top 2 Niederschlagswert 1970
(:, :, 3) --> Top 1 Niederschlagswert 1971-1975
(:, :, 4) --> Top 2 Niederschlagswert 1971-1975
(:, :, 5) --> Top 3 Niederschlagswert 1971-1975
(:, :, 6) --> Top 4 Niederschlagswert 1971-1975
...
(:, :, 13) --> Top 1 Niederschlagswert 1976-1980
(:, :, 14) --> Top 2 Niederschlagswert 1976-1980
...
(:, :, 72) --> Top 10 Niederschlagswert 2001-2005
usw.
Beim Anwenden von data(:,:, k) bleiben die ersten beiden Informationen ja wie gehabt und nur in der dritten Dimension kann auf ein Blatt zurückgegriffen werden.
Gibt es vielleicht noch eine andere Möglichkeit das Problem zu lösen?
Liebe Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.04.2020, 15:00
Titel:
|
|
Hallo,
ich verstehe bisher noch nicht, was überhaupt das Problem bzw. die Aufgabenstellung ist.
Wie sollen denn aus dem 101 x 202 x 72 - Array diese 72 Informationen ermittelt werden?
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 ;)
|
|
|
Kathicita |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 20.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.04.2020, 09:44
Titel:
|
|
|
|
|
Hallo Harald,
ich würde gerne aus meiner 3D Matrix aus der dritten Dimension, welche die Tage mit den höchsten Werten darstellt errechnen lassen, welcher Tag an welchem Pixel am häufigsten auftritt.
Dazu würde ich gerne die Funktion
[M,F] = mode(Matlab_datetime,3);
anwenden, hierbei tritt allerdings ein Fehler auf.
Außerdem würde ich gerne wissen, wie viele verschiedene Daten sich insgesamt in dieser Matrix befinden, also an wie vielen verschiedenen Tagen in allen Pixeln zusammen die höchsten 10 Werte auftreten.
Basieren die höchsten Werte beispielsweise nur auf stark Niederschlagsereignisse an z.B. 20 oder eher an 100 verschiedenen Tagen?
Hier hatte ich an die Funktion
C= unique(Matlab_datetime)
gedacht.
Das Problem bei diesen Berechnung scheint zu sein, dass die Daten, die ich gerne hier herausgefiltert hätte in der dritten Dimension sind und das indizieren nicht wirklich funktioniert.
Aus diesem Grund wäre es hier praktisch wenn man quasi nur die Daten der dritten Dimension in einer einzelnen Matrix hätte.
Wird hiermit mein Problem etwas klarer?
Liebe Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.04.2020, 09:57
Titel:
|
|
Hallo,
Zitat: |
[M,F] = mode(Matlab_datetime,3);
anwenden, hierbei tritt allerdings ein Fehler auf. |
Wenn ich das in R2020a mit deinen Daten laufen lasse, läuft der Befehl durch.
Welches Release verwendest du und welche Fehlermeldung bekommst du?
Zitat: |
Hier hatte ich an die Funktion
C= unique(Matlab_datetime)
gedacht. |
Wenn ich das in R2020a mit deinen Daten laufen lasse, läuft der Befehl durch.
Bekommst du eine Fehlermeldung? Ein unerwartetes Ergebnis?
Zitat: |
Aus diesem Grund wäre es hier praktisch wenn man quasi nur die Daten der dritten Dimension in einer einzelnen Matrix hätte. |
Ich kann damit weiterhin nichts anfangen. Das ist so, als ob du bei einer Matrix nur die Zeilen oder nur die Spalten haben wolltest. Was soll das denn sein?
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 ;)
|
|
|
Kathicita |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 20.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.04.2020, 10:08
Titel:
|
|
Hallo Harald,
ich habe jetzt auch die 2020er Version und es hat funktioniert, vielen Dank!
Ich habe jetzt mittels der Funktionen sowohl die Häufigkeit als auch die verschiedenen auftretenden Daten pro Spalte herausgefunden.
Hier allerdings eine Frage, kann ich das ganze auch pro Pixel berechnen lassen?
Also, dass ich nicht weiß, wie viele verschiedene Tage und wie häufig diese an einem Längengrad auftreten sondern an einer der Pixel und somit einem ganz präzisen Ort.
Liebe Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.04.2020, 10:27
Titel:
|
|
Hallo,
was genau ist "das ganze"?
was bedeutet in dem Zusammenhang "Pixel"?
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.
|
|