How to generate a list of random ID which can later be used instead of participant name?
5 ビュー (過去 30 日間)
古いコメントを表示
Parishad Bromandnia
2021 年 3 月 4 日
コメント済み: Parishad Bromandnia
2021 年 3 月 5 日
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
1 件のコメント
the cyclist
2021 年 3 月 4 日
May I ask why this particular format? It would certainly be easier to do pure numerical digits.
採用された回答
Paul Hoffrichter
2021 年 3 月 4 日
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.
2 件のコメント
Walter Roberson
2021 年 3 月 4 日
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
2021 年 3 月 5 日
True. But if homework as @the cyclist was trying to determine, getting a start is better than nothing.
その他の回答 (1 件)
David Hill
2021 年 3 月 4 日
Yes, a strictly numerical format would be much easier.
a=[randperm(10,2)+47;randperm(26,2)+96];
a=char(a(:)');
3 件のコメント
Walter Roberson
2021 年 3 月 4 日
We are not promised that the order of digits and letters is fixed, just that there are two of each.
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!