problem in converting a matrix of integers to vector of integers using str2num and num2str
2 ビュー (過去 30 日間)
表示 古いコメント
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 件のコメント
採用された回答
Ameer Hamza
2020 年 11 月 11 日
編集済み: Ameer Hamza
2020 年 11 月 11 日
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)';
その他の回答 (0 件)
参考
カテゴリ
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!