How to insert the missing number into the cell array?

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

YOu have I in hand always?
yes I have I in hand, it would be changed depend on my input.
Akira Agata
Akira Agata 2019년 5월 14일
편집: Akira Agata 2019년 5월 14일
One quick question:
How did you define the position of '10' in your cell array A?
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

댓글을 달려면 로그인하십시오.

 채택된 답변

KSSV
KSSV 2019년 5월 14일
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

Thank you, but I want to insert in any position not only the empty cell. and it's should display as 1 column. Yours is 1x2
A =
4×1 cell array
{[ 3]}
{2×1 double}
{1×2 double}
{[ 11]}
I inserted in the empty cell, the elements left in I. YOu can use the following:
A{1}(end+1) = 5 ; % this will insert in first cell in second position
Thank you for your time! But with that way it is just manually input
Then how you want?
Because I have here are 2 missing numbers, and I don't know these two, How can I use
A{1}(end+1) = 5 ;
I have showed you how to get missing numbers already. :
miss = setdiff(I,cell2mat(A))
this setdiff found 2 numbers but the A{1}(end+1) is only 1 position, so it doesn't work. And do you have any way to ramdom insert instead of typing the position?
idx = randsample(length(A),1)
Thank you, but Do you get my point? I already tried this
I=[3 5 6 8 10 11] ;
A={[3];[6; 8];[];[11]} ;
% get empty cell
idx = randi(size(A,1))
A{idx}= setdiff(I,cell2mat(A))
Could you please make this with your way?
A={[3];[6;8];[5];[10;11]}
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 2019년 5월 14일
편집: Hang Vu 2019년 5월 14일
Thank you so much! I modified a bit and it worked.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2019년 5월 14일

편집:

2019년 5월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by