问题标签 [linear-equation]

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 投票
2 回答
1827 浏览

algorithm - 为什么使用置换矩阵来交换数组的行?

使用置换矩阵交换行有什么好处?为什么要创建一个置换矩阵然后应用矩阵乘法,它是否比仅使用 for 循环交换行更容易和更有效?

0 投票
1 回答
914 浏览

python - Python左乘矩阵与稀疏矩阵的逆

我正在尝试计算 K = P*CT*S^-1 形式的表达式(卡尔曼滤波器的实现)

所有涉及的矩阵都是稀疏的,我当然想避免计算实际的逆矩阵。

我尝试使用

问题是 spsolve 期望它的第二个参数是向量而不是矩阵。

编辑:澄清,问题可以在Matlab中通过K = P *(C / S)来解决,所以我正在寻找一种类似于spsolve但可以接受矩阵作为其第二个参数的方法。这当然可以通过将 C 拆分为多个列向量 c1..cn 并为每个列向量解决问题然后将它们重新组合成一个矩阵来完成,但我怀疑这样做既麻烦又低效。

edit2&3:矩阵的尺寸通常在 P~10⁶x10^6、S~100x100、C=100x10⁶ 左右。P对角线和S对称,C每行只有一个元素。它将用于使用稀疏矩阵实现卡尔曼滤波器,请参阅

http://en.wikipedia.org/wiki/Kalman_filter#The_Kalman_filter

0 投票
3 回答
3576 浏览

math - 两个未知数 3 方程

我有 3 个 eqns 和 2 个未知数 Hb 和 Hbo2,它们看起来像这样:

Bxy = AB * HB + AB * Hbo2

Rxy = AR * HB + AR * Hbo2

Gxy = AG * HB + AG * Hbo2

现在我一直在尝试使用矩阵方法来解决他们方程的未知数,这是一个痛苦的原因,当我将它转换为矩阵形式时,我得到一个不规则矩阵,因为它是 2 个未知数和 3 个方程。

这里有没有人知道如何用 n-1 个未知数求解 n 个方程。

编辑

感谢到目前为止的回复,他们一直很棒。

为了更清楚地说明这一点,我要做的是计算图像中给定像素处含氧和脱氧血液的浓度。所以上面的变量对应如下。

Rxy Gxy 和 Bxy,红色绿色或蓝色在 x,y 位置吸收。(0 - 255 之间的值)

AR、AG、AB 是血液对红色和蓝色波长的光的吸收系数。(但是有可能我可能必须为含氧和脱氧血液定义不同的吸收系数(因为它们吸收不同量的光))。

Hb 和 Hbo2 是含氧和脱氧血液的浓度。(这些是未知的,因为我正在尝试将 RGB 值映射到此)

但是我也注意到含氧和脱氧血液的系数不同,因此这意味着方程式可能如下。

Bxy = (ABhb * HB) + (ABhbo2 * Hbo2)

Rxy = (ARhb * HB) + (ARhbo2 * Hbo2)

Gxy = (AGhb * HB) + (AGhbo2 * Hbo2)

上述唯一的区别是含氧和脱氧血液的系数不同。

这是我在 uni for Computer Science 的最后一年项目的一部分,试图做一些功能成像。

如果系数不同,@Chris 也同样适用,抱歉理解不足,数学不是我的强项。只是试图编程这个算法。

0 投票
4 回答
36013 浏览

math - 求解非方阵中的线性方程组

我有一个线性方程组,它构成了一个NxM我需要求解的矩阵(即非正方形) - 或者至少尝试求解以表明该系统没有解。(很可能没有解决方案)

据我了解,如果我的矩阵不是正方形(过定或欠定),则找不到确切的解决方案-我的想法正确吗?有没有办法将我的矩阵转换为方阵以计算确定的,应用高斯消除,克莱默规则等?

值得一提的是,我的未知数的系数可能为零,因此在某些极少数情况下,可能会有零列或零行。

0 投票
3 回答
1953 浏览

c++ - 用三对角矩阵求解线性方程组的库?

我正在用热传导建模物理系统,并且要进行数值计算,我需要用三对角矩阵求解线性方程组。我正在使用这个算法来获得结果:http ://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm但我担心我的方法很简单而且不是最优的。应该使用哪个 C++ 库以最快的方式解决该系统?我还应该提到矩阵不经常更改(仅更改等式的右侧部分)。谢谢!

0 投票
0 回答
3518 浏览

binary-tree - 照片拼贴算法

我正在尝试构建一个脚本,该脚本将像拼贴一样动态排列照片,这与在http://lightbox.com/explore#spotlight上所做的非常相似。

我当然可以编写代码来处理具有不同照片集的每种情况,但我更希望有一个能够处理任意数量照片的算法。第 4 章中此处解释的算法http://www.hpl.hp.com/techreports/2008/HPL-2008-199.pdf似乎与我需要做的非常相似。在我的情况下,垂直和水平比例总是相同的。我将定义一个边界框以及每个节点可以拆分多少级别。边界框与水平照片的比例相同。如果算法不能适合所有图像,我会返回一个级别并将其留在那里或从可用照片池中选择另一张照片。

我的问题与屏幕上的算法排列图像非常相似,但我不确定如何前进。任何进一步的指导或伪代码都会非常有帮助。

0 投票
2 回答
1150 浏览

matlab - 求解元胞数组中的方程

我在这样的单元格数组中有一些线性方程(方程的数量每次都不同):

如何用 Matlab 求解这些方程?我可以通过这个函数得到我的答案:

但是,由于方程的数量每次都不同,我希望这可以自动完成。

0 投票
1 回答
4477 浏览

parallel-processing - 带 ksp 导轨的 PETSc 求解线性系统

我开始使用 PETSc 库来并行求解线性方程组。我已经安装了所有软件包,构建并成功运行了 petsc/src/ksp/ksp/examples/tutorials/ 文件夹中的示例,例如 ex.c

但是我不明白如何通过从文件中读取它们来填充矩阵 A、X 和 B。

这里我提供 ex2.c 文件中的代码:

有人知道如何在示例中填充自己的矩阵吗?

0 投票
4 回答
3439 浏览

php - 求解一级线性方程组的 PHP 算法

我有一个用 PHP 解决的 1 级方程组。方程比变量多,但方程不比变量少。

该系统如下所示。n 个方程,m 个变量,变量是 x[i],其中 'i' 取值从 1 到 m。系统可能有解决方案,也可能没有。m 最大为 100,n 最大为 ~5000(千)。

我将不得不解决数千个这样的方程组。速度可能是个问题,但我现在正在寻找一种用 PHP 编写的算法。

有克拉默规则可以做到这一点。我可以制作 1 个系数方阵,使用 Cramer 规则求解系统(通过计算矩阵的行列式),然后我应该检查未使用方程中的值。我相信我可以自己尝试 Cramer,但我正在寻找更好的解决方案。

这是计算科学的问题, http ://en.wikipedia.org/wiki/Computational_science#Numerical_simulations 我知道有一些复杂的算法可以解决我的问题,但我不知道哪个会做,哪个最好对于我的情况。一个算法会比仅仅通过演示的理论更好地使用我。

我的问题是,有人知道用 PHP 编写的类、脚本、代码来解决 1 级线性方程组吗?或者,我可以尝试 API 或 Web 服务,最好是免费的,付费的也可以。

谢谢

0 投票
3 回答
10206 浏览

java - 线性方程java

我正在尝试将下面的等式转换为编程代码。目的是找到两条线的交点。并提示

(y1 - y2)x - (x1 - x2)y = (y1 - y2)x1 - (x1 - x2)y1

(y3 - y4)x - (x3 - x4)y = (y3 - y4)x3 - (x3 - x4)y3

我被告知要使用 cramers 规则,但 cramers 规则有 6 个差异变量。我将从 4 个不同的点作为 8 个变量(x1、y1、x2、y2、x3、y3、x4、y4)开始

我正在使用 Java。任何帮助,将不胜感激。这个网站上的所有问题都是针对不同类型的线性方程,代码很复杂,我没有找到任何与我相关的东西。

这就是我所拥有的,不多,但从上面的方程到可编程的东西的转变真的让我很难过。