randn() function generates the same sequence whenever I called it.

7 ビュー (過去 30 日間)
JangHo Cho
JangHo Cho 2015 年 8 月 4 日
コメント済み: JangHo Cho 2015 年 8 月 5 日
Hello,
I used MATLAB coder for converting .m files to C files.
All the things are O.K. except randn() function. The problem is that auto-generated randn() function generates the same sequence of numbers all the time. So I changed it by using 'srand(time(NULL))'; and 'rand/(double)RAND_MAX';
Are there any settings for MATLAB coder to generated a different version of randn() function?

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2015 年 8 月 4 日
Use rng function
for k=1:10
rng(k)
randn(1,10)
end
  1 件のコメント
JangHo Cho
JangHo Cho 2015 年 8 月 5 日
Thank you Azzi Abdelmalek. I understood by your code. it must be added to my function.

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

その他の回答 (1 件)

Mike Hosea
Mike Hosea 2015 年 8 月 4 日
Every time you start MATLAB it will deliver the same sequence if you don't provide your own seed first. Your generated code must match this behavior. Consequently, if that isn't what you want, you must use the rng function to seed the generator. There is an example here on MATLAB Answers somewhere that illustrates using the C time() function to with rng to seed the generator.
  1 件のコメント
JangHo Cho
JangHo Cho 2015 年 8 月 5 日
Thank you for your kindness, Mike Hosea. I will search for the article you mentioned. Though I feel more comfortable to write directly in C code, I should search for it because in many cases we don't want to modify the auto-generated code lines. I thank both of you but there was only one chance to click the 'Accept this Answer' button. sorry. :)

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

カテゴリ

Help Center および File ExchangeMATLAB Coder についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by