Sorting array with missing numbers

5 Ansichten (letzte 30 Tage)
Soumyatha Gavvala
Soumyatha Gavvala am 1 Aug. 2016
Kommentiert: Star Strider am 1 Aug. 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!

Antworten (2)

Star Strider
Star Strider am 1 Aug. 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 Kommentare
Andrei Bobrov
Andrei Bobrov am 1 Aug. 2016
accumarray([A{:}]',[A{:}]',[],@(x){x})
Star Strider
Star Strider am 1 Aug. 2016
Thank you, Andrei!

Melden Sie sich an, um zu kommentieren.


per isakson
per isakson am 1 Aug. 2016
Bearbeitet: per isakson am 1 Aug. 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
>>

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by