converting specific string variables to double
Afficher commentaires plus anciens
Dear all,
I have the following matrix
A={'name'
'afsaf'
'sfsfs'
'0'
'rpytui'
'0'
'0'
'0'
'dfgl'
'trd'
};
I want to convert the zeros which are string variables to numeric variables; that is
A={'name'
'afsaf'
'sfsfs'
[0]
'rpytui'
[0]
[0]
[0]
'dfgl'
'trd'
};
Is there a way of doing that?
Thanks in advance!
Réponse acceptée
Plus de réponses (3)
Jan
le 17 Juin 2013
A(strcmp(A, '0')) = {0}
1 commentaire
Azzi Abdelmalek
le 17 Juin 2013
This is faster
A=repmat(A,100000,1);
tic
A(ismember(A,'0'))={0};
toc
tic
A(strcmp(A, '0')) = {0};
toc
Elapsed time is 0.047910 seconds.
Elapsed time is 0.012593 seconds.
the cyclist
le 15 Juin 2013
I am quite sure there is a simpler way, but one way is
A(cellfun(@(x)isequal(x,'0'),A))={0};
Azzi Abdelmalek
le 15 Juin 2013
Modifié(e) : Azzi Abdelmalek
le 15 Juin 2013
A(~cellfun('isempty',strfind(A,'0')))={0}
Catégories
En savoir plus sur File Operations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!