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

Vektor nach unter und obergrenze filtern

 

tristan
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 14.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2008, 15:54     Titel: Vektor nach unter und obergrenze filtern
  Antworten mit Zitat      
Hallo,

Ich habe einen Datenvektor X und möchte diesen gern in einem Toleranzbereich filtern.

Code:

ug=0.094-(0.094*0.01);
og=0.094+(0.094*0.01);
Z=find((X >= ug) & (X <= og));
 


in Z stehen jetzt die indices welche Werte reinpassen.
Wie bekomme ich jetzt einen Datenvektor wo die Werte von den indice Positionen drin sind?

VG
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 07.04.2008, 16:37     Titel:
  Antworten mit Zitat      
Zitat:

Wie bekomme ich jetzt einen Datenvektor wo die Werte von den indice Positionen drin sind?

Hallo, irgend wie verstehe ich diese Frage nicht ganz?
Weil find gibt dir doch die Positionen bereits, oder?
Oder meinst du die Werte, welche außerhalb des Bereichs liegen?
Private Nachricht senden Benutzer-Profile anzeigen
 
tristan
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 14.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2008, 17:04     Titel:
  Antworten mit Zitat      
Mein Ziel ist es einen gefilterten Vektor zu bekommen, wo die Daten drin stehen die im Toleranzband liegen.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 07.04.2008, 17:21     Titel:
  Antworten mit Zitat      
Hallo, dann hast 2 Möglichkeiten:

1) Toleranzwerte in ein neues Vektor kopieren

Z= X((X >= ug) & (X <= og))


2) oder die Werte, die außerhalb Toleranzbereich liegen, im bestehenden Vektor X löschen

X(~((X >= ug) & (X <= og)))=[];
Private Nachricht senden Benutzer-Profile anzeigen
 
gargamel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 07.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2008, 21:51     Titel:
  Antworten mit Zitat      
müsste auch gehen wenn du
Code:

Xneu = X(Z);
 


versuchst oder nicht? ansonsten ist mir deine fragstellung auch nicht 100% klar
Private Nachricht senden Benutzer-Profile anzeigen
 
tristan
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 14.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2008, 09:42     Titel:
  Antworten mit Zitat      
Hey,

Ich meinte es so wie denny es gelöst hat.Das funktioniert so.

Danke euch vielmals!
Private Nachricht senden Benutzer-Profile anzeigen
 
hornbrille
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 22.04.08
Wohnort: Zug, CH
Version: 7.5.0 (R2007b)
     Beitrag Verfasst am: 22.04.2008, 17:11     Titel: ähnliches problem - matrix filtern
  Antworten mit Zitat      
hallo

ich habe ein ähnliches problem:

ich möchte einen matrix (1. spalte: datum / 2. spalte: zugehörige werte) nach gewissen daten filtern (z.b. vom 21.8.2000 bis 21.9.2000).
nun hab ich das mal so probiert wie oben beschrieben. das gibt mir aber nur noch einen vektor mit den daten (mehrzahl von datum?!?) aus.
wie schaff ich es, dass es mir nach dem datum filtert aber auch die zugehörigen werte mit ausgibt?

vielen dank für eure hilfe...
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 22.04.2008, 18:18     Titel:
  Antworten mit Zitat      
Moin,

an dieses Problem würd ich mit dem find()-Befehl rangehen:
Code:
idx = find(A(:,1)<=og & A(:,1)>=ug); % Damit wird in der ersten Spalte gesucht
A = A(idx,:);

Das sollte das gewünschte ergeben...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
hornbrille
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 22.04.08
Wohnort: Zug, CH
Version: 7.5.0 (R2007b)
     Beitrag Verfasst am: 22.04.2008, 21:54     Titel:
  Antworten mit Zitat      
hallo steve

hat super geklappt!!!

DANKE dir...

mfg
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.