新聞中心
用C語(yǔ)言編線性代數(shù)方程組求解
A B
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),禹會(huì)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:禹會(huì)等地區(qū)。禹會(huì)做網(wǎng)站價(jià)格咨詢:18980820575
無(wú)非就是二維數(shù)組
但是里面的數(shù)有小數(shù)么?
數(shù)學(xué)學(xué)的什么早忘了
高斯還考過(guò) 但從考場(chǎng)出來(lái)就全忘了
用c語(yǔ)言程序?qū)懸粋€(gè)函數(shù),求線性代數(shù)方程組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( "迭代發(fā)散\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();
}
大學(xué)線性代數(shù),c語(yǔ)言
#include stdio.h#include stdlib.h#include conio.h//我需要使用其中的getch函數(shù)讓程序暫停int main(){ system("color 4e");//純屬為了養(yǎng)眼 printf("利用雙重循環(huán)輸出乘法口決表\n");//程序介紹 int i, j;//兩個(gè)變量分別控制行與列輸出 int jplus = 2;//在行確定時(shí),控制到底需要輸出多少列 for(i = 1; i 10; i++)//行控制 { for(j = 1; j jplus; j++)//列控制 { printf("%d×%d=%d\t", j, i, i * j); } printf("\n"); jplus++;//每行輸出完畢后,下一行的列數(shù)都會(huì)加1 } printf("\n\n輸出完畢,按任意鍵退出..."); getch();//程序暫停以免一閃而過(guò) return 0;}/* 如果實(shí)在討厭那個(gè)jplus,你還可以用i + 1來(lái)代替它寫成如下的緊湊一點(diǎn)的格式,同樣OK*/int main(){ int i = 0; int j = 0; for(i = 1; i 10; i++) { for(j = 1; j i + 1; j++) { printf("%dx%d=%d\t",j,i,i*j); } printf("\n"); } return 0;}
線性代數(shù) c語(yǔ)言
#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語(yǔ)言編程求解線性代數(shù)中行列式值
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語(yǔ)言線性代數(shù)函數(shù) 線性代數(shù)與c語(yǔ)言
文章來(lái)源:http://fisionsoft.com.cn/article/hjsseg.html