Matlab code natural numbers subset

  • MATLAB
  • Thread starter martika
  • Start date
  • #1
2
0

Main Question or Discussion Point

I have array of natural numbers from 1 to n.
They are divided into m groups, where m*(m-1)=n.
I need all m-1 elements from first group, last m-2 elements from second group, last m-3 elements from third group...zero elements from last group.
For example
5*4=20:
1,2,3,4; 5,6,7,8; 9,10,11,12; 13,14,15,16; 17,18,19,20;.
I need 1,2,3,4; 6,7,8; 11,12; 16;
Thanks!
 

Answers and Replies

  • #2
249
2
Here is a brute force, inelegant, solution to your problem using cell arrays to hold to the final values since they are not equal in size. Do with it as you will :p

Code:
m = 5;
n = m*(m-1);
numbers = 1:n;

for i = 1:m
    
    j = i-1;
    
    group(i,:) = numbers((m-1)*j+1:(m-1)*i);
    
    group_ends{i} = group(i,i:end);
    
end
 
  • #3
2
0
Thank you!!!
 

Related Threads on Matlab code natural numbers subset

  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
2
Views
1K
  • Last Post
Replies
2
Views
3K
  • Last Post
Replies
0
Views
1K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
4
Views
597
Replies
0
Views
5K
  • Last Post
Replies
13
Views
11K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
3
Views
2K
Top