原型函数:
创新互联公司专注于企业全网营销推广、网站重做改版、永川网站定制设计、自适应品牌网站建设、H5技术、成都做商城网站、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为永川等各大城市提供网站开发制作服务。
double exp ( double x );
float exp ( float x );
long double exp ( long double x );
必须要头文件:
#include math.h
c语言中标准函数指由标准头文件定义和实现的函数,即“系统自带的”,用户函数是由程序员自己定义实现的。
无参函数就是函数没有定义参数,有参函数就是函数定义了参数。
随机生成一百个1至100的随机数。
#include stdio.h
#include stdlib.h
#include time.h
#define N 100
int main(int argc, char *argv[])
{
int i;
int a[N];
srand(time(NULL));
for(i=0;iN;i++)
a[i]=rand()%100+1;
printf("生成的随机数为:\n");
for(i=0;iN;i++)
{
printf("%5d",a[i]);
if((i+1)%10==0)
printf("\n");
}
system("PAUSE");
return 0;
}
输出结果如下:
生成的随机数为:
41 15 82 1 23 51 16 96 92 17
86 71 87 69 74 5 50 18 42 52
46 34 52 18 40 74 79 35 22 36
65 94 80 91 18 72 61 79 4 11
61 30 95 55 11 19 38 87 78 52
95 30 99 53 99 99 10 79 70 33
91 85 10 99 47 58 93 41 19 71
56 60 10 24 73 87 18 38 13 73
57 22 91 4 37 60 67 58 85 48
46 7 57 100 73 96 60 44 24 23
请按任意键继续. . .
# include stdio.h
# include math.h
# include stdlib.h
# include time.h
# define MAX_N 3000 /*这个值为N可以定义的最大长度*/
# define N 100 /*产生随机序列的点数,注意不要大于MAX_N*/
# define PI 3.141592653
void randn(double *x,int num)
{
double x1[MAX_N],x2[MAX_N];
int i;
srand((unsigned)time(NULL));
for(i=0;iN;i++)
{
x1[i]=rand();
x2[i]=rand();
x1[i]=x1[i]/(RAND_MAX+1);
x2[i]=x2[i]/(RAND_MAX+1);
x[i]=sqrt(-2*log(x1[i]))*cos(x2[i]*2*PI);
}
}
void main()
{
double x[N],x_min,x_max;
int i;
FILE *fp;
if((fp=fopen("test.txt","w+"))==NULL)
{
fprintf(stderr,"Can't open the file\n");
exit(1);
}
randn(x,N);
x_min=x[0];
x_max=x[0];
for(i=0;iN;i++)
{
if(x[i]x_max)
{
x_max=x[i];
}
if(x[i]x_min)
{
x_min=x[i];
}
}
for(i=0;iN;i++)
{
x[i]=(x[i]-x_min)/(x_max-x_min)*(2-0.01)+0.01;
}
for(i=0;iN;i++)
{
printf("%f\t",x[i]);
fprintf(fp,"%lf\t",x[i]);
if(i%5==4)
{
printf("\n");
}
}
if(fclose(fp)==EOF)
{
printf("Closing error\n");
}
}
把生成的数据放入txt文件中,再导入matlab中,查看是否符合正态分布。
matlab中用normplot()画图如下:
很接近红线,说明很符合正态分布。
再用以下代码进行精确性分析:
得到H1=0,说明确实是正态分布。。。。