高斯定理求线性代数方程java
时间: 2023-11-04 07:17:17 浏览: 46
高斯定理是一种求解线性代数方程组的方法,可以用Java语言实现。以下是一个示例代码,可以输入一个n阶方程,然后求解其解向量。
```java
import java.util.Scanner;
public class Gauss {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//输入矩阵的阶数
System.out.print("请输入矩阵的阶数n:");
int n = input.nextInt();
//输入增广矩阵
double[][] a = new double[n][n + 1];
System.out.println("请输入增广矩阵:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n + 1; j++) {
a[i][j] = input.nextDouble();
}
}
//高斯消元
for (int k = 0; k < n - 1; k++) {
for (int i = k + 1; i < n; i++) {
double factor = a[i][k] / a[k][k];
for (int j = k; j < n + 1; j++) {
a[i][j] = a[i][j] - factor * a[k][j];
}
}
}
//回带求解
double[] x = new double[n];
x[n - 1] = a[n - 1][n] / a[n - 1][n - 1];
for (int i = n - 2; i >= 0; i--) {
double sum = 0;
for (int j = i + 1; j < n; j++) {
sum += a[i][j] * x[j];
}
x[i] = (a[i][n] - sum) / a[i][i];
}
//输出解向量
System.out.println("解向量为:");
for (int i = 0; i < n; i++) {
System.out.printf("%.4f ", x[i]);
}
}
}
```
以上代码首先输入矩阵的阶数n,然后输入增广矩阵a。接着进行高斯消元,最后回带求解得到解向量x。最终输出解向量。