|
|
|
Null setzen, wenn mehr als ein Wert in Spalte |
|
| chris4aus |

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 11.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.12.2011, 05:19
Titel: Null setzen, wenn mehr als ein Wert in Spalte
|
 |
| |
 |
|
Hallo!
Ich habe eine grosse Matrix, die Laengenmessungen enthaelt. Dabei sind die Zeilen die unterschiedlichen Seiten eines Polygons, die Spalten Linien, die einem bestimmten Muster folgen.
Damit ich alle Werte erfasse, werden manche Linien doppelt erfasst.
Rechne ich nun die Summe aus, will ich aber nur einmal den WErt nehmen. Daher moechte ich gucken, ob in einer Spalte MEHR als ein Wert von Null unterschiedlich ist, den Maximalwert lassen und alle anderen Werte auf Null setzen.
Zuerst Reduktion der Matrix:
Dafuer die Schleifenfunktion:
Geht das auch eleganter? Und ist das eine sichere Methode? Weil ich Matrixen habe (180 x 1310) selbst nach Reduktion und ich ploetzlich 60 m verliere, obwohl jeder Eintrag maximal 0.05 m ist. (Ich habe nach dem maximalen Eintrag mittels max(max(SP_matrix)) gesucht.
Bsp. fuer SP_matrix:
Ok, vielleicht nicht gerade sehr schoen abgebildet, aber ich hoffe, es gibt eine Idee.
Danke im Vorraus.
Gruss,
Christiane
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.12.2011, 12:12
Titel: Re: Null setzen, wenn mehr als ein Wert in Spalte
|
 |
Hallo chris4aus,
Du hast Dir mit der Frage eine menge Arbeit gemacht. Die meisten Information sind nicht hilfreich um das Problem zu lösen. Ich bin nicht sicher, ob ich es überhaupt richtig verstehe, aber ich versuche es mal:
| Zitat: |
| Ich möchte in einer Matrix alle Elemente bis auf das maximale in jeder Spalte auf Null setzen. |
Kann man Deine Frage auf diesen Satz reduzieren? Falls ja:
Gruß, Jan
|
|
|
|
| chris4aus |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 11.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.12.2011, 23:14
Titel: Loesung
|
 |
Danke Jan!
Well, letztes Mal hat sich jemand beschwert, dass ich mein Problem nicht richtig erklaert habe.
Du hast eine winzige 1 vergessen:
Aber so funktioniert es!!!
DANKE.
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 16.12.2011, 01:37
Titel: Re: Loesung
|
 |
Hallo chris4aus,
Ja, das ist das Standard-Vorgehen in einem Forum: Entweder man fordert mehr notwendige Details, oder weniger unnotwendige. Und wenn man genau alle Details gefunden hat, die gerade benötigt werden, um ein Problem zu lösen, ist damit die Lösung meistens schon klar vorgegeben.
Ein Forum lebt deshalb von Rückfragen.
Schön dass der Code hilft und Du das "1:" gefunden hast.
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|