bbok 发表于 2010-1-11 19:13

一个矩阵运算问题

矩阵运算问题:
X=A*B,三个矩阵,X为n*m维,A为n*r维,B为r*m维
现在已知X与A的情况下,如何求B矩阵?
举个例子:
A=randn(5,10);
B=randn(10,15);
X=A*B;
我试过用BB=pinv(A)*X,但是得到BB矩阵与还是和原来的B矩阵完全不相同?请教如何求解?

friendchj 发表于 2010-1-14 09:36

回复 楼主 bbok 的帖子

应该可以这样理解:
如果转化为方程,要求解B,则有r*m个未知量,而有n*m个方程,所以如果r*m大于n*m,则方程欠定,一般解不唯一。楼主给的例子,由于10*15大于5*15,所以解也应该不唯一。
一个例子:
a=rand(3,2);
b=rand(2,4)
x=a*b;
c=pinv(a)*x
~~~~~~~~~~~~~~~~~~~
b =

    0.5060    0.8909    0.5472    0.1493
    0.6991    0.9593    0.1386    0.2575


c =

    0.5060    0.8909    0.5472    0.1493
    0.6991    0.9593    0.1386    0.2575

bbok 发表于 2010-1-16 10:59

感谢冬春夏秋的回复
页: [1]
查看完整版本: 一个矩阵运算问题