问题标签 [jama]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

java - 使用 Jama 将矩阵表示为数组

我正在使用 Jama 来计算特征向量和特征值,并且效果很好。

问题是有时将矩阵中的列提取到数组中会导致错误的值。

有人碰到过吗?我该如何处理?

我附上了我使用的代码:

结果是:

我真的很感激任何关于它为什么会发生的建议或见解。谢谢!

0 投票
1 回答
438 浏览

java - Jama 如何洗牌?

我在 Java 中使用 Jama 进行矩阵操作。但是我看不到足够的文档。

如何在 Jama 洗牌矩阵?

还有类似的东西:

只获得最后一列,就像在 Matlab 中一样?

0 投票
3 回答
1213 浏览

java - 如何使用 jama 声明矩阵

我是 Java 编程的新手。我正在做一个科学模拟,其中必须解决一个线性方程组。

我在 Eclipse 中工作。我下载了 jama jar 文件并添加到 JRE 系统库。问题是当我通过将二维双精度数组作为构造函数参数传递来创建一个新的 Matrix 对象时,IDE 提到“构造函数 Matrix(double [ ][]) 未定义”。

我用谷歌搜索了很多,但一无所获:(

有人碰到过吗?我该如何处理?

0 投票
1 回答
653 浏览

java - Java - 使用 JAMA 创建具有随机值的 3by3 矩阵

这就是我到目前为止所得到的......

问题是当我打印出来时,所有的值都是一样的。我需要的是每个索引中的不同值。我知道这可以简单地通过创建一个数组,为其分配随机值,然后将其复制到矩阵中来完成。但我需要直接从矩阵 mR 中执行此操作。

0 投票
1 回答
98 浏览

java - 列表> 为 JAMA 或其他库加倍 [][]

我无法让我的 List> 加倍 [][] 来处理像JAMA这样的线性代数包。基本上我有某种列表,坐标如下:

我正在尝试将这些坐标放入双 [] [] 的JAMA类中。我尝试使用方法 toArray,但我失败了。

怎么做?或者是否有其他软件包可以使用列表列表来处理我需要的 SVD?

0 投票
1 回答
731 浏览

java - 如何使用 Jama 替换 Matrix 中的单行?

我尝试使用Jama替换单行。

我试过这样使用setMatrix-

但它抛出java.lang.ArrayIndexOutOfBoundsException,如何正确地做到这一点?

0 投票
0 回答
795 浏览

android - Android:与 Matrix 一起使用的库

我需要在 Android 中使用矩阵,我不确定哪个库会更好。我看过一些使用 JAMA 的例子,但我在这里读到了另一个问题:

Java矩阵数学库的性能?

而且我可以看到 JAMA 是一种非常过时且缓慢的方式,1 位用户推荐使用 JBLAS,因为它适用于多核机器。

问题是我正在为手机做这个应用程序,我不确定 JBLAS 与 JAMA 的性能差异是否会像电脑一样大。所以我想知道:¿你会推荐我在 Android 应用程序中使用什么矩阵库?

0 投票
1 回答
2412 浏览

vector - 使用 PCA 查找 3d 点云的边界框

我正在尝试使用 PCA 找到 3d 点云的边界框。我正在使用 JAMA“Java Matrix Package”来执行 SVD。

  1. 我从我的点云中抽取 1000 个样本并执行 SVD:

  2. 我正在从结果中提取 3 个 PCA 向量并添加它们的负数:

    双[] vector1 = {svd.getU().get(0, 0), svd.getU().get(1, 0), svd.getU().get(2, 0)}; 双[] vector1N = Vec.Mult(vector1, -1); double[] vector2 = {svd.getU().get(0, 1), svd.getU().get(1, 1), svd.getU().get(2, 1)}; double[] vector2N = Vec.Mult(vector2, -1); double[] vector3 = {svd.getU().get(0, 2), svd.getU().get(1, 2), svd.getU().get(2, 2)}; 双[] vector3N = Vec.Mult(vector3, -1);

  3. 我正在根据数据维度放大每个向量(遍历 1000 个点中的每一个并检查最大的投影是什么):

    vector1 = Vec.projectData(vector1, nThPoints);

    /li>

现在,我有 6 个新向量,我需要以某种方式计算 8 个角(同时记住样本中心),我只是不知道该怎么做。

我怎样才能做到这一点?

0 投票
1 回答
532 浏览

vector - 计算两组向量之间的旋转

我有 2 组带有 N 个条目的 3D 矢量。我正在尝试计算最能将第一组与第二组对齐的旋转矩阵。

我相信我可以使用 Java 库 JAMA 通过奇异值分解或特征值分解来完成此任务。

1) SVD 或 EVD 是正确的算法吗?

2) JAMA 中的 SVD/EVD 需要一个矩阵。如何根据我的两组向量填充矩阵?

0 投票
1 回答
153 浏览

java - 包含相同值的哈希图

嗨,我使用包含整数作为键和矩阵列表作为值的 hashMap,这是代码

问题是返回的 hashMaps 的最终版本包含 10 倍相同的最后一个矩阵,事情是它在循环中运行良好,因为我每次看到不同的值,但是一旦我在返回之前打印值,所有这些值现在是相同的最后一个矩阵。

编辑: Matrix 类来自 Jama 包。