零
矩阵的零空间
描述
例子
矩阵的零空间
使用零
函数用于计算矩阵零空间的标准正交基向量和有理基向量。矩阵的零空间包含向量
满足
.
创建一个3 × 3的1矩阵。这个矩阵是缺秩的,其中两个奇异值等于零。
A = ones(3)
一个=3×31 1 1 1 1 1 1 1 1 1
的零空间的标准正交基一个
.确认
,在舍入误差内。
x1 = null(A)
x1 =3×20.8165 -0.0000 -0.4082 -0.7071 -0.4082 0.7071
规范(* x1)
Ans = 4.2999e-16
现在计算零空间的一组有理基。确认 .
x2 = null(A,“理性”)
x2 =3×2-1 -1 1 0 0 1
规范(A * x2)
Ans = 0
x1
而且x2
是相似的,但规范化的方式不同。而x1的* x1
是一个单位矩阵,x2的* x2
不是。
x1的* x1
ans =2×21.000 -0.0000 -0.0000 1.000
x2的* x2
ans =2×22 1 1 2
正交性对于数值计算的准确性通常是必不可少的。因此,“理性”
选项应该仅在处理小的全整数矩阵时使用,在这种情况下,输出由可扫描的数字组成是有用的。
指定零空间的容差
当矩阵具有较小的奇异值时,指定一个公差,以更改将奇异值视为零。
创建一个7 × 7的希尔伯特矩阵。这个矩阵是满秩的,但有一些小的奇异值。
H = hilb(7)
H =7×71.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.1667 0.1429 0.1111 0.1000 0.0909 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769
s = svd(H)
s =7×11.6609 0.2719 0.0213 0.0010 0.0000 0.0000 0.0000
的零空间H
.因为H
是满秩的,Z
是空的。
Z = null(H)
Z = 7x0空双矩阵
现在,再次计算零空间,但指定公差1的军医
.这种宽容导致零
将其中三个奇异值视为零,因此零空间不再为空。
Ztol = null(H,1e-4)
Ztol =7×30.0160 -0.0025 0.0002 -0.2279 0.0618 -0.0098 0.6288 -0.3487 0.0952 -0.2004 0.6447 -0.3713 -0.4970 -0.1744 0.6825 -0.1849 -0.5436 -0.5910 0.4808 0.3647 0.1944
验证H * Ztol
与规定的公差相比,有可以忽略不计的元素。
规范(H * Ztol)
Ans = 2.9386e-05
欠定方程组的通解
求欠定系统的一个特解,然后得到所有解的一般形式。万博 尤文图斯
欠定线性系统 涉及的未知数比方程多。欠定系统可以有无穷多个解,也可以没有解。万博 尤文图斯当方程组有无穷多个解时,它们都在一条直线上。万博 尤文图斯直线上的点都是由零空间向量的线性组合得到的。
创建一个2 × 4的系数矩阵,并使用反斜杠来求解方程 ,在那里 是一个1的向量。反斜杠计算问题的最小二乘解。
A = [1 8 15 67;7 14 16 3]
一个=2×41 8 15 67 7 14 16 3
B = ones(2,1);x0 = A\b
x0 =4×100 0.0623 0.0010
欠定系统的完备通解具有形式 ,地点:
的零空间是 .
是任意长度的向量。
是由反斜杠计算的解。
的零空间一个
,然后利用所得结果构造方程组的另一个解。检查新解是否满足要求
,在舍入误差内。
N = null(A)
N =4×2-0.2977 -0.8970 -0.6397 0.4397 0.7044 0.0157 -0.0769 -0.0426
x = x0 + N*[1];2]
x =4×11.4963 -1.5192 0.7354 0.0093
规范(*取向)
Ans = 2.8908e-14
输入参数
一个
- - - - - -输入矩阵
矩阵
输入矩阵。
数据类型:单
|双
复数支持:万博1manbetx是的
托尔
- - - - - -奇异值公差
标量
奇异值公差,指定为实数标量。的奇异值一个
小于公差的被视为零,这影响了返回的零空间向量的数量零
.默认公差为max(尺寸(A)) * eps(标准(A))
.
输出参数
Z
-零空间基向量
矩阵
零空间基向量,在矩阵的列中返回。Z
满足属性:
* Z
元素可以忽略不计。大小(Z, 2)
的零值的估计一个
.
如果等级(一个)
(或排名(tol)
)等于大小(2)
,然后Z
是空的。
算法
零(A)
计算矩阵的奇异值分解一个
,以致于A = u * s * v '
.的列V
对应于等于零的奇异值(在公差范围内)形成一组零空间的标准正交基向量。
零空间的理性基零(,“理性”)
的行简化阶梯形一个
,按rref
.
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
生成的代码可能返回与MATLAB不同的基础®.
代码生成不支持理性基础选项(二次输入)。万博1manbetx
代码生成不支持此函数的稀疏矩阵输入。万博1manbetx
线程环境
在后台使用MATLAB®运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。万博1manbetx有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
版本历史
R2006a之前介绍过R2022a:指定公差
使用托尔
参数指定用于形成零空间的奇异值的容差阈值。输入矩阵小于公差的奇异值被视为零。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。