• 大小: 4KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Java
  • 标签: java  逆矩阵  

资源简介

Java求逆矩阵(高斯约旦法),很经典哦!!!Java求逆矩阵(高斯约旦法),很经典哦!!!Java求逆矩阵(高斯约旦法),很经典哦!!!

资源截图

代码片段和文件信息

package com.yjb;

import java.io.*;
import java.util.StringTokenizer;

public class Test {
private int N;
private double[][] src;
private double[][] result;

public Test() {

}

public static void main(String[] args) throws Exception {
new Test().exec();
}

private void exec() throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
System.out.print(“Input   N: “);
System.out.flush();
String line = reader.readLine();
N = Integer.parseInt(line);

src = new double[N][];
result = new double[N][];

for (int i = 0; i < N; i++) {
line = reader.readLine();
//System.out.println(line);
src[i] = new double[N];
result[i] = new double[N];
result[i][i] = 1;

StringTokenizer st = new StringTokenizer(line ““);
int index = 0;
while (st.hasMoreTokens()) {
src[i][index] = Double.parseDouble(st.nextToken());
//System.out.println(src[i][index]);
index++;
}
}
reader.close();
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
System.out.print(src[i][j] + “ “);
}
System.out.print(“\t “);
for (int j = 0; j < N; j++) {
System.out.print(result[i][j] + “ “);
}
System.out.println();
}

calCol(0);
calColBack(N - 1);
reInit();


for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
System.out.print(src[i][j] + “ “);
}
System.out.print(“\t “);
for (int j = 0; j < N; j++) {
System.out.print(result[i][j] + “ “);
}
System.out.println();
}
}

private void reInit() {
for (int i = 0; i < N; i++) {
double coefficient = 1 / src[i][i];
src[i][i] = 1;
for (int j = 0; j < N; j++)
result[i][j] *= coefficient;
}
}

p

评论

共有 条评论