converting specific string variables to double

1 回表示 (過去 30 日間)
antonet
antonet 2013 年 6 月 15 日
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!

採用された回答

the cyclist
the cyclist 2013 年 6 月 15 日
I knew there was an easier way:
A(ismember(A,'0'))={0}
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 6 月 15 日
This one is much faster

サインインしてコメントする。

その他の回答 (3 件)

Jan
Jan 2013 年 6 月 17 日
A(strcmp(A, '0')) = {0}
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 6 月 17 日
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
the cyclist 2013 年 6 月 15 日
I am quite sure there is a simpler way, but one way is
A(cellfun(@(x)isequal(x,'0'),A))={0};

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 6 月 15 日
編集済み: Azzi Abdelmalek 2013 年 6 月 15 日
A(~cellfun('isempty',strfind(A,'0')))={0}

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by