|
|
logische Indizierung mit Vektorenvergleich |
|
Gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.11.2009, 17:05
Titel: logische Indizierung mit Vektorenvergleich
|
 |
Hallo,
es ist ja möglich mit logischer Indizierung Elemente bzw. Zeilen aus einer Matrix zu wählen in der From von
wenn man jetzt sehr viele Werte hat, wird es ja unübersichtlich, ist auch so etwas in der Art wie
möglich?
Vielen Dank schon einmal.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.11.2009, 17:11
Titel:
|
 |
Hallo,
möglich ist das sicher. Im Zweifelsfall ausprobieren.
Die entscheidendere Sache ist, dass du da sehr aufpassen musst, dass du mit deinen Indizes nicht durcheinander kommst.
Grüße,
Harald
|
|
|
Gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.11.2009, 17:44
Titel:
|
 |
Hallo Harald,
ausprobiert habe ich es schon und es geht eben leider so nicht. Die einzige umständliche Variante, welche mir noch einfiel besteht darin, dass man eine zweite Matrix der gleichen Größe bildet, die jeweils den Zeilenvektor enhält, sie dann von einander subtrahiert und dann die absolute Spaltensumme im Vergleich mit 0 den jeweiligen logsichen Wert ergibt. Sieht dann so aus:
Halt etwas umständlich ....
Mit den Indizes hast Du recht, leider kann man ja wohl für Spaltenindizes keine Namen vergeben, oder? Die einzige Variante die mir einfiel ist in einer Struktur für Spaltennamen den jeweiligen Indize zu hinterlegen.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.11.2009, 17:47
Titel:
|
 |
Hallo,
stimmt, im Nachhinein sieht das etwas merkwürdig aus. Lass mich die Frage modifizieren: was willst du denn erreichen?
So oder so: isequal könnte helfen...
Grüße,
Harald
|
|
|
Gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.11.2009, 20:27
Titel:
|
 |
Hallo Harald,
wie ich eingangs schon geschrieben hatte, will ich mir einfach nur Schreibarbeit sparen. In meinem Fall habe ich in einer Matrix mit einem großen Datensatz. Wenn ich z.B. Werte plotte, möchte ich aber nur diejenigen Datensätze nutzen, welche bestimmte Eigenschaften haben, d.h. bei denen mehrere Spalten ganz bestimmte Werte haben. Nun könnte ich zwar schreiben
schreiben, wobei M meine Matrix mit dem Datensätzen ist und V ein Vektor, der alle Eigenschaften beinhaltet, die erfüllt sein müssen, aber dies ist reichlich mühselig, deshalb würde ich der Eleganz und der Schreibfaulheit halber gerne direkt die entsprechende Spaltenauswahl mit dem Eigenschaftsvektor (Zeilenvektor) verglichen.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.11.2009, 23:14
Titel:
|
 |
Hallo,
ich sehe auf Anhieb keine einfachere Möglichkeit.
Grüße,
Harald
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.11.2009, 11:35
Titel:
|
 |
Hallo,
wenn du sowas öfter brauchst, lohnt sich vielleicht eine selbst geschriebene Funktion dazu:
Beispiel: >> eqrows(eye(2), [1 1; 0 1])
Das vergleicht jetzt die Zeilen zweier Matrizen. Wenn du die Zeilen mit einer Zahl vergleichen willst, muss man das ganze entsprechend abändern.
Grüße,
Harald
|
|
|
Gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.11.2009, 16:01
Titel:
|
 |
Hallo Harald,
vielen Dank für die Hinweise zum einen den Vergleich es in einer Funktion zu kapseln und damit die Übersichtlichkeit zu erhöhen, sowie zum anderen auf arrayfun.
Damit es aber ein zeilenweiser Vergleich wird, ist : und I zu vertauschen, also
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.11.2009, 16:33
Titel:
|
 |
|
|
|
|
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.
|
|