du hast ja zuerst von 27 Punkten gesprochen, und da ist Performance ziemlich uninteressant.
x und y sollen also Vektoren mit je knapp 7 Mio. Einträgen sein?
Eine Hilfe kann knnsearch (Statistics Toolbox) sein.
Kommt aber auf den Versuch an, ob das für diese Datenmenge geeignet ist.
Poste doch auch mal deinen bisherigen Ansatz; vielleicht sieht ja jemand Verbesserungspotential.
Hallo Harald.
Eigentlich geht es darum 27*300.000 Messpunkte zu durchsuchen.
D.h. aus 300.000 Punkten jeweils den nächsten Nachbarn der einzelnen 27 Pkts finden.
Darum erst die Idee mit NN.
Da es nur ein sehr kleiner Teil in der Auswertungskette ist, will ich daraus keine programmiertechnische Raffinesse machen. Es soll nur korrekt laufen und nicht allzu viel Performance beanspruchen.
Gruß
_________________
Mark Twain didn't actually say half the shit the Internet says he did. ~Mark Twain
Wie bereits erklärt, verschwendet SQRT hier nur Zeit. Wenn SQRT(a) < SQRT(b), dann gilt auch a < b. Also:
Code:
...
beste_distanz = 1000 ^2;
index = 0;
for i = 1:size(C_xyz,1)
temp_distanz = (Footprint(k,1)-C_xy(i,1))^2 + ... (Footprint(k,2)-C_xy(i,2))^2;
if(temp_distanz < beste_distanz)
beste_distanz = temp_distanz;
index = i;
end end
distanz(k,1)=sqrt(beste_distanz); % Nur hier *einmal*
distanz(k,2)=index;
end
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.