今天给各位分享c语言计算线性代数的知识,其中也会对线性代数运算进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、浅析用c语言编程求解线性代数中行列式值2、用c语言程序写一个函数,求线性代数方程组AX=b,要有通用性。非常感谢帮忙。3、线性代数 c语言
浅析用c语言编程求解线性代数中行列式值
include iostream
#include stdio.h
int jc(int m){
if(m!=1) return m*jc(m-1);
else return 1;
}
int c(int m,int n){
if(m=n) return jc(m)/(jc(n)*jc(m-n));
}
int main(void){
int m,n;
scanf(“%d%d”,m,n);
printf(“%d\n”,c(m,n));
return 0;
}
用c语言程序写一个函数,求线性代数方程组AX=b,要有通用性。非常感谢帮忙。
高斯-赛德尔迭代法
#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语言
#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语言计算线性代数和线性代数运算的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。