📄 gaussian.java
字号:
import java.math.*;
public class Gaussian {
public double[] Gaussian(double[][] a, double[] b, int n) {
// double[] x=new double[n];
double d = 0, t = 0, sum = 0;
int k = 0, l = 0, i = 0, j = 0;
while (k < n) {
// *****选主元素*****
d = a[k][k];
l = k;
for (i = k + 1; i < n; i++) {
if (Math.abs(a[i][k]) > Math.abs(d)) {
d = a[i][k];
l = i;
}
}
if (l != k) {
for (j = k; j < n; j++) {
t = a[l][j];
a[l][j] = a[k][j];
a[k][j] = t;
}
t = b[k];
b[k] = b[l];
b[l] = t;
}
// **************
// *****消元*****
for (j = k + 1; j < n; j++) {
a[k][j] = a[k][j] / a[k][k];
}
b[k] = b[k] / a[k][k];
for (i = k + 1; i < n; i++) {
for (j = k + 1; j < n; j++) {
a[i][j] = a[i][j] - a[i][k] * a[k][j];
}
j = 0;
b[i] = b[i] - a[i][k] * b[k];
}
k++;
// **************
}
// *****回代*****
for (i = n - 2; i >= 0; i--) {
sum = 0;
for (j = i + 1; j < n; j++) {
sum = sum + a[i][j] * b[j];
}
b[i] = b[i] - sum;
}
// **************
return b;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -