c语言线性代数函数库 线性代数 函数

用c语言程序写一个函数,求线性代数方程组AX=b,要有通用性。非常感谢帮忙。

高斯-赛德尔迭代法

创新互联建站长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为高坪企业提供专业的成都网站制作、网站设计,高坪网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

#include stdio.h

#include conio.h

#include alloc.h

#include math.h

#define N 100

float *GauseSeidel(float *a,int n)

{

int i,j,nu=0;

float *x,dx;

x=(float *)malloc(n*sizeof(float));

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

x[i]=0.0;

do

{

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

{

float d=0.0;

for(j=0;j =n-1;j++)

d+=*(a+i*(n+1)+j)*x[j];

dx=(*(a+i*(n+1)+n)-d)/(*(a+i*(n+1)+i));

x[i]+=dx;

}

if(nu =N)

{

printf( "迭代发散\n ");

exit(1);

}

nu++;

}

while(fabs(dx) 1e-6);

return x;

}

main()

{

int i;

float *x;

float c[12]={5,2,1,8,2,8,-3,21,1,-3,-6,1};

float *GauseSeidel(float *,int);

x=GauseSeidel(c,3);

clrscr();

for(i=0;i =2;i++)

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

getch();

}

用C语言编线性代数方程组求解

A B

无非就是二维数组

但是里面的数有小数么?

数学学的什么早忘了

高斯还考过 但从考场出来就全忘了

线性代数 c语言

#includecstdio

#includecstring

#includecctype

#includealgorithm

#define maxn 205

using namespace std;

int n,p,a[maxn][maxn];

char ch;

int flag=0;

void get(int res)

{

for(flag=1;!isdigit(ch=getchar());) if(ch=='-') flag=-1;

for(res=flag*(ch-'0');isdigit(ch=getchar());res=res*10+flag*(ch-'0'));

}

int det()

{

int ret=1;

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

{

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

while(a[j][i])

{

int t=a[i][i]/a[j][i];

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

{

a[i][k]=(a[i][k]-1ll*a[j][k]*t)%p;

swap(a[i][k],a[j][k]);

}

ret=-ret;

}

if(!a[i][i]) return 0;

ret=1ll*ret*a[i][i]%p;

}

return (ret+p)%p;

}

int main()

{

while(~scanf("%d%d",n,p))

{

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

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

get(a[i][j]);

printf("%d\n",det());

}

}


分享名称:c语言线性代数函数库 线性代数 函数
本文URL:http://myzitong.com/article/dodiidd.html