|
|
(logische) Adressierung von Matritzen |
|
Evron |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 22.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.11.2009, 17:20
Titel: (logische) Adressierung von Matritzen
|
 |
Hallo,
an dieser Stelle zwei Fragen auf einmal. Zum ersten, ist es möglich bei der logischen Adressierung in Matritzen mit dem Vergleich von Vektoren zu arbeiten, also so etwas in der Art wie:
Der Code sollte also so etwas machen, dass er in b die Zeile auf 0 setzt, welche a entspricht.
Zum zweiten, wenn man beispielsweise einen Vektor hat mit belibigen werten und möchte genau wissen das wievielte Element dem Wert entspricht, gibt es da auch eine Möglichkeit? Bei der logischen Adressierung mittels
kann man zwar auf das Element zugreifen, weis aber immer noch nicht wo es steht.
|
|
|
|
|
Jan* |

Forum-Century
|
 |
Beiträge: 178
|
 |
|
 |
Anmeldedatum: 06.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 30.11.2009, 17:24
Titel:
|
 |
Zu 1.) Ich kann mir nicht vorstellen, dass das geht, weil die Vergleichsoperatoren für Matrizen unterschiedlicher Größe nicht definiert sind. Ich lasse mich hier aber gerne eines besseren belehren.
Zu 2.) dafür gibt es den 'find' Befehl
|
|
|
Evron |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 22.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.11.2009, 17:45
Titel:
|
 |
Hallo Jan,
vielen Dank für den Hinweis auf find(), das wäre damit geklärt. Bleibt die Frage offen gibt es eine andere effiziente Möglichkeit in einer Matrix diejenigen Zeilen zu finden, welche einem vorgegebenen Zeilenvektor entsprechen (Anzahl der Spalten in beiden, Matrix und Vektor stimmen überein)?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.11.2009, 18:00
Titel:
|
 |
Hallo,
zu 1.:
Grüße,
Harald
|
|
|
Jan* |

Forum-Century
|
 |
Beiträge: 178
|
 |
|
 |
Anmeldedatum: 06.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 30.11.2009, 18:01
Titel:
|
 |
Eine effiziente Möglichkeit kenne ich auch nicht, ich würde mit einer for-Schleife über die Matrix laufen, und mit isequal vergleichen. Das wäre natürlich elendig langsam. Vielleicht hat ja jemand eine elegantere Idee?!
|
|
|
Evron |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 22.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.12.2009, 17:31
Titel:
|
 |
I'm impressed. Ich hätte es nicht gedacht, aber die arrayfun scheint um Welten schneller als eine for-Schleife zu sein. Danke Harald!
|
|
|
|
|
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.
|
|