List of increasing integers

I have a list of dimensions given by the row vector as follows
I would like to associate with this vector, a list of increasing integers such that each size in 'dim' corresponds with an exact number of integers like this:
int = [ 1 2 , 3 4, 5 6 7 8, 9 10, 11 12, 13 14, 15 16, 17 18, 19 20, 21 22, 23 24, 25 26]
I grouped the integers just to indicate that a dim=4 corresponds to 5 6 7 8. and the rest just has two integers.
Thanks.

 Risposta accettata

dim = [2 2 4 2 2 2 2 2 2 2 2 2]
dim = 1×12
2 2 4 2 2 2 2 2 2 2 2 2
int = 1:sum(dim)
int = 1×26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
out = mat2cell(int, 1, dim)
ans = 1×12 cell array
{[1 2]} {[3 4]} {[5 6 7 8]} {[9 10]} {[11 12]} {[13 14]} {[15 16]} {[17 18]} {[19 20]} {[21 22]} {[23 24]} {[25 26]}

2 Commenti

Tony Haines
Tony Haines il 22 Feb 2024
This is what I needed. To have it all in a cell. Thank you!
You're welcome!

Accedi per commentare.

Più risposte (1)

Are you sure that is what you want? It doesn't seem very useful.
dim = [2 2 4 2 2 2 2 2 2 2 2 2]
dim = 1×12
2 2 4 2 2 2 2 2 2 2 2 2
int = 1:sum(dim)
int = 1×26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
int(end)
ans = 26

1 Commento

Tony Haines
Tony Haines il 22 Feb 2024
Thank you very much. It's very useful for what i'm working on.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by