Delete rows from string array with just one value

2 vues (au cours des 30 derniers jours)
Tatjana Mü
Tatjana Mü le 24 Mar 2022
Modifié(e) : Henry Barth le 25 Mar 2022
Hi,
I have a string array like this:
x=[Na,Mg,Si ; V ; Na,Mg,Si,S ; Si ; Na,Mg,Al,P]
I want to delete all the rows which contain just one Value. Does somebody has an idea how it could work? Because I reached my limit of knowledge (really new in matlab).
I appreciate any idea :-)
  2 commentaires
Henry Barth
Henry Barth le 24 Mar 2022
are Na,Mg,Si string variables?
Tatjana Mü
Tatjana Mü le 24 Mar 2022
Yes, the string array just contains Elements as string variables. The problem is that they change from sample to sample, depends on the sample. Sometimes the elements stands alone in a row, but also in rows with other elements, so I cant just delete the elementname. I need a solution to general delete rows with just one value. I hope you understand what I mean.

Connectez-vous pour commenter.

Réponse acceptée

Arif Hoq
Arif Hoq le 24 Mar 2022
Modifié(e) : Arif Hoq le 24 Mar 2022
as i don't have your data so i have added NaN string to make the same dimension cell array
x={'Na','Mg','Si' NaN; 'V' NaN NaN NaN; 'Na','Mg','Si','S' ; 'Si' NaN NaN NaN; 'Na','Mg','Al','P'};
a=string(x);
y=rmmissing(a,1,'MinNumMissing',2);
output=cellstr(y)
output = 3×4 cell array
{'Na'} {'Mg'} {'Si'} {0×0 char} {'Na'} {'Mg'} {'Si'} {'S' } {'Na'} {'Mg'} {'Al'} {'P' }
  8 commentaires
Arif Hoq
Arif Hoq le 24 Mar 2022
~ supposed to mean not.
~= menas not equal.
isequal function returns empty cell. so ~ which is used before isempty fucntion returns not empty cell
Henry Barth
Henry Barth le 24 Mar 2022
Isn't that what I said? Please correct me if I'm wrong!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by