导航:首页 > 编程语言 > 运用列主元消去法编程

运用列主元消去法编程

发布时间:2024-11-20 01:10:21

Ⅰ 用列主元消去法,用c++编个程序

程序代码如下:

double* Gauss(double **a,double *b)
{
int i,j,k,flag;
double temp;
double *x;
x=new double[n];
for(i=0;i<n-1;i++)
{
max=0;
flag=0;
for(j=i;j<n;j++)
{
if(a[j][i]<0)
temp=-a[j][i];
else
temp=a[j][i];
if(max<temp)
{
max=temp;
row=j;
flag=1;
}
}
if(max==0)
{
cout<<"此题不能用列主元消去法做"<<endl;
exit(0);
}
if(flag==1)
{
for(j=0;j<n;j++)
{
temp=a[i][j];
a[i][j]=a[row][j];
a[row][j]=temp;
}
temp=b[i];
b[i]=b[row];
b[row]=temp;
}
for(j=i+1;j<n;j++)
{
temp=1.0*a[j][i]/a[i][i];
for(k=i;k<n;k++)
a[j][k]=a[j][k]-temp*a[i][k];
b[j]=b[j]-temp*b[i];
}
if(a[n-1][n-1]==0)
{
cout<<"此题不能用列主元消去法做"<<endl;
exit(0);
}
}
for(i=0;i<n;i++)
{
b[i]=b[i]/a[i][i];
for(j=i+1;j<n;j++)
a[i][j]=a[i][j]/a[i][i];
a[i][i]=1;
}
for(i=n-2;i>=0;i--)
for(j=i;j>=0;j--)
{
b[j]=b[j]-b[i+1]*a[j][i+1];
a[j][i+1]=0;
}
for(i=0;i<n;i++)
x[i]=b[i];
return(x);
}

使用程序时在main函数中调用x=Gauss(a,b),a为系数矩阵头指针,b为常数项头指针,程序返回一个double类型的数组x[n]即为解集.

阅读全文

与运用列主元消去法编程相关的资料

热点内容
什么是战略pdf 浏览:517
20万人用什么服务器 浏览:926
反编译怎么解决字串长度 浏览:279
农行app怎么冻结账号 浏览:759
mt反编译的软件打不开 浏览:518
安卓日上免税APP如何安装 浏览:583
怎么买星空加密狗 浏览:19
北京程序员薪酬 浏览:133
华为荣耀畅玩8c升级方舟编译器 浏览:412
手机怎么把照片填入文件夹 浏览:305
php图片轮换 浏览:929
科二学车app软件哪个好 浏览:645
用aj踩东西的解压视频 浏览:382
将python编译成手机app 浏览:475
程序员社招国企好进么 浏览:696
php路径写法 浏览:433
为什么有些网页安卓打不开 浏览:220
如何渗透获取服务器数据库 浏览:778
ios是怎么解析app的 浏览:256
按揭车怎么贷款app 浏览:477