资源简介
使用 C 语言产生正态分布的随机数。给出了全部的源代码。产生的随机数保存在文本文件中,并给出了 MATLAB 直方图验证的源代码。
代码片段和文件信息
#include “stdio.h“
double grn1(double udouble gdouble *r) //产生单个随机数
{
int im;
double swvt;
s=65536.0;
w=2053.0;
v=13849.0;
t=0.0;
for (i=1; i<=12; i++)
{
*r=(*r)*w+v;
m=(int)(*r/s);
*r=*r-m*s;
t=t+(*r)/s;
}
t=u+g*(t-6.0);
return(t);
}
void grns(double udouble gdouble *rint ndouble a[]) //产生随机数数列
{
int ikm;
double swvt;
s=65536.0;
w=2053.0;
v=13849.0;
for (k=0; k<=n-1; k++)
{
t=0.0;
for (i=1; i<=12; i++)
{
*r=(*r)*w+v;
m=(int)(*r/s);
*r=*r-m*s;
t=t+(*r)/s;
}
a[k]=u+g*(t-6.0);
}
return;
}
void main(void)
{
//这个代码是产生单个随机数的
/*
int ij;
double ugr;
double rand_num;
r=5.0; u=1.0; g=1.5;
printf(“\n“);
for (i=0; i<=9; i++)
{
for (j=0; j<=4; j++)
{
rand_num = grn1(ug&r);
printf(“%10.7lf “rand_num);
}
printf(“\n“);
}
printf(“\n“);
*/
//下面的代码是产生随机数数列的
int ij;
double ugra[30000]; //a数列用来存储产生的随机数
FILE *fp;
r=3.0; //设定随机数产生的种子
u=1.0; //正态分布的均值
g=1.5; //正态分布的方差为g的平方
printf(“\n“);
grns(ug&r30000a);
fp = fopen(“record.txt““w“);
for (i=0; i<=2999; i++)
{
for (j=0; j<=9; j++)
{
if (j==9)
{
printf(“%10.7lf“a[i*5+j]);
fprintf(fp“%10.7lf“a[i*5+j]); //保存到record.txt文件中,便于MATLAB画图
}else{
printf(“%10.7lf “a[i*5+j]);
fprintf(fp“%10.7lf “a[i*5+j]);
}
}
printf(“\n“);
fprintf(fp“\n“);
}
printf(“\n“);
fclose(fp);
getchar();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4017 2019-05-20 14:55 VS_rand\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.vcxproj
文件 940 2019-05-20 14:55 VS_rand\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.vcxproj.filters
文件 710 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\cl.command.1.tlog
文件 1292 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\CL.read.1.tlog
文件 494 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\CL.write.1.tlog
文件 81 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\ConsoleApplication1.lastbuildstate
文件 1895 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\ConsoleApplication1.log
文件 2 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 2 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 2 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 2 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 1338 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 2370 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 646 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\li
文件 9828 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\main.obj
文件 27648 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\vc110.idb
文件 77824 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug\vc110.pdb
文件 1663 2019-05-20 15:47 VS_rand\ConsoleApplication1\ConsoleApplication1\main.c
文件 168 2019-05-20 15:43 VS_rand\ConsoleApplication1\ConsoleApplication1\plot_rand_number.asv
文件 200 2019-05-20 16:00 VS_rand\ConsoleApplication1\ConsoleApplication1\plot_rand_number.m
文件 333000 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\record.txt
文件 39071 2019-05-20 16:01 VS_rand\ConsoleApplication1\ConsoleApplication1\unti
文件 2031616 2019-05-20 16:06 VS_rand\ConsoleApplication1\ConsoleApplication1.sdf
文件 924 2019-05-20 14:51 VS_rand\ConsoleApplication1\ConsoleApplication1.sln
..A..H. 22528 2019-05-20 16:06 VS_rand\ConsoleApplication1\ConsoleApplication1.v11.suo
文件 31744 2019-05-20 15:35 VS_rand\ConsoleApplication1\Debug\ConsoleApplication1.exe
文件 257896 2019-05-20 15:35 VS_rand\ConsoleApplication1\Debug\ConsoleApplication1.ilk
文件 445440 2019-05-20 15:35 VS_rand\ConsoleApplication1\Debug\ConsoleApplication1.pdb
文件 109760 2019-05-20 15:57 VS_rand\微信截图_20190520155730.png
目录 0 2019-05-20 15:35 VS_rand\ConsoleApplication1\ConsoleApplication1\Debug
............此处省略7个文件信息
评论
共有 条评论