Matlab判断矩阵的正定性,实际是判断特征值是否全为正1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16% 判断矩阵m是正定、半正定还是负定
m = [2 -1; -1 2]; 
if issymmetric(m) % 检查矩阵是否对称
    % disp('矩阵对称');
    d = eig(m); % 计算矩阵特征值
    if all(d > 0)
        disp('矩阵正定');
    elseif all(d >= 0)
        disp('矩阵半正定');
    else
        disp('矩阵负定');
    end
else
    disp('矩阵不对称');
end
