MATLAB: A function that converts a binary string to its corresponding char values.

binary

I need to create a function that converts a binary string to its corresponding char values. I have create a function to convert char values to binary string. Now i need its reverse. Code for str to binary is given here.
Function [y] = str2bin(txt)
For i=1:length(txt)
m=txt(i);
y(i, :) = dec2bin(double(m));
End

Best Answer

Rather than doing this in a loop you should learn how to write vectorized code in MATLAB. Vectorized code is neater, faster and much easier to read. Loops are your second choice, not your first choice.
Try using dec2bin with the complete string like this:
>> str = 'hello world!';
>> dec2bin(str)
ans =
1101000
1100101
1101100
1101100
1101111
0100000
1110111
1101111
1110010
1101100
1100100
0100001
which returns a character array. If you want a cell array of strings, simply wrap this in a num2cell call:
>> out = num2cell(dec2bin(str),2)
out =
'1101000'
'1100101'
'1101100'
'1101100'
'1101111'
'0100000'
'1110111'
'1101111'
'1110010'
'1101100'
'1100100'
'0100001'
The reverse conversion, from binary string to decimal simply uses bin2dec like this:
>> bin2dec(out)
ans =
104
101
108
108
111
32
119
111
114
108
100
33
Or if you want the original string instead:
>> char(bin2dec(out).')
ans = 'hello world!'