zu meinem Problem: ich habe 2 geordnete Vektoren unterschiedlicher Länge
A = [1 2 3 4 5], B = [1 1.1 4.0 4.5 5.0 5.1 6]
Ich suche jetzt für jedes in Element A den Wert in B für den gilt B <= A. Dabei ist nur der Wert mit der geringsten Differenz wichtig. Dann möchte ich den Index des Wertes in B in C speichern.
Also C = [1 2 2 3 5]
was funktioniert:
Code:
for Schleife über A
C(ii) = find(B(:) <= A(ii),1,'last');
end
Alle Methoden liefern das gleiche Ergebnis und histc is etwa 2000 mal schneller als die find-Methode und 3000 mal schneller als sum-Methode. Für andere Werte und Längen von A und B kann das anders aussehen. Trotzdem hast du damit wohl dieses Bottleneck beseitigt
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
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.