电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

产生高斯随机数VIP免费

产生高斯随机数_第1页
1/6
产生高斯随机数_第2页
2/6
产生高斯随机数_第3页
3/6
一、产生0-1均匀分布数采用混合同余法,,,即为一个在0~1之间的随机数。通常情况下,选取,我们任意给定一个初始值,即可得到一个随机数,在程序中采用指针变量*s,使得每次产生的随机数都不一样,只要改变循环的次数,就可以得到任意多个0~1随机数。程序实现代码如下:doublex1(doublea,doubleb,int*s){doublet;*s=2045*(*s)+1;*s=*s-(*s/1048576)*1048576;t=(*s)/1048576.0;return(t);}二、产生标准高斯分布数标准的高斯分布均值=0,方差=1;根据中心极限定理有,根据此式可以由12个0~1分布数产生一个高斯数。改变循环次数可以得到任意多个标准高斯分布数。程序实现代码如下:intmain(){doublemean,sigma;doublex[100];inti,j;ints;mean=0.0;sigma=1.0;s=19444;cout<<"产生个高斯数:"<#include//#include#include#include#include#include#include#includelongWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam);BOOLInitWindowsClass(HINSTANCEhInstance);BOOLInitWindows(HINSTANCEhInstance,intnCmdShow);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){MSGMessage;if(!InitWindowsClass(hInstance))returnFALSE;if(!InitWindows(hInstance,nCmdShow))returnFALSE;while(GetMessage(&Message,0,0,0)){TranslateMessage(&Message);DispatchMessage(&Message);}returnMessage.wParam;}longWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam){HDChDC;HBRUSHhBrush;HPENhPen;PAINTSTRUCTPtStr;////////////////////////////doublex1(doublea,doubleb,int*s);doublemean=0,sigma=1.0;srand((unsigned)time(NULL));doublex[10000],b[10000]={0},temp;inti,j;ints1;intk;s1=19444;for(j=0;j<10000;j++){x[j]=0;for(i=0;i<12;i++){x[j]=x[j]+x1(mean,sigma,&s1);}x[j]=x[j]-6.0;}for(i=0;i<10000;i++){temp=x[i];//printf("%lf\t",temp);for(j=0;j<10000;j++){if(-3+0.2*jtemp)b[j]=b[j]+1;}}/////////////////////////////////switch(iMessage){caseWM_PAINT:hDC=BeginPaint(hWnd,&PtStr);SetMapMode(hDC,MM_ANISOTROPIC);hPen=(HPEN)GetStockObject(BLACK_PEN);hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH);SelectObject(hDC,hBrush);SelectObject(hDC,hPen);///////////////////////////////////////////////////////////////////for(k=0;k<100;k++){Rectangle(hDC,20+10*k,400-0.3*b[k],30+10*k,400);}EndPaint(hWnd,&PtStr);return0;caseWM_DESTROY:PostQuitMessage(0);return0;default:return(DefWindowProc(hWnd,iMessage,wParam,lParam));}}BOOLInitWindows(HINSTANCEhInstance,intnCmdShow){HWNDhWnd;hWnd=CreateWindow("WinFill","高斯分布",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);if(!hWnd)returnFALSE;ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);returnTRUE;}BOOLInitWindowsClass(HINSTANCEhInstance){WNDCLASSWndClass;WndClass.cbClsExtra=0;WndClass.cbWndExtra=0;WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);WndClass.hIcon=LoadIcon(NULL,"END");WndClass.hInstance=hInstance;WndClass.lpfnWndProc=WndProc;WndClass.lpszClassName="WinFill";WndClass.lpszMenuName=NULL;WndClass.style=CS_HREDRAW|CS_VREDRAW;returnRegisterClass(&WndClass);}doublex1(doublea,doubleb,int*s){doublet;*s=2045*(*s)+1;*s=*s-(*s/1048576)*1048576;t=(*s)/1048576.0;return(t);}得到结果图如下:

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

产生高斯随机数

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部