Function to get a particular sequence of integers

1 view (last 30 days)
Hi everyone!
My question is really simple to understand visually with an example, but I can't reach a solution. Maybe someone could bring me some help.
Example:
n=3;
Input: [1, 2, 3, 4, 5, 6, 7, 8... and so on] %always integers >=1
Output needed: [1, 2, 3, 1, 2, 3, 1, 2... and so on]
NOTE 1: input vector is not neccessarily sorted, thus
Input: [4,3,6,1,2,7,5,8] %always integers >=1
Output needed: [1,3,3,1,2,1,2,2]
NOTE 2: I believe mod(x,n) function could be useful in this case, but I don't know how exactly.
Thanks in advance!

Accepted Answer

Ameer Hamza
Ameer Hamza on 6 Oct 2020
Edited: Ameer Hamza on 6 Oct 2020
Try this
x = [4,3,6,1,9,2,7,5,8];
y = mod(x-1, 3)+1;
Result
>> y
y =
1 3 3 1 3 2 1 2 2

More Answers (0)

Community Treasure Hunt

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

Start Hunting!