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

Matrix nach Strings durchsuchen

 

marcu
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 13.12.10
Wohnort: Dresden
Version: ---
     Beitrag Verfasst am: 14.12.2010, 00:15     Titel: Matrix nach Strings durchsuchen
  Antworten mit Zitat      
Hallo !
Ich hätte da ein großes Problem
und zwar habe ich eine große Binärmatrix (1140X17)
und muss sie nach kombinationen durchsuchen.
Ich muss einmal nach 5 einsen direkt untereinander, sowie nach
2 einsen direkt nebeneinander suchen. Ich bin da bisschen ratlos.

Für jeden Vorschlag bin ich dankbar,

Beste Grüße
Marcu
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 14.12.2010, 10:02     Titel:
  Antworten mit Zitat      
Ich würde mir den Abschnitt "Regular Expressions" genauer anschauen. Ich glaube man kann ein Codebeispiel für diesen Zweck leicht modifizieren.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.12.2010, 14:13     Titel:
  Antworten mit Zitat      
Hallo

Bitte
Beispiel machen,
wie du das mit 5 Untereinander und 2 Nebeneinander meinst.
Weil sonst wie es klingt, ist das nicht einfach zu lösen.


Code:

b_str  = dec2bin([4;10;8;10;12;12])

% 5 untereinander suchen:
zeile    =  regexp(num2cell(b_str',2),['11111'])
spalte_u =  find(~cellfun(@isempty,zeile))
zeile_u   = [zeile{:}]'

% 2 nebeneinander suchen:
spalte    =  regexp(num2cell(b_str,2),['11'])
zeile_n =  find(~cellfun(@isempty,spalte))
spalte_n = [spalte{:}]'
 
Private Nachricht senden Benutzer-Profile anzeigen
 
marcu
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 13.12.10
Wohnort: Dresden
Version: ---
     Beitrag Verfasst am: 14.12.2010, 15:46     Titel:
  Antworten mit Zitat      
danke auf jeden fall schonmal für eure Bemühungen

also ich hatte das so im Kopf :
ich analysiere Daten über die Geschwindigkeiten eines Verkehrsflusses auf der Autobahn über 1440 Minuten ( ein ganzer Tag) und über 17 Detektoren.
Meine Daten sind eine Matrix mit der Größe 1440X17.
Wendet man nun die Bedingung x<30 erhält man eine Binärmatrix ebenfalls
über 1440 Minuten und 17 Detektoren. Um Detektorfehler(die häufig sind)
auszugleichen. Wird die Bedingung von x<30 ergänzt. x<30 soll über mindestens 5 Minuten und über mindestens 2 Detektoren Bestehen.
Ich soll mich auf die Suche nach [1,1] einmal in jeder Zeile und einmal nach [1,1,1,1,1]' in jeder Spalte machen. Sind beide Bedingungen an einer Stelle erfüllt, befindet sich dort ein Stau.
Ich bin da auf alle Fälle ziemlich ratlos, obwohl das eigentlich nicht so schwer sein kann Sad[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.12.2010, 15:48     Titel: Re: Matrix nach Strings durchsuchen
  Antworten mit Zitat      
Hallo marcu,

Zitat:
und zwar habe ich eine große Binärmatrix (1140X17)

Wir brauchen wirklich ein Beispiel. Ich weiß nämlich nicht einmal genau, was eine "Binärmatrix" ist: ein CHAR oder ein LOGICAL array?

Wenn das geklärt ist, dürfte das Programm mit ein paar DIFF und CUMSUMs zu erledigen sein.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
marcu
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 13.12.10
Wohnort: Dresden
Version: ---
     Beitrag Verfasst am: 14.12.2010, 16:11     Titel:
  Antworten mit Zitat      
ahsoo sorry Very Happy

0 0 1 1 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
0 1 1 1 0 0 0 0 0 0 0 0 0 1 0
0 0 1 1 0 0 0 0 0 0 0 0 0 1 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


naja es wäre sowas in der art
halt nur wesentlich größer
ich weiß nicht wie ich es anders erklären soll ^^

beste Grüße
Marcu
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 - 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.