矩阵是对角占优 http://en.wikipedia.org/wiki/Diagonally_dominant_matrix(按行)如果对角线处的值在绝对意义上大于该行中所有其他绝对值的总和。对于列也是如此,只是相反。
matlab中有没有函数可以检查这个?(我可以写一个简单的循环,但我试图退出它们).
为什么要循环?
您可以轻松地计算给定行中的绝对值之和。
sum(abs(A),2)
你能将其与每行中的绝对对角线元素进行比较吗?
abs(diag(A)) >= sum(abs(A),2)
当然,这是不正确的,因为对角线项不应包含在第一个和中。无论如何,我们可以轻松修复问题。
(2*abs(diag(A))) >= sum(abs(A),2)
最后,我们需要这个测试的结果。上面测试了每一行。如果该测试对于所有行都成立,则矩阵是对角占优的。
all((2*abs(diag(A))) >= sum(abs(A),2))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)