Tag: 矩阵

绘制一个在libgdx中旋转的BitmapFont

我似乎无法弄清楚如何正确旋转位图字体。 我想你修改了SpriteBatch的转换矩阵。 但是,尝试旋转可以围绕某个点旋转文本,我不知道如何相对于文本本身旋转文本。

使用大而密集的2D矩阵快速计算2D子矩阵?

在较大的密集矩阵中计算子矩阵的好算法是什么? 如果我有一行数据,我可以使用后缀树,但我不确定是否将后缀树推广到更高维度是完全简单或最好的方法。 思考? 我的天真解决方案是索引密集矩阵的第一个元素并消除全矩阵搜索,只提供了对全矩阵扫描的适度改进。 解决这个问题的最佳方法是什么? Example: Input: Full matrix: 123 212 421 Search matrix: 12 21 Output: 2 该子矩阵在全矩阵中出现两次 ,因此输出为2.完整矩阵可以是1000×1000,但是,搜索矩阵大到100×100(可变大小),我需要处理多个搜索矩阵。一排。 因此,这个问题的蛮力非常低效,无法满足几个矩阵的亚秒搜索时间。

有效确定矩阵中 元素的算法

这是一个关于课程作业的问题,所以宁愿你没有完全回答这个问题,而是提出改进我当前算法的运行时复杂性的技巧。 我收到了以下信息: 函数g(n)由g(n)= f(n,n)给出,其中f可以递归地定义 我用以下代码递归地实现了这个算法: public static double f(int i, int j) { if (i == 0 && j == 0) { return 0; } if (i ==0 || j == 0) { return 1; } return ((f(i-1, j)) + (f(i-1, j-1)) + (f(i, j-1)))/3; } 这个算法给出了我正在寻找的结果,但效率极低,我现在的任务是改善运行时的复杂性。 我写了一个算法来创建一个n * n矩阵,然后计算每个元素直到[n] [n]元素,然后它返回[n] [n]元素,例如f(1,1)返回0.6重复出现。 [n] [n]元素重复为0.6,因为它是(1 + […]

处理Java中的大型数据结构

我正在开发一个需要处理非常大的矩阵的Java应用程序。 例如,乘以两个1000万* 1000万个矩阵! 当然,即使存储这些矩阵中的一个,Java堆也没有足够的空间。 我该怎么办? 我应该使用数据库来存储我的矩阵并将每个所需的部分带入内存并将它们一个接一个地加倍吗?

线程“main”中的exceptionjava.lang.RuntimeException:Matrix是单数

我只想在JAMA文档之后创建一个3×3矩阵的逆矩阵。 但每次它给我以下错误 – Exception in thread “main” java.lang.RuntimeException: Matrix is singular 在这方面有人可以帮助我吗?

是否有更好的线性回归的Java库? (例如,迭代重加权最小二乘法)

我正在努力寻找一种更好的线性回归方法。 我一直在使用Moore-Penrose伪逆和QR分解与JAMA库 ,但结果并不令人满意。 ojAlgo会有用吗? 我一直在达到我知道不应该存在的准确度限制。 该算法应该能够将输入变量的影响降低到零。 也许这采取迭代重加权最小二乘的forms,但我不知道该算法,也无法找到它的库。 输出应该是权重矩阵或向量,使得输入矩阵与权重矩阵的矩阵乘法将产生预测矩阵。 我的输入矩阵几乎总是有多行而不是列。 感谢您的帮助。

Java中的Fork连接矩阵乘法

我正在对Java 7中的fork / join框架进行一些性能研究。为了改进测试结果,我想在测试期间使用不同的递归算法。 其中一个是乘法矩阵。 我从Doug Lea的网站()下载了以下示例: public class MatrixMultiply { static final int DEFAULT_GRANULARITY = 16; /** The quadrant size at which to stop recursing down * and instead directly multiply the matrices. * Must be a power of two. Minimum value is 2. **/ static int granularity = DEFAULT_GRANULARITY; public static void main(String[] […]

Android – 获取矩阵的当前旋转

我需要能够设置矩阵的旋转而不是添加它。 我认为设置旋转的唯一方法是知道矩阵的当前旋转。 注意: matrix.setRotate()不会这样做,因为矩阵需要保留其信息。

使用java函数转置double 矩阵?

任何人都有一个函数,我可以用Java转置Matrix,其forms如下: double[][] 我有这样的function: public static double[][] transposeMatrix(double [][] m){ for (int i = 0; i < m.length; i++) { for (int j = i+1; j < m[0].length; j++) { double temp = m[i][j]; m[i][j] = m[j][i]; m[j][i] = temp; } } return m; } 但它在某处错了。

Java逆矩阵计算

我正在尝试用Java计算逆矩阵。 我正在遵循伴随方法(首先计算伴随矩阵,然后转置这个矩阵,最后,将它乘以行列式值的倒数)。 它在矩阵不太大时起作用。 我已经检查过,对于尺寸为12×12的矩阵,可以快速得到结果。 但是,当矩阵大于12×12时,完成计算所需的时间呈指数增长。 我需要反转的矩阵是19×19,需要花费太多时间。 更多时间消耗的方法是用于计算行列式的方法。 我正在使用的代码是: public static double determinant(double[][] input) { int rows = nRows(input); //number of rows in the matrix int columns = nColumns(input); //number of columns in the matrix double determinant = 0; if ((rows== 1) && (columns == 1)) return input[0][0]; int sign = 1; for (int column = […]