关于一个C语言编写列主元消元法的问题,求助
答案:1 悬赏:40 手机版
解决时间 2021-12-02 13:24
- 提问者网友:抽煙菂渘情少年
- 2021-12-01 19:46
关于一个C语言编写列主元消元法的问题,求助
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-12-01 20:55
高斯消元法是将方程组中的一方程的未知数用含有另一未知数的代数式表示,并将其代人到另一方程中,这就消去了一未知数,得到一解;或将方程组中的一方程倍乘某个常数加到另外一方程中去,也可达到消去一未知数的目的。消元法主要用于二元一次方程组的求解。核心
1)两方程互换,解不变;
2)一方程乘以非零数k,解不变;
3)一方程乘以数k加上另一方程,解不变[2] 。
如是老师布置数值作业实验,可以借鉴,请勿抄袭(NEU)
//列主元高斯消去法#include#include int main()
{ int n; int j,j1,j2,j3,j4,j5,j6,j7,j8,j9,j10; double temp; double SUM=0; printf("请输入未知解的个数:"); scanf("%d",&n); double A[n][n+1]; double x[n]; printf("请输入系数矩阵增广后的矩阵:\n"); for( j=0;j { for(j3=j2+1;j3 { if(A[j2][j2]>=A[j3][j2]) continue; else
{ for(j4=j2;j4 {
temp = A[j2][j4];
A[j2][j4] = A[j3][j4];
A[j3][j4] = temp;
}
}
} if(A[j2][j2]==0) printf("no unique solution!\n"); for(j5=j2+1;j5 { for(j6=j2+1;j6 A[j5][j6]=A[j5][j6]-((A[j5][j2]*A[j2][j6])/A[j2][j2]);
}
} for(j7=n-1;j7>=0;j7--) //回代
{
x[j7]=(A[j7][n]-SUM)/A[j7][j7];
SUM = 0;
j9 = j7-1; for(j8=j7-1;j8 {
SUM = SUM+x[++j9]*A[j7-1][j9];
}
} printf("所求解分别为(保留五位小数):"); //输出解
for(j10 = 0;j10 }
1)两方程互换,解不变;
2)一方程乘以非零数k,解不变;
3)一方程乘以数k加上另一方程,解不变[2] 。
如是老师布置数值作业实验,可以借鉴,请勿抄袭(NEU)
//列主元高斯消去法#include
{ int n; int j,j1,j2,j3,j4,j5,j6,j7,j8,j9,j10; double temp; double SUM=0; printf("请输入未知解的个数:"); scanf("%d",&n); double A[n][n+1]; double x[n]; printf("请输入系数矩阵增广后的矩阵:\n"); for( j=0;j
{ for(j4=j2;j4
temp = A[j2][j4];
A[j2][j4] = A[j3][j4];
A[j3][j4] = temp;
}
}
} if(A[j2][j2]==0) printf("no unique solution!\n"); for(j5=j2+1;j5
}
} for(j7=n-1;j7>=0;j7--) //回代
{
x[j7]=(A[j7][n]-SUM)/A[j7][j7];
SUM = 0;
j9 = j7-1; for(j8=j7-1;j8
SUM = SUM+x[++j9]*A[j7-1][j9];
}
} printf("所求解分别为(保留五位小数):"); //输出解
for(j10 = 0;j10
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯