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

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

# Convert Strings into vectors of binary numbers

Asked by Sam 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{:};

## Products

No products are associated with this question.

Answer by Jan Simon on 25 Jan 2013

I do not get it. Do you want STRCMP?

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

Sam 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 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 on 28 Jan 2013

Yes it works, thank you so much.