Verfasst am: 05.01.2015, 15:25
Titel: for-Schleife Problem - logical indexing
Hallo,
ich habe ein Problem mit meiner viel zu komplexen for-Schleife. Meine Matrix (600.000 x 52) soll mit den Werten eines Vektors verglichen werden und bei entsprechender Übereinstimmung in einen neuen Vektor übergeben werden.
In der for-Schleife dauert dies zu lange:
bekomme ich fehlermeldungen wie: Index exceeds matrix dimensions.
Leider kenne ich mich in logischer Indizierung nicht so sonderlich aus, und die Werte in meiner Matrix_A sind volatil von -500 bis + 500, weswegen ich auch keine min(abs(...)) Abfrage - bezüglich der Näherung nutzen - kann. Könnt ihr mir weiterhelfen?
halli hallo. bin grade nicht zu hause und hab nicht so viel zeit aber ein paar schnelle anmerkungen von mir: du benutz i einmal als zeilen index und einmal als spalten index. ist das gewollt ? 2. du solltest nicht
3. du hast 5 fall unterscheidungen aber nur 3 verschiedene ergebnisse. das heist 2 fälle sind überflüssig. du brauchst alsu nur 1 -1 fälle und der rest wird dann 0 gesetzt. wenn du abruf mit 0 initiallisierst brauchst du sogar nur die 2 fälle abarbeiten bei denen es nicht 0 ist.
@ Winkow: Das mit dem Wechsel zwischen Zeilen & Spaltenindex ist gewollt^^ Danke für deine grundsätzlichen Tipps, ich habe Sie sofort eingebaut.
@ Seban:
Ist Variable_A 600000x1 groß? Sie ist 52x1 groß. Also die Matrix_A ist 600000x52 werden mit den 52 Datenpunkten der Variable_A verglichen. Wie kann ich dies dann in die logische Induzierung integrieren oder geht dies nur mit einer Schleife?
Klasse wie das Forum und insbesondere drei, vier Leute hier, alles am laufen halten und auch in Ihrer Freizeit, bzw. "zwischendurch" Leuten wie mir weiterhelfen!
Das ist interessant. Jetzt kenne ich arrayfun, cellfun und bsxfun. Gerade habe ich noch structfun und spfun gefunden. Gibt es noch weitere Funktionen dieser Art?
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
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.