Function to get a particular sequence of integers

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!

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 6 Oct 2020
Modifié(e) : Ameer Hamza le 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

2 commentaires

Yeah, it works perfectly. Really appreciated!
I am glad to be of help!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by