Extracting data cell that match specific strings in different columns

2 views (last 30 days)
Hello!
I have a table, T, with the following variable names: Type, Ta, Sub, Day, Try, Data
I ask the person for these different inputs: inType, inTa, inSub, inDay, inTry.
% Example:
inType = 'aa';
inTa = '1';
inSub = '001';
inDay = 'ape';
I want to grab and save the cell Data, for the Table row that has the specific variable inputs in the Example (need to search for the matching strings).
More table, T, information:
Type: 90x2 % char
Ta: 90x1 % double
Sub: 90x1 % cell array of character vectors
Day: 90x1 % cell array of character vectors
Try: 90x1 % double
Data: 90x1 % cell
Can you please help?
Thank you in advance!

Accepted Answer

Jon
Jon on 27 Oct 2021
Edited: Jon on 27 Oct 2021
If I understand your problem correctly I think you could adapt the approach I show in the simple example below
% make example table
animal = {'cat' 'cat' 'dog' 'fish' 'cat' 'hamster'}'
size = {'large' 'small' 'large' 'small','large','large'}'
color = {'black','brown','white','red','striped','brown'}'
weight= [2.2,1.3,5,0.5, 1.75,0.2]'
T = table(animal,size,color,weight)
% find weight of large,striped, cat
query = table
query.animal = 'cat'
query.size = 'large'
query.color = 'striped'
% find the correct row in table
[found,idx] = ismember(query,T(:,1:3),'rows')% just use columns that need to be matched
% get the corresponding weight
w = T.weight(idx)
  4 Comments

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!