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.

 Réponse acceptée

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 commentaires

Tony Haines
Tony Haines le 22 Fév 2024
This is what I needed. To have it all in a cell. Thank you!
Dyuman Joshi
Dyuman Joshi le 22 Fév 2024
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (1)

Les Beckham
Les Beckham le 22 Fév 2024
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 commentaire

Tony Haines
Tony Haines le 22 Fév 2024
Thank you very much. It's very useful for what i'm working on.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by