Converting numbers into logicals

2 次查看(过去 30 天)
Hi, I would need to convert matrix A into a 120x9 logical array (B). A is a 120x1 cell, and each row contains numbers 1-9 (number of numbers vary). So for example, if row 1 is [3; 5; 6;8], I would like B to reflect [0 0 1 0 1 1 0 1 0] in the first row. How may I code for this?
Thank you, appreciate any help! :)

采纳的回答

Stephen23
Stephen23 2020-2-24
编辑:Stephen23 2020-2-24
>> A = {[3;5;6;8],[2,3,5]}; % fake data
>> B = cell2mat(cellfun(@(v)ismember(1:9,v),A(:),'UniformOutput',false))
B =
0 0 1 0 1 1 0 1 0
0 1 1 0 1 0 0 0 0

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by