|
|
Bestimmte Zeilen einer Matrix löschen |
|
-dave- |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2008, 15:11
Titel: Bestimmte Zeilen einer Matrix löschen
|
 |
Hi,
ich habe eine Matrix und möchte die Zeilen, deren inhalt sich nicht ganzzahlig durch eine vorgegeben Zahl teilen lässt, aus der Matrix herauslöschen.
Nun habe ich das Problem, dass ich nicht weiß ich das machen könnte.
Wäre super wenn mir jemand weiterhelfen könnte.
MfG David
|
|
|
|
|
steffi |

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 07.03.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2008, 15:45
Titel:
|
 |
Über die Funktion
kannst du herausfinden, ob x ganzzahlig durch y teilbar ist. Nämlich dann, wenn das Ergebnis 0 ist.
Vielleicht kommst du hiermit schon mal weiter!
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 18.08.2008, 15:58
Titel:
|
 |
Hallo David,
dafür brauchst Du zwei Funktionen: mod, um zu entscheiden, ob die Matrixelemente durch die Zahl teilbar sind, und any um die Zeilenindizes zu bestimmen, wo irgendein Element nicht durch die Zahl teilbar ist. Mit [] kann man Zeilen löschen:
Oder kurz:
Herzliche Grüße
Bijick
@steffi: das hat sich jetzt grad überschnitten, sorry.
_________________
>> why
|
|
|
steffi |

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 07.03.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2008, 16:21
Titel:
|
 |
@Bijick
Kein Problem! Nur wollte ich erstmal zum Denken anregen und nicht alles preisgeben
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
|
|
|
Martin |

Admin
|
 |
Beiträge: 652
|
 |
|
 |
Anmeldedatum: 16.06.07
|
 |
|
 |
Wohnort: Bietigheim-Bissingen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2008, 16:28
Titel:
|
 |
Herzlichen Glückwunsch steffi
Du hast den 10.000 Beitrag auf goMatlab.de geschrieben.
_________________
Der kleine goMatlab.de-Knigge - Eine kleine Liste von wichtigen Regeln, die jeder beachten sollte
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.08.2008, 07:37
Titel:
|
 |
Erstmal vielen Dank für die schnelle Antwort!
Fast genau so hab ich mir das vorgestellt. Ne kleinigkeit passt noch nicht, und zwar werden ja alle Elemente auf die Teilbarkeit geprüft. In meinem Anwendungsfall dürfen aber nur die Elemente der ersten Spalte auf die Teilbarkeit geprüft werden.
Gelöscht wird jedoch wie bisher die ganze Zeile.
Wie kann ich das noch mit einbauen?
David
Bijick hat Folgendes geschrieben: |
Hallo David,
dafür brauchst Du zwei Funktionen: mod, um zu entscheiden, ob die Matrixelemente durch die Zahl teilbar sind, und any um die Zeilenindizes zu bestimmen, wo irgendein Element nicht durch die Zahl teilbar ist. Mit [] kann man Zeilen löschen:
Oder kurz:
Herzliche Grüße
Bijick
@steffi: das hat sich jetzt grad überschnitten, sorry. |
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 19.08.2008, 07:43
Titel:
|
 |
Moin,
kannst du mal ein einfaches Beispiel (3x3-Matrix) geben, an welchem du verdeutlichst, was genau du machen willst?! Ich werde aus deiner Aussage grad nicht schlau...
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?
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.08.2008, 08:01
Titel:
|
 |
|
 |
|
also hier ein Auszug meiner Matrix:
0.000620 604.13 -217.30 143.00 1.00 //soll gelöscht werden
0.001000 604.13 -217.30 143.00 1.00
0.002000 604.13 -217.30 143.00 1.00
0.003000 604.13 -217.30 143.00 1.00
0.004000 604.13 -217.30 143.00 1.00
0.004675 604.13 -217.30 143.00 1.00 //soll gelöscht werden
0.005000 604.13 -217.30 143.00 1.00
0.006000 604.13 -217.30 143.00 1.00
0.007000 604.13 -217.30 143.00 1.00
0.008000 604.13 -217.30 143.00 1.00
0.009000 604.13 -217.30 143.00 1.00
0.010000 604.13 -217.30 143.00 1.00
0.011000 604.13 -217.30 143.00 1.00
0.012000 604.13 -217.30 143.00 1.00
0.012990 804.24 -217.20 143.00 1.00 //soll gelöscht werden
0.013000 804.24 -217.20 143.00 1.00
0.014000 804.24 -217.20 143.00 1.00
0.015000 804.24 -217.20 143.00 1.00
0.016000 804.24 -217.20 143.00 1.00
0.017000 804.24 -217.20 143.00 1.00
0.018000 804.24 -217.20 143.00 1.00
0.019000 804.24 -217.20 143.00 1.00
0.020000 804.24 -217.20 143.00 1.00
0.021000 804.24 -217.20 143.00 1.00
0.021305 1004.35 -217.10 143.00 1.00 //soll gelöscht werden
Es sollen nun alle Zeilen gelöscht werden, deren Wert in der ersten Spalte nicht in den 0,001 Abstand passt.
Hab die Zeilen mal mit "//soll gelöscht werden" gekennzeichnet.
David
steve hat Folgendes geschrieben: |
Moin,
kannst du mal ein einfaches Beispiel (3x3-Matrix) geben, an welchem du verdeutlichst, was genau du machen willst?! Ich werde aus deiner Aussage grad nicht schlau...
Gruß
Alex |
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 19.08.2008, 08:21
Titel:
|
 |
Du musst nur den Code anpassen:
Oder kurz:
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?
|
|
|
steffi |

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 07.03.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.08.2008, 08:23
Titel:
|
 |
Hallo,
dann kannst du doch analog die Zeilen finden, deren erstes Element nicht durch deine Zahl teilbar ist und eben diese Zeilen löschen
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.08.2008, 08:38
Titel:
|
 |
Genau das hab ich gesucht!
Vielen Dank.
|
|
|
|
|
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.
|
|