
这两天刚开始学习java,涉及的知识面比较浅,还没有到对象和类,但相信和我一样的小伙伴们应该挺多吧,一起加油努力吧!
如下图:
先解释下什么是列主元素高斯消去法:(主要还是得会手工计算)
1.写出方程组的增广矩阵
2.把当前要消元的第一列的绝对值最大的元素所在的行与要消元的第一行互换
3.按照高斯消去法进行消元(可自行百度下高斯消元法)
上java代码:
public class Lwvuyrgcsixnqufa {
public static void main(String[] args){
double[][] array=creatArray();
fun(array);
}
public static double[][] creatArray(){ //生成增广矩阵的二维数组
double[][] arrays={
{1.1348,3.8326,1.1665,3.4017,9.5342},
{0.5301,1.7875,2.5330,1.5435,6.3941},
{3.4129,4.9317,8.7643,1.3142,18.4231},
{1.2371,4.9998,10.6721,0.0147,16.8237}
}; //可自行随意更换该增广矩阵矩阵
return arrays;
}
public static void fun(double[][] a){
int row=a.length,col=a[0].length;
int p=0,k=0;
while(sjjn(a)){ //循环终止的条件是方程的非增广矩阵形成了上三角矩阵
double max=Math.abs(a[p][p]);
for(int i=p+1;imax){
max=a[i][p];
k=i;
}
}
if(k!=0){ //将主元行与参与运算的第一行互换
for(int i=p;i
运行截图:
有什么疑问可以在评论区问我~~~