Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB Matlab code natural numbers subset

  1. Sep 21, 2012 #1
    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
    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;
  2. jcsd
  3. Sep 21, 2012 #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 (Text):
    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);
  4. Sep 21, 2012 #3
    Thank you!!!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook