Sorting array with missing numbers

6 vues (au cours des 30 derniers jours)
Soumyatha Gavvala
Soumyatha Gavvala le 1 Août 2016
Commenté : Star Strider le 1 Août 2016
Hello,
I have a cell array that goes like this:
A= [ 1
2
3
7
8
10
14
15]
I want to insert empty data or null data where there are no numbers, like this
A=[1
2
3
_
_
_
7
8
_
10
_
_
_
14
15]
How can I do this?
Thank you!

Réponses (2)

Star Strider
Star Strider le 1 Août 2016
The accumarray function can do this
A= {1
2
3
7
8
10
14
15};
ix = cumsum(diff([0 [A{:}]]));
Afill = accumarray(ix', [A{:}], [], @(x){x})
Afill =
[ 1]
[ 2]
[ 3]
[]
[]
[]
[ 7]
[ 8]
[]
[10]
[]
[]
[]
[14]
[15]
  2 commentaires
Andrei Bobrov
Andrei Bobrov le 1 Août 2016
accumarray([A{:}]',[A{:}]',[],@(x){x})
Star Strider
Star Strider le 1 Août 2016
Thank you, Andrei!

Connectez-vous pour commenter.


per isakson
per isakson le 1 Août 2016
Modifié(e) : per isakson le 1 Août 2016
Is this what you are looking for?
A = [1;2;3;7;8;10;14;15];
B = nan( A(end), 1 );
B(A) = A;
>> B'
ans =
1 2 3 NaN NaN NaN 7 8 NaN 10 NaN NaN NaN 14 15
>>

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by