MATLAB: Need help to search a structure with user I/P

structures search access

Hi,
I have a data structure (tempExp) that looks like the following:
tempExp.size --> This is a string
tempExp.color --> This is a string
tempExp.data --> Usually a 1x2000 double
Right now I ask the user make "size" and "color" selections in a gui popupmenu which I save as string variables called "size" and "color". What I would like to do is use that information to select the appropriate tempExp.data field and eventually use that to make plots, or further processing, etc.
For example, user selects "orange" and "medium". How do I use that information to search the tempExp structure that contains the color "orange" and size "medium" and then access/return the corresponding tempExp.data for those user selected fields?
Thank you for your time!

Best Answer

Assuming that tempExp is an array of struct
sizes = {tempExp(:).size};
colors = {tempExp(:).color};
matchstruct = tempExp(strcmp(sizes, size) & strcmp(colors, color));
if ~isempty(matchstruct)
data = matchstruct.data; %assume that there is at most one match.
%do something with data
end