|
|
Zeilenweiser Abgleich: Matrix - Vektor (ohne Schleifen) |
|
Leonard |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.12.2012, 16:12
Titel: Zeilenweiser Abgleich: Matrix - Vektor (ohne Schleifen)
|
 |
Hallo Zusammen,
Ich bin ein relativer Neuling, konnte mir als stiller Leser aber schon einige Tipps von Euch abschauen. Leider komm ich bei meinem momentanen Problem auch nach längerer Suche nicht weiter:
Gegeben sei folgende Matrix
Mit max(x')' bekomme ich das Maximum aus jeder Zeile:
Ich suche nun einen Weg um die Position dieser "ZeilenMaxima" zu finden.
D.h. Ich suche den Vektor ERGEBNIS = [3; 3; 3] ohne eine Schleife einzusetzen. Mit Schleife habe ich bereits folgenden Weg gefunden:
Gibt es solch eine Möglichkeit überhaupt?
Viele Grüsse
Leo
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.12.2012, 17:19
Titel: Re: Zeilenweiser Abgleich: Matrix - Vektor (ohne Schleifen)
|
 |
Hallo Leonard,
Das Lesen der Dokumentation ist wärmstens zu empfehlen. Matlab hat die besten Hilfe-Texte, die ich jemals gesehene habe - die einzige Ausnahme war ein Hammer, den ich neulich gekauft habe. Obwohl da nicht mal etwas wie "hier halten" und "hier hauen" drauf stand, wusste ich schnell, wie der geht. ;-)
Also:
Dann kommst Du zunächst mal darauf, dass man das doppelte Transponieren weglassen kann:
Und dann hat MAX() noch einen zweiten Output:
Dies kann übrigens zu unerwarteten Problemen führen:
1. Nach der Schleife ist "i" nicht mehr die imaginäre Einheit. Deswegen wird von der Benutzung von "i" und "j" als Variablen abgeraten.
2. "ERGEBNIS" wird in jeder Iteration überschrieben.
3. "find(w(i,:)==maxx(i))" ist leer, wenn die Zeile nur NaNs enthält. Und falls ein Wert mehrfach vorkommt, ist die Ausgabe kein Skalar.
Gruß, Jan
|
|
|
Leonard |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.12.2012, 10:53
Titel:
|
 |
Hallo Jan,
das war ja denkbar einfach. Ich sehe schon, dass ich noch einiges zu lernen/lesen habe
Besten Dank und schöne Feiertage,
Leo
|
|
|
|
|
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.
|
|