Convert logical values into numeric values
古いコメントを表示
I have a cell array 20000 rows and 20 columns with logical values:
A={0 0 0 0 1 0...
0 0 1 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0 ...}
And I would like to convert this array into numeric values of 1 and 0. Can someone help me? Thank you.
採用された回答
その他の回答 (3 件)
chaman lal dewangan
2018 年 3 月 13 日
編集済み: chaman lal dewangan
2018 年 3 月 13 日
I wrote small code
for a=1:number of rows
for b=1:number of columns
if A(a,b)==true
new_matrix(a,b)=1;
else
new_matrix(a,b)=0;
end
end
end
2 件のコメント
James Tursa
2018 年 3 月 13 日
編集済み: James Tursa
2018 年 3 月 13 日
This doesn't work either. Have you tried it?
??? Undefined function or method 'eq' for input arguments of type 'cell'.
Julotek
2018 年 3 月 21 日
for a=1:number of rows
for b=1:number of columns
if A{a,b}
new_matrix(a,b)=1;
else
new_matrix(a,b)=0;
end
end
end
That should work but it is maybe too complicated for you need.
Jonathan Patao
2018 年 3 月 12 日
編集済み: Jonathan Patao
2018 年 3 月 13 日
Try this:
B = cell2mat(A).*1;
4 件のコメント
James Tursa
2018 年 3 月 12 日
I just did. It doesn't work:
>> A = {1 0;0 1}
A =
[1] [0]
[0] [1]
>> B = A.*1;
Undefined operator '.*' for input arguments of type 'cell'.
Star Strider
2018 年 3 月 12 日
@James —
Yours confirms my result:
A = {[1 0 1 1 0] == 1};
B = A.*1;
It throws the same error.
Jonathan Patao
2018 年 3 月 13 日
you're right, my fault. you need to convert from cell first. try:
B = cell2mat(A).*1;
Star Strider
2018 年 3 月 13 日
... duplicating my Answer!
カテゴリ
ヘルプ センター および File Exchange で Data Type Conversion についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!