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?

Convert Strings into vectors of binary numbers

Asked by Sam

Sam (view profile)

on 25 Jan 2013

I need to convert utterance strings into vectors where each dimension of the vector represents a unique word, while reading the script from an m.file. So for example if I have, out='hello' 'my' 'name' 'is' 'sam'. I want a vector with binary numbers where hello is true and everything else is false.

Solution would be output=[1,0,0,0] How can I do this? Here is what I have so far

fid=fopen('sw4325.m')

>> firstline=fgets(fid);

>> sprintf(firstline);

>> splitstring=textscan(ans, '%s');

>> out=splitstring{:};

0 Comments

Sam

Sam (view profile)

Products

No products are associated with this question.

1 Answer

Answer by Jan Simon

Jan Simon (view profile)

on 25 Jan 2013
Accepted answer

I do not get it. Do you want STRCMP?

str = {'hello' 'my' 'name' 'is' 'sam'};
match = strcmp('hello', str);

5 Comments

Sam

Sam (view profile)

on 25 Jan 2013

Thank Jan, your code does work for strings. But I have my data in a cell of strings, and it won't work for it. Here is my code f=fopen(‘hello.m’) firstline=fgets(f) sprint(firstline) splitstring=textscan(ans, ‘%s’) out=splitstring{:}

Do I need to convert this into strings first? If so, how do I do that, I'm new to Matlab, and I usually use Java so it's a little confusing

Jan Simon

Jan Simon (view profile)

on 28 Jan 2013

Sorry, I do not understand which data are strings and which are cell strings. Using ans directly is prone to errors. Better split the string explicitly, e.g. out = regexp(firstline, ' ', 'split'). And then please explain again the type of the inputs. Either strcmp or ismember should solve the problem.

Samira

Samira (view profile)

on 28 Jan 2013

Yes it works, thank you so much.

Jan Simon

Jan Simon (view profile)

Contact us