|
andi_1 |

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 14:50
Titel: Matritzen abschneiden
|
 |
Hallo Leute,
habe eine Matrix mit 3 Spalten und 100 zeilen. In den ersten beiden Spalten stehen x- und y-Koordinaten in der dritten Spalte eine Höhe.
Die Matrix ist nach der Höhe sortiert.
Nun möchte ich alle Zeilen der Matrix löschen, deren Höhe kleiner ist, als die kleinste Höhe + 0,5 Meter.
kann mir da jemand schnell und unbürokratisch helfen?
Gruß und Dank
|
|
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 14:54
Titel:
|
 |
Hi
du musst dir zuerst den Minimalen Wert suchen
würde mir eine Hilfsvariable definieren dafür
sollte über x=find(Matrix,Min);
x2=x+0,5;
Zum Schluss wieder mit find(Matrix<x2);
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 14:54
Titel: Re: Matritzen abschneiden
|
 |
Hallo Andi,
was hast du denn bisher versucht?
Kennst Du den Befehl MIN?
Kannst Du Spalten aus einer Matrix löschen?
Gruß, Jan
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 15:01
Titel:
|
 |
Hi,
hier eine Idee:
Du brauchst also in den Code statt A nur den Namen deiner Matrix einsetzten
Gruß,
lilov
|
|
|
andi_1 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 15:15
Titel:
|
 |
Hallo Leute,
inspiriert durch eure Vorschläge hab ichs hinbekommen:
Gruß und Dank
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 15:51
Titel:
|
 |
Hallo lilov,
oder nochmal ein wenig einfacher ohne FIND ("logical indexing"):
Je nach Matlab-Version und Drumherum kann auch dies schneller sein:
Die Anzahl der Bugs, die man in dieser einzelnen Zeile machen kann, ist viel kleiner als in den 7 Zeilen in Andi's Lösung. Zudem läuft es deutlich schneller.
Viele Grüße, Jan
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 15:57
Titel:
|
 |
Hi Jan,
Danke:) Hab am Anfang an sowas ähnliches gedacht aber irgendwie hatte es nicht funktioniert:)
Gruß,
lilov
|
|
|
andi_1 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2010, 16:12
Titel:
|
 |
Hallo jan und lilov,
wie würde der Code aussehen, wenn ich alles unter min+0,5 und alles über min+1 abschneiden wollte?
Gruß
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.09.2010, 15:03
Titel:
|
 |
Hallo Andi,
??? Wir haben Dir die Lösung für "alles unter min+0.5" bereits gegeben. Für "alles über min+1" solltest Du das sehr leicht transferieren können.
Für "und" kannst Du einfach beides nacheinander ausführen oder in Matlab nach einem Kommando suchen, dass so etwas wie "und" ausführt. Und natürlich English ist.
Gruß, Jan
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.09.2010, 15:06
Titel:
|
 |
.... erstmal müsstest du aber das Minimum als Variable speichern. da wenn man das ganze nacheinander ausführt ist das Minimum ja nicht dasselbe
|
|
|
|
|
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.
|
|