|
|
|
Vektoren verschiedener Größe miteinander vergleichen |
|
| laze |

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 23.11.2011, 10:29
Titel: Vektoren verschiedener Größe miteinander vergleichen
|
 |
Tach liebe Matlab Gemeinde,
ich bin noch relativ neu hier und habe ein kleines Problem vorliegen
Ich möchte gerne zwei Spaltenvektoren miteinander vergleichen.
x <42x1 double> und y <15x1 double>
Und zwar möchte ich sehen, welche der 42 Werte mit den 15 aus y übereinstimmen.
Folgender Fehler wird mir bei einer if Abfrage dargestellt
??? Error using ==> eq
Matrix dimensions must agree.
Verständlich, die Matrixdimensionen sind ja auch nicht gleich. Jetzt stellt sich die Frage, wie ich dennoch diese Vektoren miteinander vergleichen kann.
Danke im voraus
laze
_________________
--Wannabe
|
|
|
|
|
|
| Kevin |

Forum-Fortgeschrittener
|
 |
Beiträge: 93
|
 |
|
 |
Anmeldedatum: 18.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.11.2011, 10:59
Titel:
|
 |
Hallo,
du musst jedes Element des kurzen Vektors einzeln im langen Vektor suchen. Du kommst also nicht um eine Schleife drumrum.
Gruß
Kevin
_________________
1000 Buchstaben? Warum nur 6?
|
|
|
|
| eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 23.11.2011, 12:05
Titel:
|
 |
| Kevin hat Folgendes geschrieben: |
| Du kommst also nicht um eine Schleife drumrum. |
Damit sollte man bei MATLAB immer ganz vorsichtig sein
Entsprechende Befehle dafür:
ismember() und intersect()
|
|
|
|
| soad |

Forum-Century
|
 |
Beiträge: 150
|
 |
|
 |
Anmeldedatum: 10.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.11.2011, 12:17
Titel:
|
 |
INTERSECT bzw. ISMEMBER sollten dir helfen:
edit: ups, da war ich wohl zu langsam ...
|
|
|
|
| laze |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 23.11.2011, 14:14
Titel:
|
 |
Erstmal danke schön für die schnellen Antworten. Und ja, ich hatte auch vor, das ganze mittels for-Schleife zu lösen...ich probiere allerdings mal die andere Möglichkeit aus und berichte später, obs funktioniert hat
Bis dahin
_________________
--Wannabe
|
|
|
|
| laze |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 23.11.2011, 14:38
Titel:
|
 |
| |
 |
|
Ok, der Befehl funktioniert insoweit, allerdings macht mir mein Code immer noch Schwierigkeiten (Die else Anweisung ist ausgeklammert weil mir von vornherein klar ist, dass die so nicht stimmen kann ^^)
torque_ps_range hat dabei Werte [60,80,60]
Diese sollen nun der Reihe nach in der Variablen torque_ps gesucht werden, funktioniert auch soweit.
Mir werden dann in der for-schleife jeweils die Zeilennummern der Matrix ausgespuckt, wo sich die Werte 60 80 und 60 in der Variablen torque_ps befinden und in row_ps geschrieben. (Nicht wundern, dass ich 2 mal nach der 60 such, eigtl. Quatsch ich weiss, aber das hat seinen Sinn, meine ich , da ich wie ihr später sehen werdet, nach 3! Variablen suche, und für jede Variable ein Wert da sein soll)
So nun der Knackpunkt, ich möchte nun mit dem intersect Befehl die Zeilennummern aus row_ps in einem !CellArray! suchen. Ich glaub hier liegt irgendow der Fehler. Das Cell Array beinhaltet 3 Strings die widerrum im Workspace 3 Variablen bilden mit meinen gesuchten Zeilen. Ich möchte irgendwie in diesem Cell Array nun nach den Zeilen aus der Variablen row_ps suchen und dabei für jede dieser 3 Variablen aus der Zelle eine neue Variable "torque_row_ps" mit den übereinstimmenden Zeilen erhalten.
Puuh, hfftl. wird mein Problem verstanden...viel Text -_- Kanns im Moment leider nicht einfacher erklären
Trotzdem schon einmal Danke
laze
_________________
--Wannabe
|
|
|
|
| laze |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 12.10.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 24.11.2011, 15:06
Titel:
|
 |
Hey, habe mein Problem anderweitig beseitigen können. Das wichtige ist, mit
hat das wunderbar funktioniert, danke an euch für die klasse Tipps!
Grüße
laze
_________________
--Wannabe
|
|
|
|
|
|
|
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.
|
|