查看完整版本 : [求助]非方阵矩阵除法的matlab实现
fengze16
2009-03-20, 20:57
有矩阵方程Y=b*X,其中Y是m*n矩阵,b是m*k矩阵,X是k*n矩阵,现已知Y与X,求b?
请问如何在matlab中实现?谢谢!!!
kingseawave2008
2009-03-20, 22:42
有矩阵方程Y=b*X,其中Y是m*n矩阵,b是m*k矩阵,X是k*n矩阵,现已知Y与X,求b?
请问如何在matlab中实现?谢谢!!!
我的想法是把方程的两边同时乘以X的转置,可得Y*X'=b*X*X',这样b=Y*X'*inv(X*X'),但这样的话好像不能保证X*X'是非奇异的,呵呵:smile:
silas_xue
2009-03-21, 00:49
lz 我所了解到的解法
如果X矩阵不是方阵,可由以列为基准的Householder正交分解法分解
结果是m×k的矩阵.
每个矩阵的列向量最多有k个非零元素,k 是b的有效秩.
具体的你可以参考一下矩阵论的相关内容。
thx for reading.
PS: 直接点每个人发的贴右下角的感谢"Thanks"就可以了。
这个MATLAB里面有能做的函数:
你自己在help里面搜A/B A\B 看看说明
若:y=X*b是回归表达式,求算回归系数b:
已有的数据如:y=rand(10,2);
x=rand(10,5)
X=[ones(10,1),x];
则回归系数b的求算:
b=X\y
即可。
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.