38 views (last 30 days)

Show older comments

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,

Parishad

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.

Paul Hoffrichter
on 5 Mar 2021

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(:)');

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

Start Hunting!