Fast Look-up table

6 Ansichten (letzte 30 Tage)
T
T am 26 Feb. 2015
Beantwortet: dpb am 26 Feb. 2015
Good morning, I have a long array signal with values x. Now for each of those values x I want to find the closest fit in another array pvalues and return the index. At the moment I am doing it like this:
for a=1:1:length(signal)
tempp=pvalues-abs(signal(a));
[c index1] = min(abs(tempp));
%do stuff with index1
end
But this takes a lot of time (hours)! If I comment all lines and only iterate through the array signal, it is done in 3 seconds. So the problem is finding the index1 value.
Any ideas how to solve this quickly?
Thank you!

Antworten (1)

dpb
dpb am 26 Feb. 2015
[~,idx]=min(pdist2(pvalues,abs(signal),'euclidean'));

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by