matlab 判断矩阵是正定半正定还是负定
Posted 白水baishui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 判断矩阵是正定半正定还是负定相关的知识,希望对你有一定的参考价值。
用Matlab 判断矩阵是正定、半正定还是负定
% 判断矩阵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
有时候,会在求出海森矩阵之后去判定海森矩阵是否是正定或者半正定:
syms x1 x2;
f = x1.^2+x2.^2-x1*x2;
h = hessian(f, [x1, x2]); % 求函数f的海森矩阵
以上是关于matlab 判断矩阵是正定半正定还是负定的主要内容,如果未能解决你的问题,请参考以下文章