# find missing elements in a matrix

19 views (last 30 days)
Rashmil Dahanayake on 19 Sep 2014
Hi, I have a matrix represents code numbers.
A=[1 2 3 6 7 45 46 47 53 78 80];
B=[55.23 ,74.22]; % B is if same length of A, and contains element by element corresponding data
Say the numbers should be in the range 1:80.
How can I find the numbers which are missing in A.
eg in above case, the expected answer is missing=[4 5 8 9 ... 79]
Then to print a text file
experiment 1 results 55.23
experiment 2 results 442.23
experiment 4 data missing
.
.
experiment 79 data missing
experiment 80 results 442.2
##### 2 CommentsShowHide 1 older comment
Rashmil Dahanayake on 23 Sep 2014

Stephen23 on 19 Sep 2014
Try setxor :
setxor(A,1:80)
##### 2 CommentsShowHide 1 older comment
Rashmil Dahanayake on 20 Sep 2014
see my updated answer incorporating Fabios

Fabio Freschi on 19 Sep 2014
Try this
A=[1 2 3 6 7 45 46 47 53 78 80];
all = 1:80;
missing = setdiff(all,A);
Fabio
Rashmil Dahanayake on 19 Sep 2014
this method also works

Rashmil Dahanayake on 19 Sep 2014
Edited: Rashmil Dahanayake on 19 Sep 2014
Full Answer for my question asked previously. In case if someone might find it usefull
A=1:3:20; % in complete data
B=1:20; % Full index
missing = setdiff(B,A); % check for missing elements
for ms=1:length(missing)
A=horzcat(A(1:(missing(ms)-1)),'misplaced results',A(missing(ms):end));
end

### Community Treasure Hunt

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

Start Hunting!

Translated by