Azzera filtri
Azzera filtri

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

27 visualizzazioni (ultimi 30 giorni)
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 Commenti
Haritha
Haritha il 27 Mar 2019
Modificato: Haritha il 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 il 27 Mar 2019
Modificato: Guillaume il 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')

Accedi per commentare.

Risposta accettata

dpb
dpb il 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 Commenti
Haritha
Haritha il 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 il 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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by