matlab编程产生伪随机数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用下式产生伪随机数

x i+1=2n+1x i+c mod 2p,

其中2≤n≤p−1,c为奇数。

解:取x1=1,c=3,p=8,n=5,产生101个伪随机数。

首先设一个列向量x来存取产生的伪随机数,定义A=

2n+1x i+c,B=2p,则x i+1=A mod B。

程序及结果如下(可执行文件xiti2见文件夹中):

x(1)=1;c=3;p=8;n=5;%根据要求初始化

for i=1:100%循环100次

A=(2^n+1)*x(1,i)+c;

B=2^p;

x(1,i+1)=mod(A,B);%对A除以B取余数

end

plot(1:101,x);

hold on

title('第二题伪随机数');

xlabel('循环次数i');

ylabel('伪随机数x');

相关文档
最新文档