converting specific string variables to double
2 views (last 30 days)
Show older comments
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!
0 Comments
Accepted Answer
More Answers (3)
Jan
on 17 Jun 2013
A(strcmp(A, '0')) = {0}
1 Comment
Azzi Abdelmalek
on 17 Jun 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
on 15 Jun 2013
I am quite sure there is a simpler way, but one way is
A(cellfun(@(x)isequal(x,'0'),A))={0};
0 Comments
Azzi Abdelmalek
on 15 Jun 2013
Edited: Azzi Abdelmalek
on 15 Jun 2013
A(~cellfun('isempty',strfind(A,'0')))={0}
0 Comments
See Also
Categories
Find more on Numeric Types 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!