1D series to 2D stacked
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Eduardo Santos
am 26 Nov. 2018
Kommentiert: Eduardo Santos
am 27 Nov. 2018
Hi,
I`m trying to think in a best option to "convert" a 1d arrays to a 2d as follows:
B has a fixed size of 10000x(a prior know number, here 6), so it just need to stack number 1's regarding the number into the aray A.
A =
1 5 3 1 2 4
B =
....
....
....
0 1 0 0 0 0
0 1 0 0 0 1
0 1 1 0 0 1
0 1 1 0 1 1
1 1 1 1 1 1 % ROW 1
It can be done maniulating the arrays in a slow way, I would like to do much faster.
Thanks
2 Kommentare
Kevin Chng
am 27 Nov. 2018
Hi,
to stack number 1's regarding the number into the aray A?Do you mind to elaborate the relationship between A and B?
Walter Roberson
am 27 Nov. 2018
Kevin, read the output B from the bottom upwards. The first column has one 1, which is the same number as A(1). The second column has five 1, which is the same number as A(2). And so on. So if you were to sum(B) then you would get A, with it always being the last so-many entries that are set to 1.
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 27 Nov. 2018
t = fliplr(1 : 10000);
B = t.' <= A;
This requires R2016b or later. For earlier releases, change the B line to
B = bsxfun(@le, t.', A);
Siehe auch
Kategorien
Mehr zu Matrices and Arrays 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!