# problem in converting a matrix of integers to vector of integers using str2num and num2str

3 views (last 30 days)
Nora Khaled on 11 Nov 2020
Commented: Nora Khaled on 12 Nov 2020
Hello,
I have a matrix x of this form (these are example values)
1 0 0 1 0
0 1 0 0 0
0 0 0 0 1
1 0 0 1 1
I am trying to make a number out of each row so I used
y=strcat(num2str(x(:,1)),num2str(x(:,2)),num2str(x(:,3)),num2str(x(:,4)),num2str(x(:,5)));
which get me the result
'10011'
'01000'
'00001'
'10011'
Now I want to convert each string to a number but its not working.
A = str2num(y)
A =
[]
Also, I tried different method all faild beause the size of y is 4x5 and not 4x1.
why does matlab consider each char as column and how can I avoid this problem?
Thanks
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Ameer Hamza on 11 Nov 2020
Edited: Ameer Hamza on 11 Nov 2020
Try this
x = [
1 0 0 1 0
0 1 0 0 0
0 0 0 0 1
1 0 0 1 1];
x = char(x+'0');
y = str2num(x)
Result
>> y
y =
10010
1000
1
10011
Or a faster solution
x = [
1 0 0 1 0
0 1 0 0 0
0 0 0 0 1
1 0 0 1 1];
y = x*10.^(size(x,2)-1:-1:0)';
##### 6 CommentsShowHide 5 older comments
Nora Khaled on 12 Nov 2020
Okay. Thank you very much this helps!

Sign in to comment.

### Categories

Find more on Data Type Conversion in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!