首页 > 编程笔记 > MATLAB笔记 阅读:3

MATLAB null()函数的用法(附带实例)

对于非满秩的矩阵 A,存在某矩阵 Z,满足 AZ=0,同时矩阵 Z 是一个正交矩阵,也就是说 Z-1=ZT,则矩阵 Z 被称为矩阵 A 的化零矩阵。

在 MATLAB 中,利用 null() 函数可以求解化零矩阵,其调用格式如下:
Z = null(A)     % 返回 A 的零空间的标准正交基(化零矩阵),不存在则返回空矩阵
Z = null(A,tol) % 指定容差 tol。小于或等于 tol 的 A 的奇异值被视为零,会影响 Z 中的列数
Z = null(A,'rational') % 返回 A 的零空间有理基(有理数形式的化零矩阵),通常为非正交基
                       % 如果 A 是具有小整数元素的小矩阵,则 Z 的元素是小整数的比率,不如 null(A) 准确

【实例】求解非满秩矩阵 A 的化零矩阵。在命令行窗口中输入以下语句,并查看输出结果。
>> A = [3 2 1; 4 5 6; 7 8 9];
>> B = null(A)
B =
    0.4082
   -0.8165
    0.4082
>> C = A*B
C =
   1.0e-14 *
    0.0666
    0.0444
    0.1332

求解有理数形式的化零矩阵。在命令行窗口中输入以下语句,并查看输出结果:
>> BC = null(A,'r')
BC =
     1
    -2
     1
>> CB = A*BC
CB =
     0
     0
     0

相关文章