Effacer les filtres
Effacer les filtres

What is the faster mean to find a value of an array?

1 vue (au cours des 30 derniers jours)
Abdulatif Alabdulatif
Abdulatif Alabdulatif le 5 Mai 2014
Commenté : Image Analyst le 7 Mai 2014
Hi all,
I am looking for the fastest search inside an array. For example A3 array has 6250 elements:
[i,j] = find(A3(:,1) == Total);
Total = A3(i,j+1);
This method takes about a minutes to decide if the value "Total" is in the array A3 or not! which is long time :(
Is there any solution for the problem?
Thanks : )

Réponse acceptée

Image Analyst
Image Analyst le 5 Mai 2014
Get a faster computer. Look at my results:
% Create sample array of 6250 elements
A3 = [randi(9, [1250,4]), ones(1250,1)];
numberOfElements = numel(A3)
Total = 8;
tic;
[i,j] = find(A3(:,1) == Total);
Total = A3(i,j+1);
toc
Elapsed time is 0.000033 seconds.
Is that 33 microseconds I'm getting? And you're getting minute(s)? Something doesn't add up.
  12 commentaires
Abdulatif Alabdulatif
Abdulatif Alabdulatif le 7 Mai 2014
Modifié(e) : Abdulatif Alabdulatif le 7 Mai 2014
perfect!!
when I removed sym(), it works like a tick! : )
I am wondering if there is any interpret for why this is happen?!
Thanks for all : )
Image Analyst
Image Analyst le 7 Mai 2014
I have no ideas about SYM since I don't have that toolbox. Can you mark my Answer as "Accepted" now? Thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by