c语言标准正态函数 C语言的正则表达式

exp[|x-y|^2/2a^2]用C语言怎么编写啊?急用

原型函数:

创新互联公司专注于企业全网营销推广、网站重做改版、永川网站定制设计、自适应品牌网站建设、H5技术成都做商城网站、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为永川等各大城市提供网站开发制作服务。

double exp ( double x );

float exp ( float x );

long double exp ( long double x );

必须要头文件:

#include math.h

C语言中什么是标准函数、用户函数、无参函数、有参函数?请分别解答。

c语言中标准函数指由标准头文件定义和实现的函数,即“系统自带的”,用户函数是由程序员自己定义实现的。

无参函数就是函数没有定义参数,有参函数就是函数定义了参数。

如何在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

请按任意键继续. . .

如何用C语言生成[0.01,2]之间符合正态分布的随机数。。。注意是正态分布!!答案采用后再追加50分

# 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,说明确实是正态分布。。。。


网站栏目:c语言标准正态函数 C语言的正则表达式
本文链接:http://myzitong.com/article/docjjjd.html