c语言矩阵求伪逆算法pinv,pinv--求矩阵的伪逆矩阵

本文介绍了MATLAB中pinv函数用于求解矩阵的伪逆,即使矩阵奇异也能得到结果。对于非奇异矩阵,pinv与inv等效,但在效率上pinv较低。当矩阵不是方阵时,inv会报错,而pinv仍能计算伪逆。通过示例展示了奇异矩阵和非方阵的伪逆计算过程,说明了伪逆矩阵在处理不可逆或非方阵情况下的应用价值。
摘要由CSDN通过智能技术生成

pinv--求矩阵的伪逆矩阵

【功能简介】用于求矩阵的伪逆矩阵。

【语法格式】

1.B=pinv(A)

函数返回矩阵A的伪逆矩阵。如果矩阵A是可逆(非奇异)的,那么pinv(A)与inv(A)的结果是一样的,而且pinv比inv效率低。但如果矩阵A是奇异矩阵,则inv(A)不存在,但pinv(A)仍然存在,并表现出一些与逆矩阵类似的性质。在pinv函数中,A不一定是方阵。

2.B=pinv(A,tol)

采用tol代替默认的精确度。

【实例3.28】求方阵和普通矩阵的伪逆矩阵。

>> a=[1,2,3;4,5,6;7,8,9];

>> rank(a,1e-6) %求矩阵a的秩

ans =

2

>> pinv(a) %矩阵a的伪逆矩阵

ans =

-0.6389 -0.1667 0.3056

-0.0556 0.0000 0.0556

0.5278 0.1667 -0.1944

>> b=[1,2,3;4,5,6];

>> inv(b) %矩阵b不是方阵,因此没有逆矩阵

??? Error using ==> inv

Matrix must be square.

>> pinv(b) %矩阵b有伪逆矩阵

ans =

-0.9444 0.4444

-0.1111 0.1111

0.7222 -0.2222

【实例分析】矩阵a的秩小于矩阵行数,是奇异矩阵,其逆矩阵不存在,但伪逆矩阵存在。矩阵b不是方阵,没有逆矩阵,但可以有伪逆矩阵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值