Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

converting specific string variables to double

Asked by antonet

antonet (view profile)

on 15 Jun 2013

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

antonet

antonet (view profile)

Tags

Products

No products are associated with this question.

4 Answers

Answer by the cyclist

the cyclist (view profile)

on 15 Jun 2013
Accepted answer

I knew there was an easier way:

A(ismember(A,'0'))={0}

1 Comment

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 15 Jun 2013

This one is much faster

the cyclist

the cyclist (view profile)

Answer by Jan Simon

Jan Simon (view profile)

on 17 Jun 2013
A(strcmp(A, '0')) = {0}

1 Comment

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

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.
Jan Simon

Jan Simon (view profile)

Answer by the cyclist

the cyclist (view profile)

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

the cyclist

the cyclist (view profile)

Answer by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 15 Jun 2013
Edited by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 15 Jun 2013
A(~cellfun('isempty',strfind(A,'0')))={0}

0 Comments

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

Contact us