MATLAB null()函数的用法(附带实例)
对于非满秩的矩阵 A,存在某矩阵 Z,满足 AZ=0,同时矩阵 Z 是一个正交矩阵,也就是说 Z-1=ZT,则矩阵 Z 被称为矩阵 A 的化零矩阵。
在 MATLAB 中,利用 null() 函数可以求解化零矩阵,其调用格式如下:
【实例】求解非满秩矩阵 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
ICP备案:
公安联网备案: