Clear Filters
Clear Filters

counting the number of values in table if the condition satisfies??

23 views (last 30 days)
Hi,
I have 2 tables as
a =
y=
If the string in "y" matches with string in ''a'' i want to count all the strings after matching the strings.
I am looking for looping only not like count command.
Thanks in advance
  9 Comments
Haritha
Haritha on 27 Mar 2019
Edited: Haritha on 27 Mar 2019
I have attached sample code. If string in U matches with string in xx I want to count the strings after matching string in xx. I have only one column as xx
Guillaume
Guillaume on 27 Mar 2019
Edited: Guillaume on 27 Mar 2019
Why is U a table as opposed to the simpler
U = 'car';
?
Why is xx a table as opposed to simply a cell array?
You don't seem to know how to index cell arrays, tables or matrices. If A is matrix, A{i} is an error.
So in your example, is the desired result 4? (4 strings after 'car')

Sign in to comment.

Accepted Answer

dpb
dpb on 27 Mar 2019
xx = categorical({'computer'; 'car'; 'mobile'; 'bus'; 'tree'; 'jeep'});
u='car';
[ia,ib]=ismember(u,xx);
if ia
count=numel(xx)-2+1; % inclusive count
else
count=nan; % not found indicator
end
tables unnecessarily complicate life when they really have no useful reason for using them in a given case.
Using categorical for such variables simplilfies comparisons greatly; that's what they're for.
Above for a one-at-a-time lookup, loop over an array of u if needed...
  2 Comments
Haritha
Haritha on 28 Mar 2019
Ok Finally i will change it to cell array then i will use this other than table matching cells matching is fine
Guillaume
Guillaume on 28 Mar 2019
That count line should be:
count = numel(XX) - in + 1;
However, you could just replace the whole lot by:
count = numel(XX) - find(u == XX, 1);
In the above case, there's no benefit to using categorical. You could just stick to a cell array, in which case you replace the == by strcmp

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!