请问这个矩阵方程如何解呢?

问题描述:

请问这个矩阵方程如何解呢?
现有矩阵方程组
S = A.*X + B.*Y
T = C.*X + D.*Y
条件:A,B,C,D,S,T是已知nxn方形阵,X和Y是未知nxn方形矩阵,.*表示点乘.上述方程组能不能写成R = E * Z的形式(其中R由S,T组成,E由A,B,C,D组成,Z由X和Y组成),然后用R和E表示Z呢?
已经发现了答案,就是计算机编程求解多维的方程组时,有时会遇到无解的情况,就是因为系数矩阵病态,或者说可能除以一个很小的数,或乘一个很大的数字等情况发生,也会因为计算机精度问题告知出错。解决办法有很多,例如求最小均方误差的伪逆,或直接给系数矩阵加一个很小的量去相关。
1个回答 分类:综合 2014-12-07

问题解答:

我来补答
R = [S;T]^T [ R是2n行,n列的矩阵.R的前n行是S,R的后n行是T]
E = [A,B;C,D] [E是2n行,2n列的矩阵.E的前n行,前n列是A,E的前n行,后n列是B,E的后n行,前n列是C,E的后n行,后n列是D]
Z = [X;Y]^T [ Z是2n行,n列的矩阵.Z的前n行是X,Z的后n行是Y]
R = E*Z
噢,
2个n阶方阵之间的点乘结果还是1个n阶方阵么?
结果矩阵的第m行n列的元素是2个n阶方阵的第m行n列的元素之间的乘积吧?
如果是这样的话,
S = [sij]_(n*n),X = [xij],Y = [yij],A = [aij],B= [bij],C=[cij],D=[dij],T=[tij]_(n*n).
对于任意的i,j=1,2,...,n,都有,
sij = aij*xij + bij*yij
tij = cij*xij + dij*yij
[sij,tij]^T = [aij,bij;cij,dij][xij,yij]^T.
若det[aij,bij;cij,dij]不为0,则
[xij,yij]^T = [aij,bij;cij,dij]^(-1)[sij,tij]^T.
i,j = 1,2,...,n.
 
 
展开全文阅读
剩余:2000
下一页:立体几何 24题