isdiag.m

来自「MATLAB科学计算与工程分析源代码源程序4」· M 代码 · 共 18 行

M
18
字号
function y=isdiag(A)
% 该函数用来判断矩阵A是否可以对角化
% 若返回值为1则说明A可以对角化,若返回值为0则说明A不可以对角化
% 编写日期:2007-5-12

[m,n]=size(A);             % 求矩阵A的阶数
if m~=n                   % 若A不是方阵则肯定不能对角化
    y=0;
    return;
else
    [V,D]=eig(A);
    if rank(V)==n          % 判断A的特征向量是否线性无关
        y=1;
        return;
    else
        y=0;
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?