matlab中pinv的用法,帮忙看看这个代码的含义,谢谢 20

老师给了一个程序,看到pinv的时候有点糊涂,“伪”逆矩阵到底什么意思啊,示例如下:A=[1;3;5;8];B=A;j=1/100;B(:,2)=1;B(:,3)=j;B... 老师给了一个程序,看到pinv的时候有点糊涂,“伪”逆矩阵到底什么意思啊,示例如下:
A=[1;3;5;8];
B=A;
j = 1/100;
B(:,2)=1;
B(:,3) = j;
B(:,4) = j*j;
C = pinv(B);
D = -C(1,: );
D=D‘;
请问D和A到底有什么关系啊,是拟合相减的结果,还是什么其他的,构造B的目的是啥,谢谢各位指教,不胜感激!
展开
 我来答
四舍五不入6
高粉答主

2020-05-02 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

pinv(a)是求伪逆矩阵,逆矩阵函数inv只能对方阵求逆,pinv(a)可以对非方阵求逆。

pinv(a)=inv(a'*a)*a'

例如:

b=rand(2,3)

b =

0.1966   0.6160   0.3517

0.2511   0.4733   0.8308

>> c=pinv(b)

c =

0.2577   0.0900

2.3495   -1.0377

-1.4163   1.7676

扩展资料:

MATLAB中的pinv和inv的区别:

1、对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)

2、对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆

若A为非奇异矩阵,请不要使用pinv求逆,虽然计算结果相同,即

inv( A ) = pinv( A )

但pinv的计算复杂度较高

参考资料来源:百度百科-伪逆矩阵

yunmeng57
2011-05-26 · TA获得超过3349个赞
知道小有建树答主
回答量:2182
采纳率:50%
帮助的人:427万
展开全部
虚反矩阵指令pinv之应用

pinv指令

在多数解的例子中,有时并不是仅要将其中一变数设定为零之解。为使整个系统得到最佳化,亦可利用pinv指令求得最小模组之合理解。pinv(A)又称为虚反矩阵(pseudoinverse),其功能与反矩阵之计算相同,但它会基於svd(A)函数(或称奇异值分解函数)之计算方式,求得一个不是属於全阶之矩阵A之反矩阵。这是长方形矩阵求解时,在多重解中求其反矩阵之折衷方式。故若矩阵A为方矩阵或非零矩阵,则其结果应与inv(A)相同。只是在这样的状况,宁可使用inv(A)较为省事。处理这些长方矩阵或特异矩阵时,使用pinv(A)会有意想不到的效果。其解法是根据反矩阵法:

A=[3 2 1; 10 -25 5];C=[5000 2000]';>> T=inv(A)*C??? Error using ==> invMatrix must be square.T=pinv(A)*C T = 1203.9 485.16 418
上面之例因为A不是方形矩阵,故求其反矩阵时会有错误的信息,但若用虚反矩阵指令pinv,反而相安无事,这是将T1、T2以其馀一变数T3表示之情况下,求得其最小平方之组合。其结果是否合用则端视问题之限制与应用而定。 PINV(A,TOL) 之指令後面另有参数TOL,可以输入容许值。其预设值为MAX(SIZE(A)) * NORM(A) * EPS(class(A)),读者可参考手册之说明,以瞭解其使用方法。
明白了吗?
追问
请问 我的示例中D和A之间有什么关系?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一地美钞
推荐于2017-11-26
知道答主
回答量:20
采纳率:100%
帮助的人:4.9万
展开全部
pinv(B)求的是矩阵B的Moore-Penrose逆,是B的一种广义逆,也就是你说的伪逆,该广义逆满足四个条件:
A*B*A = A
B*A*B = B
A*B 是海森矩阵
B*A是海森矩阵。
这个在矩阵论中有讲,你可以去看看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式