Find matches without repetition from two cell arrays + extra condition
Show older comments
Hello,
In order to reduce the size of a matrix I need to find all the elements of the periodic table (patterns - cell 1) of all the species considered (cell 2). Also, it has to take in account every number as the end of the evaluable pattern.
Example:
Elements = {'H', 'He', 'Li', .... };
NameSpecies = {'H2','O2','H2O2','CH2OH','C'};
Desired_Result = {'H','O','C'};
At the moment I'm using this piece of code that I found on the net
Match=cellfun(@(x) ismember(x,NameSpecies), Elements, 'UniformOutput', 0);
Elements = Elements(cell2mat(Match));
but this function is only going to give me the same individuals elements, in the case of the example the result is
Result = {'C'};
Any suggestion to tackle it without brute force?
Thanks for your time!
2 Comments
madhan ravi
on 6 Dec 2018
what's the pattern ?
Desired_Result = {'H','O','C'};
Alberto Cuadra Lara
on 6 Dec 2018
Accepted Answer
More Answers (0)
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!