finding Missing elements in a vector
Afficher commentaires plus anciens
I have a vector P =
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
19
20
21
3
23
24
6
26
27
28
29
30
31
32
As per the ascending order (1 2...15..32) of vector P, the elements 18,25,28 are missing and their position is occupied by the elements 2,3,6. now i want a vector which indicates this numbers like n=[2 3 6]. if elements are in order perfectly (1:10), I don't want new vector n.
Réponse acceptée
Plus de réponses (1)
Andrei Bobrov
le 26 Mai 2015
out = P([1;diff(P)] < 0);
5 commentaires
Raghavendra Reddy P
le 26 Mai 2015
You have to convert P to a column vector
P = P(:);
out = P([1;diff(P)] < 0);
or use "," instead of ";", but this works only if P is a row vector
out = P([1,diff(P)] < 0);
Raghavendra Reddy P
le 26 Mai 2015
Modifié(e) : Andrei Bobrov
le 26 Mai 2015
Andrei Bobrov
le 26 Mai 2015
P(strfind([P(1);diff(P(:))]' ~= 1,[1 1]))
Raghavendra Reddy P
le 26 Mai 2015
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!