|
|
Werte einer Spalte mit Intervall vergleichen Zeilen löschen |
|
flo2k14 |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 04.02.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 12:19
Titel: Werte einer Spalte mit Intervall vergleichen Zeilen löschen
|
 |
Hallo, ich habe ein Problem wo ich nicht weiter komme und zwar folgendes:
Ich habe eine Matrix der Größe (2500,2) Also 2 Spalten mit jeweils 2500 Zeilen.
Nun möchte ich schauen ob die Werte der zweiten Spalte in einem vorher definierten Intervall liegen. falls sie drin liegen soll nichts passieren, liegen sie aber außerhalb dieses Intervalls sollen die Zeilen Beider spalten gelöscht werden.
als Beispiel um es vielleicht etwas Verständlicher zu machen,
Matrix=
12. 85
21. 83
23 17
26 9
30 8
es soll geschaut werden welche Werte der 2 Spalte zwischen 83 und acht liegen also 8<Wert zweite spalte<83
dann sollen die Zeilen außerhalb dieses Intervalls gelöscht werden, sodass ich im Bsp. folgende Matrix erhalten würde.
23 17
26 9
Habt Ihr eine Idee wie ich das ralisieren kann?
|
|
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 12:29
Titel:
|
 |
Hi,
ich würde da mit find() arbeiten. Alternativ könntest du auch alle Zeilen mit einer Schleife durchlaufen und jedes Element in der zweiten Spalte prüfen
Ich hoffe das hilft dir
|
|
|
flo2k14 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 04.02.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 12:47
Titel:
|
 |
Wenn ich das auf meine Daten anwende kommt diese Fehlermeldung. Das bedeutet doch das die Anzahl der Daten unterhalb der oberen grenze nicht genausoviele sind wie oberhalb der unteren grenze. das Bedeutet doch ich müsste die Einschränkungen verknüpfen. Geht das mit einem einfachen und?
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 13:23
Titel:
|
 |
ich hätte jetzt erwartet, dass die beiden find()-Befehle jeweils einen Spaltenvektor liefern.
mit cat(1,...) werden diese Spaltenvektoren untereinander geschrieben! Dabei sollte egal sein wie lange diese jeweils sind.
Prüfe doch nochmal ob "gesuchteDaten1" und "gesuchteDaten2" wirklich zwei Spaltenvektoren sind.
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 13:41
Titel:
|
 |
Hallo
man braucht kein FIND
so:
Zuletzt bearbeitet von denny am 04.02.2015, 13:46, insgesamt einmal bearbeitet
|
|
|
flo2k14 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 04.02.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 13:42
Titel:
|
 |
Erstmal schonmal vielen Dank für deine echt schnelle Hilfe!
Also Spaltenvektor bedeutet ich hab eine Spalte und ganz viele Zeilen oder?
Wenn dem so ist dann hab ich keinen Spaltenvektor sondern einen Zeilenvektor.
Wenn dem so ist wäre die Entscheidung nachvollziehbar. Wenn ich zwei Zeilenvektoren unterschiedlicher länge untereinander schreibe kann es nicht Funktionieren oder?
Kann ich aus dem Zeilenvektor einen Spaltenvektor machen?
Sorry ich arbeite das erste mal mit Mathlab und bin im Moment noch etwas überfordert
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 13:47
Titel:
|
 |
das es ganz ohne find() geht wusste ich nicht
aber dann habe ich jetzt auch immerhin etwas gelernt!
die Zeilenvektoren kannst du entweder mit cat(2,gesuchteDaten1,gesuchteDaten2) zusammenfügen ODER du machst mit
einen Spaltenvektor aus dem Zeilenvektor.
Aber besser ist es, wenn du die Lösung von Denny verwendest Die ist erstens einfacher und zweitens schneller
|
|
|
flo2k14 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 04.02.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 13:50
Titel:
|
 |
Hallo denny vielen dank für deinen Beitrag, so funktioniert es. Sieht auf jedenfall sehr gut aus
versteh ich es bei deinem Bsp richtig das jeweils nur die spalten getauscht sind?
Kann ich das jetz noch in eine Schleife einbinden um Mehrere Messreihen abzufragen??
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 04.02.2015, 18:15
Titel:
|
 |
Zitat: |
Hallo denny vielen dank für deinen Beitrag, so funktioniert es. Sieht auf jedenfall sehr gut aus Laughing
versteh ich es bei deinem Bsp richtig das jeweils nur die spalten getauscht sind?
|
Ja, das ist nur die Dimension vertauscht, dass muss du an deine Daten anpassen. Ob du 2xn oder nx2 Dimension hast, war für mich nicht klar.
Zitat: |
Kann ich das jetz noch in eine Schleife einbinden um Mehrere Messreihen abzufragen??
|
Ja sicher, Code muss du nur dann entsprechend anpassen.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|