gpt4 book ai didi

c++ - 在 opencv 中反转的结果不正确

转载 作者:太空宇宙 更新时间:2023-11-03 22:13:52 25 4
gpt4 key购买 nike

我正在使用 C++ 中的 opencv 库进行矩阵求逆。我使用带有 DECOMP_SVD 标志的函数反转。对于非奇异矩阵,采用SVD方法计算。

但是,当我将它与 Matlab 中的输出进行相同的求逆比较时,它给出了奇异矩阵(行列式 = 0)的错误答案。

答案相差 1e+4!

我在matlab中用过的方法是pinv()和svd()。pinv() 使用 moore-Penrose 方法。需要帮忙提前致谢!

示例:

original =

0.2667 0.0667 -1.3333 2.2222
0.0667 0.0667 -0.0000 0.8889
-1.3333 -0.0000 8.8889 -8.8889
2.2222 0.8889 -8.8889 20.7408


Inverse from matlab =

1.0e+04 *

9.8888 -0.0000 0.7417 -0.7417
-0.0000 9.8888 -0.7417 -0.7417
0.7417 -0.7417 0.1113 0.0000
-0.7417 -0.7417 0.0000 0.1113

最佳答案

你的矩阵是病态的(弱主对角线)。尝试增加主对角线元素,我认为错误应该会减少。

关于c++ - 在 opencv 中反转的结果不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22967583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com