sun1410 发表于 2007-5-21 17:30

求教:在Matlab里面,如何判断一个矩阵是否正定?

求教:在Matlab里面,如何判断一个矩阵是否正定?直接求他的特征值么?还有其他的方法么?
谢谢!

TNC 发表于 2007-5-22 10:17

正定矩阵的充分必要条件

准则1:n阶实对称矩阵A正定 <=> A的特征值全为正数
准则2:n阶实对称矩阵A正定 <=> A与单位阵合同
准则3:n阶实对称矩阵A正定 <=> A的顺序主子式大于零

咕噜噜 发表于 2007-5-22 11:50

回复 #1 sun1410 的帖子

matlab里面就是看特征值是不是都大于零

flybaly 发表于 2007-5-22 15:33

还有一种方法:
用函数chol( )来实现这种Chollesky分解,当矩阵A为非正定阵时,MATBLA会提示错误信息.

gghhjj 发表于 2007-5-23 07:32

还是用特征值最方便,eig+all就搞定

咕噜噜 发表于 2007-5-23 17:35

回复 #5 gghhjj 的帖子

对头,最简单的通常是最准确的

wdh8686 发表于 2011-4-8 03:11

知道了,谢谢。

meiyongyuandeze 发表于 2011-4-8 08:16

函数=chol(A),若A是正定的,则返回值p=0.
页: [1]
查看完整版本: 求教:在Matlab里面,如何判断一个矩阵是否正定?