c语言中gauss函数,gauss消去法c语言

c++中 gauss(0,1) (x,y,z)的意思是?

最可能的:

创新互联公司专业为企业提供麟游网站建设、麟游做网站、麟游网站设计、麟游网站制作等企业网站建设、网页设计与制作、麟游企业网站模板建站服务,十余年麟游做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

gauss是个函数,根据你的参数(0,1),返回一个函数指针,然后通过(x,y,z)作为参数,调用这个返回的函数指针所指向的函数。

Gauss消去法C语言程序

void gauss(double a[n][n+1],double x[n])

{

int i,j,k;

double temp,s,l;

for(i=0;in-1;i++)

{

//选列主元

k=i;

for(j=i+1;jn;j++)

{ if(fabs(a[j][i])fabs(a[k][i]))

k=j;

}

//换行

if(k!=i)

for(j=i;j=n;j++)

{

temp=a[i][j];

a[i][j]=a[k][j];

a[k][j]=temp;

}

//消元

for(j=i+1;jn;j++)

{

l=1.0*a[j][i]/a[i][i];

for(k=0;kn+1;k++)

a[j][k]=a[j][k]-a[i][k]*l;

}

print(a);

printf("\n");

}

print(a);

//回代

x[n-1]=a[n-1][n]/a[n-1][n-1];

for(i=n-2;i=0;i--)

{

s=0.0;

for(j=i;jn;j++)

{

if(j==i)

continue;

s+=a[i][j]*x[j];

}

x[i]=(a[i][n]-s)/a[i][i];

}

}

C语言用高斯消元法解n元线性方程

#includemath.h

#includestdio.h

#includestdlib.h

#includeconio.h

#define NUMBER 20

#define Esc 0x1b

#define Enter 0x0d

float A[NUMBER][NUMBER+1] ,ark;

int flag,n;

void exchange(int r,int k);

float max(int k);

void message();

int main()

{

float x[NUMBER]; /*此数组用于存放方程解*/

int r,k,i,j;

char celect;

system("cls");

printf("\n\n用Gauss列主元消元法解线性方程组");

printf("\n\n1.解方程组请按Enter.");

printf("\n\n2.退出程式请按Esc.");

celect=getch();

if(celect==Esc)

exit(0);

printf("\n\n 输入方程组的维数:n=");

scanf("%d",n);

printf(" \n\n现在输入系数矩阵A和向量b:");

for(i=1;i=n;i++)

{

printf("\n\n请输入a%d1--a%d%d系数和向量b%d:",i,i,n,i);

/*实现将每一行中的系数和向量一次性输入,数之间用空格格开,输完后回车确定*/

for(j=1;j=n+1;j++) /*将刚才输入的数存入数组*/

scanf("%f",A[i][j]);

}

for(k=1;k=n-1;k++)

{

ark=max(k);

if(ark==0) /*判断方程是否为线性方程,即是否合法*/

{

printf("\n\n此方程组不合法!");message();

}

else if(flag!=k)

exchange(flag,k);

for(i=k+1;i=n;i++)

for(j=k+1;j=n+1;j++)

A[i][j]=A[i][j]-A[k][j]*A[i][k]/A[k][k];

}

x[n]=A[n][n+1]/A[n][n];

for( k=n-1;k=1;k--)

{

float me=0;

for(j=k+1;j=n;j++)

{

me=me+A[k][j]*x[j];

}

x[k]=(A[k][n+1]-me)/A[k][k];

}

for(i=1;i=n;i++)

{

printf(" \n\nx%d=%f",i,x[i]);

}

message();

return 1;

}

void exchange(int r,int k) /*交换行的矩函数*/

{

int i;

for(i=1;i=n+1;i++)

A[0][i]=A[r][i];

for(i=1;i=n+1;i++)

A[r][i]=A[k][i];

for(i=1;i=n+1;i++)

A[k][i]=A[0][i];

}

float max(int k) /*比校系数大小的函数*/

{

int i;

float temp=0;

for(i=k;i=n;i++)

if(fabs(A[i][k])temp)

{

temp=fabs(A[i][k]);

flag=i;

}

return temp;

}

void message() /*实现菜单选择的函数*/

{

printf("\n\n 继续运算按 Enter ,退出程式按 Esc!");

switch(getch())

{

case Enter: main();

case Esc: exit(0);

default:{printf("\n\n不合法的输入!");message();}

}

}

用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数

C语言中的random函数可以产生均匀分布的随机变量分布区间为(0,1),假设x1,x2是由random产生的随机变量,

则y=sqrt(-2*ln(x1))为瑞利分布

theta=2*pi*x2为(0,2*pi)的均匀分布

n1=y*cos(theta),n2=y*sin(theta)为两个独立的正太分布

z=sqrt((a+n1)^2+(b+n2)^2),为莱斯分布,a ,b为常数

网站题目:c语言中gauss函数,gauss消去法c语言
URL分享:https://www.cdcxhl.com/article36/dsejcpg.html

成都网站建设公司_创新互联,为您提供网站收录静态网站手机网站建设商城网站标签优化动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设