奇异矩阵求逆问题!急求奇异矩阵求逆问题: 已知:Y=X*C,其中Y大小为100*1,X为100*1110;C应该为111
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/10/12 20:25:41
奇异矩阵求逆问题!
急求奇异矩阵求逆问题:
已知:Y=X*C,其中Y大小为100*1,X为100*1110;C应该为1110*1,现在需要求系数C.我用最小二乘法可得
C=inv(X'X)*X'Y; 但是问题来了:X'X是奇异矩阵,行列式为0,所以matlab会显示warning! 有什么方法实现X'X的逆矩阵吗?请各位帮忙啊!万分感谢!
本题式子:Y=X*C--是典型多元线性回归公式.
我已经用pinv函数,最终预测得到的X*C其结果和Y的数据是一模一样,按理来说不应该是这么精确吧!找不出原因,大侠们帮忙啊!
急求奇异矩阵求逆问题:
已知:Y=X*C,其中Y大小为100*1,X为100*1110;C应该为1110*1,现在需要求系数C.我用最小二乘法可得
C=inv(X'X)*X'Y; 但是问题来了:X'X是奇异矩阵,行列式为0,所以matlab会显示warning! 有什么方法实现X'X的逆矩阵吗?请各位帮忙啊!万分感谢!
本题式子:Y=X*C--是典型多元线性回归公式.
我已经用pinv函数,最终预测得到的X*C其结果和Y的数据是一模一样,按理来说不应该是这么精确吧!找不出原因,大侠们帮忙啊!
X奇异C有无穷多解.找基础解系
对不起,最小二乘都快忘光了,线性代数还行.希望下面的东西能帮到你(你试试看):
对A进行QR分解(A=QR),其中Q是nxk正交矩阵(Orthonormal Matrix),R是kxk上三角矩阵(Upper Triangular Matrix),然后min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b||,用MATLAB命令x=R\(Q'*b)可解得x.
最小二乘法的Matlab实现
① 一次函数 使用polyfit(x,y,1)
②多项式函数 使用 polyfit(x,y,n),n为次数
拟合曲线
x=[0.5,1.0,1.5,2.0,2.5,3.0],y=[1.75,2.45,3.81,4.80,7.00,8.60].
MATLAB程序如下:x=[0.5,1.0,1.5,2.0,2.5,3.0]; y=[1.75,2.45,3.81,4.80,7.00,8.60]; p=polyfit(x,y,2) x1=0.5:0.05:3.0; y1=polyval(p,x1); plot(x,y,'*r',x1,y1,'-b') 计算结果为:p =0.5614 0.8287 1.1560
即所得多项式为y=0.5614x^2+0.08287x+1.15560
③非线性函数 使用 lsqcurvefit(fun,x0,x,y)
再问: 感谢这位大侠的热心回答!! 我还想问下: 我对QA分解不是很了解,你上面的公式min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b|,然后得到x=R\(Q'*b),那就是认为min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b|=0??,然后根据x求Ax,其与b是近似相等吧??
再答: 我明白了。。。 不好意思,我复制的时候也没有多注意,以上的内容帮不了你 不过还是解释一下。那个不是等于0,而是范数的最小值。因为最小二乘法是由于方程无法求精确解所以才采用近似,使得x的值代入后能更接近于b。 你的情况里最根本的问题是,这个方程根本就用不着最小二乘法= =|||,最小二乘法是在方程组系数的秩大于增广矩阵从而无解时才采用近似的。而在这里,原方程组AX=b中未知量的个数1110大于方程的个数100,所以本身就是有解的(无穷多解)。出现奇异的原因是:原方程组的秩最多为100,所以A'A的秩会小于100,故而是奇异矩阵。 最后再提醒一下,使用最小二乘法一定要是原方程组无解(所以至少未知量的个数要大于方程组的个数)时才行,这时的A'AX=A'b是原方程组的正规方程,一定是有解的,不会出现系数矩阵奇异的情况!而这也正是你预测的数据与Y一摸一样的原因。。。
对不起,最小二乘都快忘光了,线性代数还行.希望下面的东西能帮到你(你试试看):
对A进行QR分解(A=QR),其中Q是nxk正交矩阵(Orthonormal Matrix),R是kxk上三角矩阵(Upper Triangular Matrix),然后min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b||,用MATLAB命令x=R\(Q'*b)可解得x.
最小二乘法的Matlab实现
① 一次函数 使用polyfit(x,y,1)
②多项式函数 使用 polyfit(x,y,n),n为次数
拟合曲线
x=[0.5,1.0,1.5,2.0,2.5,3.0],y=[1.75,2.45,3.81,4.80,7.00,8.60].
MATLAB程序如下:x=[0.5,1.0,1.5,2.0,2.5,3.0]; y=[1.75,2.45,3.81,4.80,7.00,8.60]; p=polyfit(x,y,2) x1=0.5:0.05:3.0; y1=polyval(p,x1); plot(x,y,'*r',x1,y1,'-b') 计算结果为:p =0.5614 0.8287 1.1560
即所得多项式为y=0.5614x^2+0.08287x+1.15560
③非线性函数 使用 lsqcurvefit(fun,x0,x,y)
再问: 感谢这位大侠的热心回答!! 我还想问下: 我对QA分解不是很了解,你上面的公式min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b|,然后得到x=R\(Q'*b),那就是认为min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b|=0??,然后根据x求Ax,其与b是近似相等吧??
再答: 我明白了。。。 不好意思,我复制的时候也没有多注意,以上的内容帮不了你 不过还是解释一下。那个不是等于0,而是范数的最小值。因为最小二乘法是由于方程无法求精确解所以才采用近似,使得x的值代入后能更接近于b。 你的情况里最根本的问题是,这个方程根本就用不着最小二乘法= =|||,最小二乘法是在方程组系数的秩大于增广矩阵从而无解时才采用近似的。而在这里,原方程组AX=b中未知量的个数1110大于方程的个数100,所以本身就是有解的(无穷多解)。出现奇异的原因是:原方程组的秩最多为100,所以A'A的秩会小于100,故而是奇异矩阵。 最后再提醒一下,使用最小二乘法一定要是原方程组无解(所以至少未知量的个数要大于方程组的个数)时才行,这时的A'AX=A'b是原方程组的正规方程,一定是有解的,不会出现系数矩阵奇异的情况!而这也正是你预测的数据与Y一摸一样的原因。。。
奇异矩阵求逆问题!急求奇异矩阵求逆问题: 已知:Y=X*C,其中Y大小为100*1,X为100*1110;C应该为111
求线性替换矩阵 已知AB为对称矩阵,求非奇异矩阵C,使得(C的转置阵)*A*C=B
设 m*n矩阵A的秩为r,求矩阵B=(A的广义逆矩阵)×A的奇异值矩阵
matlab 中如何计算Ax(i+1)=Bx(i)+Cx(i) ,其中A B C为常数矩阵,x(i)为已知矩阵,求x(i
证明:n阶矩阵AB,C=A*B,若B为奇异是,你C一定是奇异的
用MATLAB求X'=AX+BU+CU'其中X为8行1列的矩阵,A,B,C为实数矩阵,U为关于时间的矩阵,求X
设A为非奇异矩阵,B为奇异矩阵,证明1/cond(A)
设(X,Y)的协方差矩阵为C=(4 -3;-3 9),求X与Y的相关系数pXY.
A-E A+2E 2A-E为奇异矩阵 求|A+3E|
设分块矩阵D=(C A B 0),其中A为n阶可逆矩阵,B为m阶可逆矩阵.求|D|以及D的逆
利用矩阵分块求逆矩阵设X= A B0 C,其中A、C可逆,试证X可逆,并求出X的逆矩阵,
行列式、矩阵问题第一题如图第二题中,E为三阶单位矩阵,求矩阵X