counting the number of values in table if the condition satisfies??
27 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I have 2 tables as
a = ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/210626/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/210626/image.png)
y= ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/210627/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/210627/image.png)
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
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')
Risposta accettata
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
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
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!