【发布时间】:2018-05-13 23:34:33
【问题描述】:
我有一个矩阵,我想将它与其他两个矩阵进行比较,以查看矩阵中的每个条目是包含在其他两个矩阵的值内还是在值之外。例如,如果我的矩阵是:
> M
[,1] [,2] [,3]
[1,] -0.1278982 0.4600544 1.3271033
[2,] -0.1079272 1.2196851 -0.5240536
[3,] 0.9548449 -0.9979668 -0.6636296
另外两个矩阵是 L 和 U:
> L
[,1] [,2] [,3]
[1,] -0.49416022 1.0992247 -1.2834469
[2,] 0.35491793 0.2460946 1.1411529
[3,] 0.01755317 0.2469062 0.2843848
和
> U
[,1] [,2] [,3]
[1,] -0.84996737 1.0036554 -0.04747612
[2,] 0.35396050 -0.4612527 -1.47341334
[3,] -0.07716839 -1.5921625 1.62187501
我想取M的每一个条目,比较一下是否包含在L和U对应条目的范围内。
例如,对于 M[1,1],它超出了 -0.49416022 和 -0.84996737 的范围,因此我将为此比较分配值 0。另一方面,对于 M[2,3] ,值为 -0.5240536,因此介于 1.1411529 和 -1.47341334 之间,因此此比较的值为 0。
最终,我想获得一个全0和1的矩阵,指示M中的条目是否包含在L和U的对应值中。例如,如果我们将此矩阵称为M_comparisons,那么:
> M_comparisons
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 1
[3,] 0 1 0
有没有人知道如何在非常快的计算时间内为大型矩阵做到这一点?谢谢!
【问题讨论】: