matlab编程产生伪随机数
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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');