WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Anzahl Gebiete gleicher Werte finden in Matrix

 

Chris_903
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 14:38     Titel: Anzahl Gebiete gleicher Werte finden in Matrix
  Antworten mit Zitat      
Hallo,

ich habe eine Matrix (350x350) und möchte herausfinden, wie viele zusammenhängende Datenpunkt es in der Matrix gibt.

Bei mir speziell geht es um Vertikalwindgeschwindigkeiten und ich möchte wissen, wie viele zusammenhängende Daten >5m/s gibt.

Vielen Dank schon mal für die Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.09.2019, 14:49     Titel:
  Antworten mit Zitat      
Hallo,

was heißt "zusammenhängend"? Nach links, nach rechts, nach oben, nach unten? Zählt diagonal?
Was steht in den Daten? Positionen oder Geschwindigkeiten?

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 14:54     Titel:
  Antworten mit Zitat      
Also zusammenhängend heißt egal in welche Richtung, links, rechts, oben, unten, diagonal.
In den Daten (Matrix) steht die Geschwindigkeit.

Viele Grüße,
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 15:05     Titel:
  Antworten mit Zitat      
Wobei wenn diagonal zu schwiegrig ist, dann bräuchte das nicht unbedingt sein, aber rechts, links, oben und unten sind auf jeden Fall wichtig.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.09.2019, 16:04     Titel:
  Antworten mit Zitat      
Hallo,

wenn die Image Processing Toolbox zur Verfügung steht:
Code:
M2 = double(M>5);
CC = bwconncomp(M2); % ggf. mit Option ,8
numPixels = cellfun(@numel,CC.PixelIdxList);
[biggest,idx] = max(numPixels)


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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 16:59     Titel:
  Antworten mit Zitat      
Vielen Dank!

Aber wo wird da die Anzahl mir ausgegeben?
Ich verstehe das Porgramm leider nicht..

Viele Grüße,
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.09.2019, 17:06     Titel:
  Antworten mit Zitat      
Hallo,

in biggest.

Zitat:
Ich verstehe das Porgramm leider nicht..

Welche Zeile genau verstehst du nicht? Hast du dir die Doku zu den verwendeten Befehlen angesehen?

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 17:25     Titel:
  Antworten mit Zitat      
Also ich verstehe schon was gemacht wurde, nur verstehe ich nicht in welcher Variable dann schlussendlich die "Zahl" für die zusammenhängende Gebiete drin sind.
Ich habe dir mal ein Screenshot angehängt.

Viele Grüße,
Chris

Bild.PNG
 Beschreibung:

Download
 Dateiname:  Bild.PNG
 Dateigröße:  28.72 KB
 Heruntergeladen:  222 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.09.2019, 17:37     Titel:
  Antworten mit Zitat      
Hallo,

ich schrieb doch gerade: in biggest. Wenn dir die Zahl in biggest nicht sinnvoll erscheint, dann bitte genauer erläutern.

Deine erste Codezeile lässt vermuten, dass du ein 4D-Array hast. Das passt nicht zu der Aussage, dass du eine 350x350-Matrix hättest. Das "5>1" in der letzten Komponente erscheint mir nicht recht sinnvoll. Ich würde auf jeden Fall überprüfen, ob M2 wirklich die gewünschten Informationen enthält.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 17:43     Titel:
  Antworten mit Zitat      
Oh, sorry das biggest habe ich übersehen.
Ja ich habe ein 4D Array, aber ich reduziere das ja auf ein 2D Matrix, indem ich Daten_Teil2_W.W_Tdec2_WG05_intermediate(:,:,9,15) mache oder nicht?
Ich hatte auch einen Fehler drin, die Klammer zu musste natürlich vor dem größer Zeichen hin.

Ich denke jetzt sollte das Programm funktionieren. Steht auch noch in einer Variable drin wie viele zusammenhängende Zellen es gibt?
In biggest steht ja drin wie viel Zellen die größte zusammenhängende Zelle hat oder nicht? Das steht in numPixels drin oder?

Viele Grüße,
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.09.2019, 17:55     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
indem ich Daten_Teil2_W.W_Tdec2_WG05_intermediate(:,:,9,15) mache

Jep, nur war dieses Vorhaben anhand des Codes für mich nicht zu erkennen. Wenn du zusammenhängende Einträge > 5 finden willst, müsste dann heißen:
Code:
Daten_Teil2_W.W_Tdec2_WG05_intermediate(:,:,9,15) > 5


Zitat:
die Klammer zu musste natürlich vor dem größer Zeichen hin.

Nicht nur das, s.o.

Zitat:
Steht auch noch in einer Variable drin wie viele zusammenhängende Zellen es gibt?

Schau dir mal die Variable CC an. Im Zweifelsfall die Doku lesen, insbesondere den Teil zu NumObjects.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 18:03     Titel:
  Antworten mit Zitat      
Ahhhh jetzt habe ich es verstanden, vielen Dank!

Viele Grüße,
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 21:01     Titel:
  Antworten mit Zitat      
Habe nochmal eine Frage und zwar wie kann ich dann die NumObjects plotten? Ich habe dies jetzt für 31 Zeitschritte gemacht (siehe Anhang, nicht alle Zeitschritte abgebildet) und mag jetzt die NumObjects auf der y-Achse plotten, auf der x-Achse sollen die Zeitschritte dann stehen.

Viele Grüße,
Chris

Bild1.PNG
 Beschreibung:

Download
 Dateiname:  Bild1.PNG
 Dateigröße:  54.25 KB
 Heruntergeladen:  205 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.09.2019, 21:10     Titel:
  Antworten mit Zitat      
Hallo,

und wo liegt nun das Problem? Vermutlich eher beim Extrahieren als beim Plotten an sich?
Code:
plot(1:31, [CC.NumObjects])


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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris_903
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 07.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2019, 21:13     Titel:
  Antworten mit Zitat      
Hallo,
ja geanu das meinte ich, da lag mein Problem.
Vielen Dank!
Ich bin einfach noch ein Matlab Anfänger...

Viele Grüße,
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.