# How to generate a list of random ID which can later be used instead of participant name?

10 views (last 30 days)
Parishad Bromandnia on 4 Mar 2021
Hello every one,
I want to programm a code in which I can generate a list of random ID to use as test person ID later during my experiments.
- Each ID has to be consisted of 2 letters as well as 2 digits (e.g., 2g9e)
I would be so thankful if somebody could advise me how to do so.
Best regards,
the cyclist on 4 Mar 2021
May I ask why this particular format? It would certainly be easier to do pure numerical digits.

Paul Hoffrichter on 4 Mar 2021
Due to the cyclist remark about homework, I am just starting the script. It leaves out certain patterns like 'a9a9' since it is just using combinations. How you rearrange the unique patterns is up to you.
a_26_2 = nchoosek('a':'z',2);
n_10_2 = nchoosek('0':'9',2);
a_26_2f = [a_26_2; fliplr(a_26_2)]; % gives 650 2 letter unique alpha strings
n_10_2f = [n_10_2; fliplr(n_10_2)]; % gives 90 2 letter unique numeric strings
By merging all possibilities, you can get 650*90 (almost 60,000) unique 4 char id's.
Walter Roberson on 4 Mar 2021
We are not told that letters are restricted to lowercase.
We are also not told to avoid easily confused possibilities such as l0lO
Paul Hoffrichter on 5 Mar 2021
True. But if homework as @the cyclist was trying to determine, getting a start is better than nothing.

David Hill on 4 Mar 2021
Yes, a strictly numerical format would be much easier.
a=[randperm(10,2)+47;randperm(26,2)+96];
a=char(a(:)');
##### 3 CommentsShow 1 older commentHide 1 older comment
Walter Roberson on 4 Mar 2021
We are not promised that the order of digits and letters is fixed, just that there are two of each.
Parishad Bromandnia on 5 Mar 2021
@Paul Hoffrichter Thank you so much for your effort :)
Thats what I need and enough for my purpose.
Best,