Generation of random co-prime integers modulo n

6 ビュー (過去 30 日間)
Mohsin Shah
Mohsin Shah 2017 年 5 月 6 日
コメント済み: Mohsin Shah 2017 年 5 月 6 日
Suppose we have Lena image of 512x512 pixels and we want to generate random integers for every pixel of Lena image (512x512)that are co-prime to n (modulo n). How can we generate a matrix of random integers of size 512x512 co-prime to n?

採用された回答

Guillaume
Guillaume 2017 年 5 月 6 日
Your question is missing a lot of information. What is the range for the integers to generate? What is the range for n? Should the generated numbers be all distinct or are repetitions allowed?
If the range is not too great, you could just test all the integers and only keep the ones that are coprimes:
maxvalue = 5000;
n = 127;
arraysize = [512, 512];
allnumbers = 1:maxvalue;
coprimes = allnumbers(gcd(allnumbers, n) == 1);
result = reshape(coprimes(randi(numel(coprimes), prod(arraysize))), arraysize); %if repetitions are allowed
result = reshape(coprimes(randperm(numel(coprimes), prod(arraysize))), arraysize); %if no repetition
  1 件のコメント
Mohsin Shah
Mohsin Shah 2017 年 5 月 6 日
Fantastic. Thank you so much.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRandom Number Generation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by