given: a structure and a double
return: the index of a structure that has that number
data:
structure(1).val = 50
structure(2).val = 47
structure(3).val = 22
given: structure, 50
return: 1
given: structure, 22
return: 3
% my attempt
function y = return_struct_index(structure,inputval)for i = 1:length(structure) if structure(i).val==inputval y = i; return endendy = [];
This is rather slow and comes in at about 2.5 seconds for 1000 iterations for my code. I know for a fact there is a faster way to do this but haven't been able to track it down. Obviously I haven't vectored my function. I have also tried converting the structure to a cell array and then vectoring the solution, but the conversion makes it even slower.
Help greatly appreciated!!
Will
Best Answer