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

Verbleibende Indizes bestimmen

 

MarcelG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2009, 16:41     Titel: Verbleibende Indizes bestimmen
  Antworten mit Zitat      
Hallo,

ich hoffe den Titel halbwegs verständlich gewählt zu haben. Ich bin auf der Suche nach einer geschickten Lösung für die folgende Problemstellung:

Gegeben sei:
Code:
% Daten
data = [ 0 8 3 2 7 ];
% Zwei Schranken
dmax = [ 5 5 5 5 5 ];
dmin = [ 1 1 1 1 1 ];


Ich möchte nun bestimmen welche Indizes von data innerhalb beider gegebenen Schranken sind, und welche außerhalb davon. Mein bisheriger Ansatz ist, fest zu stellen, welche Werte außerhalb, also darunter bzw. darüber liegen. Der verbleibende Rest sollte sich dann zwischen beiden Schranken befinden:
Code:
out = [ find( data < dmin ) find( data > dmax ) ]; % Indizes der Werte, welche außerhalb der Schranken liegen

Ab hier stehe ich auf dem Schlauch und benötige Denkanstöße. Ich weiß weder, wie ich nun die verbleibenden Indizes "bekomme", noch, ob es einen geschickteren Weg gibt und wie dieser aussähe. Wink

Gruß,
Marcel


derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 20.10.2009, 17:18     Titel:
  Antworten mit Zitat      
Hi, da gibt es mehrere Möglichkeiten, erstmal würde ich Binär Verknüpfen und dann erst find anwenden also so:

Code:
out=find(data<dmin | data>dmax)


oder halt so:

Code:
find(data>=dmin & data<=dmax)


Um jetzt das Gegenteil zu finden, reicht es eins von beiden zu berechnen und das find auf das Gegenteil anzuwenden also so:

Code:

outbin=data<dmin | data>dmax
out1=find(outbin)
out2=find(~outbin)
 


Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
MarcelG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2009, 21:01     Titel:
  Antworten mit Zitat      
Hallo und guten Abend,

derOli hat Folgendes geschrieben:
Hi, da gibt es mehrere Möglichkeiten, erstmal würde ich Binär Verknüpfen und dann erst find anwenden also so:

Code:
out=find(data<dmin | data>dmax)


oder halt so:

Code:
find(data>=dmin & data<=dmax)


Um jetzt das Gegenteil zu finden, reicht es eins von beiden zu berechnen und das find auf das Gegenteil anzuwenden also so:

Code:

outbin=data<dmin | data>dmax
out1=find(outbin)
out2=find(~outbin)
 


Viele Grüße,

der Oli


Trickreich, trickreich. Very Happy Das gefällt mir. Vielen Dank und einen schönen Abend.

Gruß,
Marcel
 
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.