How to insert the missing number into the cell array?

1 view (last 30 days)
Suppose that I have this
I=[3 5 6 8 10 11]
A={[3];[6;8];[];[11]}
How to find the missing number of I in A and insert that number into any position of A? for intance like:
A={[3];[6;8];[5];[10;11]}
  4 Comments
Akira Agata
Akira Agata on 14 May 2019
Edited: Akira Agata on 14 May 2019
One quick question:
How did you define the position of '10' in your cell array A?
Hang Vu
Hang Vu on 14 May 2019
It will be random sir. That is just my example, I want to randomly insert the missing numbers into A, not only the empty cell

Sign in to comment.

Accepted Answer

KSSV
KSSV on 14 May 2019
I=[3 5 6 8 10 11] ;
A={[3];[6;8];[];[11]} ;
% get empty cell
idx = cellfun(@isempty,A) ;
A{idx} = setdiff(I,cell2mat(A))
  11 Comments
KSSV
KSSV on 14 May 2019
I=[3 5 6 8 10 11] ;
A={[3];[6;8];[];[11]} ;
% get empty cell
idx = cellfun(@isempty,A) ;
missing = setdiff(I,cell2mat(A)) ;
A{idx} = missing(1)
Hang Vu
Hang Vu on 14 May 2019
Edited: Hang Vu on 14 May 2019
Thank you so much! I modified a bit and it worked.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!