matlab线性方程生成一组数,线性方程组 - MATLAB & Simulink - MathWorks 中国

奇异系数矩阵

如果方阵 A 不包含线性无关的列,则该矩阵为奇异矩阵。如果 A 为奇异矩阵,则 Ax = b 的解将不存在或不唯一。如果 A 接近奇异或检测到完全奇异性,则反斜杠运算符 A\b 会发出警告。

如果 A 为奇异矩阵并且 Ax = b 具有解,可以通过键入以下内容求不是唯一的特定解

P = pinv(A)*b

pinv(A) 是 A 的伪逆。如果 Ax = b 没有精确解,则 pinv(A) 将返回最小二乘解。

例如:

A = [ 1 3 7

-1 4 4

1 10 18 ]

为奇异矩阵,可以通过键入以下内容进行验证:

rank(A)

ans =

2

由于 A 不是满秩,它有一些等于零的奇异值。

精确解。对于 b =[5;2;12],方程 Ax = b 具有精确解,给定

pinv(A)*b

ans =

0.3850

-0.1103

0.7066

通过键入以下内容验证 pinv(A)*b 是否为精确解

A*pinv(A)*b

ans =

5.0000

2.0000

12.0000

最小二乘解。但是,如果 b =

[3;6;0],则 Ax = b 没有精确解。在这种情况下,pinv(A)*b 会返回最小二乘解。键入

A*pinv(A)*b

ans =

-1.0000

4.0000

2.0000

则不会返回原始向量 b。

通过得到增广矩阵 [A

b] 的简化行阶梯形式,可以确定 Ax = b 是否具有精确解。为此,对于此示例请输入

rref([A b])

ans =

1.0000 0 2.2857 0

0 1.0000 1.5714 0

0 0 0 1.0000

由于最下面一行全部为零(最后一项除外),因此该方程无解。在这种情况下,pinv(A) 会返回最小二乘解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值