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

Wertebereich

 

ilmiomondo
Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2018, 14:39     Titel: Wertebereich
  Antworten mit Zitat      
Hallo ich habe eine Matrix A mit 10 spalten und sehr sehr viele Zeilen.

ich möchte jetzt gewissen Werte filtern.

Bereich den ich mir anschauen möchte:
A : 5=< Spalte 2 <10 und Spalte 4>Spalte3 und Spalte 4<10 oder 5< Spalte 2 <=10 und Spalte 3>Spalte4 und Spalte 4<10

Code:
Bereich  =  A(A(:,2)<10 & A(:,2)>=5 & A(:,4)>A(:,3) & A(:,4)<10 | A(:,2)>5 & A(:,2)<=10 & A(:,3)> A(:,4) & A(:,4)<10,:);


Kann leider nicht die 100000 Daten kontrollieren. Die Werte von den anderen Spalten ,: werden mit diesem Befehl mit übernommen richtig?

Stimmt die Schreibweise
Danke für die Hilfe
Grüße
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: 06.07.2018, 14:43     Titel:
  Antworten mit Zitat      
Hallo,

üblicherweise reicht es, den ersten Teil zu kontrollieren.
Bei Kombination von & und | würde ich mit der Reihenfolge aufpassen, in der das ausgeführt wird. Meinst du denn alles von links nach rechts ausgeführt oder nicht doch eher
(5=< Spalte 2 <10 und Spalte 4>Spalte3 und Spalte 4<10) oder (5< Spalte 2 <=10 und Spalte 3>Spalte4 und Spalte 4<10)

Wenn du das meinst, würde ich auch im Code die Klammern entsprechend setzen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ilmiomondo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2018, 14:58     Titel:
  Antworten mit Zitat      
Hallo Harald,
ich meine den Fall mit den Klammern.


Code:
(5=< Spalte 2 <10 und Spalte 4>Spalte3 und Spalte 4<10) oder (5< Spalte 2 <=10 und Spalte 3>Spalte4 und Spalte 4<10)



Es sollen alle Werte aus der Zeile übernommen werden wenn die Bedingung aus Fall "1":
Code:
(5=< Spalte 2 <10 und Spalte 4>Spalte3 und Spalte 4<10)

oder
aus Fall "2":
Code:
(5< Spalte 2 <=10 und Spalte 3>Spalte4 und Spalte 4<10)

erfüllt wird.




Wenn einer dieser Bedingungen nicht erfüllt ist soll diese Zeile in der neu entstanden Matrix nicht mehr das sein.
Grüße
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: 06.07.2018, 15:09     Titel:
  Antworten mit Zitat      
Hallo,

wie gesagt, dann
Zitat:
würde ich auch im Code die Klammern entsprechend setzen.


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ilmiomondo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2018, 15:14     Titel:
  Antworten mit Zitat      
Hallo Harald,

so dann?

Code:
Bereich  =  A((A(:,2)<10 & A(:,2)>=5 & A(:,4)>A(:,3) & A(:,4)<10) | (A(:,2)>5 & A(:,2)<=10 & A(:,3)> A(:,4) & A(:,4)<10),:);



Muss ich diese Bedingung: 10>x>=5
so schreiben
Code:
A(:,2)<10 & A(:,2)>=5

oder so
Code:
10>A(:,2)>=5

?

Grüße
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: 09.07.2018, 20:46     Titel:
  Antworten mit Zitat      
Hallo,

die erste Variante. Die zweite wird strikt von links nach rechts ausgewertet, was nicht dem von dir gewollten entspricht. Deswegen gibt es auch die Warnung im Editor (orange unterringelt).

Grüße,
Harald
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.