javascript - 使用 Jama 计算特征值/特征向量?

标签 javascript java jakarta-ee jama

我正在开发一个小型 Java 应用程序,用于对矩阵执行计算。这就是我现在计算方阵的行列式和逆矩阵的方法。但我想使用 Jama 类来计算特征值和特征向量,但我不知道如何使用它,有人可以帮我吗?谢谢。

import java.util.Scanner;
import Jama.*;

public class matrix {
   public static void main(String[] args) {
      double[][] matrix;
      double det;
      int n;

      Scanner scanner = new Scanner(System.in);

      System.out.println("Dimension of the matrix: ");
      n = scanner.nextInt();

      matrix = new int[n][n];

      // insert values
      for (int i = 0; i < n; i++) {
         for (int j = 0; j < n; j++) {

            System.out.printf("Values: " + i + " - " + j);
            System.out.printf("\n");
            matrix[i][j] = scanner.nextDouble();

         }
      }

      // calculate determinant
      det = dete(matrix, n);
   }

   private static dete(double ai[][], int i) {
      double l = 0;
      if (i == 1)
         l = ai[0][0];
      else if (i == 2) {
         l = ai[0][0] * ai[1][1] - ai[0][1] * ai[1][0];
      } else {
         double ai1[][] = new double[i - 1][i - 1];
         for (int k = 0; k < i; k++) {
            for (int i1 = 1; i1 < i; i1++) {
               int j = 0;
               for (int j1 = 0; j1 < i; j1++)
                  if (j1 != k) {
                     ai1[i1 - 1][j] = ai[i1][j1];
                     j++;
                  }

            }

            if (k % 2 == 0)
               l += ai[0][k] * dete(ai1, i - 1);
            else
               l -= ai[0][k] * dete(ai1, i - 1);
         }

      }
      return l;
   }
}

最佳答案

你只需要这样做 -

Matrix mat = oldMatrix.eig();

不要忘记包含 Jama.Matrix.EigenvalueDecomposition。

您可以看看here

关于javascript - 使用 Jama 计算特征值/特征向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675769/

相关文章:

javascript - 构造函数 props 状态 vs 简单状态

javascript - 加载多个 jQuery 版本

java - Ktab 命令列出 keytab 文件中的主体超过 1 次

java - 迭代继承的类对象的列表

java - 有没有类似 Java 的 VirtualEnv 之类的东西?

session - 如何在用户单击返回时显示自定义 session 过期页面?

javascript - 如何将javascript函数添加到html标签?

java - 如何在 Tomcat 中运行 Java EE 项目?

java - 更改 Java 时间戳格式会导致时间戳发生更改

javascript - 计算相似和不同的 php