|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
已知一个元素全为整数矩阵A,求一个元素全为整数的矩阵B,使得AB是一个对角元全为奇数而其他元素全为偶数的矩阵。
怎么用MATLAB来解决?
代数上的分析我做出来了,但是写程序的过程中感到很棘手,我把分析过程说一下,大家可以看看有没有错误。
设A是一个m*n的矩阵,B是一个n*m的矩阵。由于AB对角元全为奇数,其他元素都为偶数。可以由归纳法证明AB必可逆。
当m>n时,假设存在B满足条件。令C=(A 0),D=(B 0)’,则CD=AB,但是C,D均不可逆,但是AB可逆,矛盾,所以m>n的时候不存在满足条件的B。
当m=n时,有AB的可逆性,若A不可逆,无解;若A可逆,则A的逆矩阵就是满足条件的矩阵,直接求逆可以得到结果。
当m<n时,将A化为标准形F,若A存在全0行,则对任意B,AB必不可逆,也找不到满足条件的B;若A不存在全0行,则在A的下面添加n-m行,使得新得到的矩阵G每行每列有且只有一个1,其余全是0。此时若G不可逆,则不存在满足条件的B(做一下矩阵乘法就可以得到);若G可逆,则存在H,使得GH=E,这时对H做刚才A化为标准形时的逆变换,得到I,然后砍掉I的后n-m列,就能得到满足条件的B。
这个过程特别是m<n的时候我觉得程序好难写,有没有高手能够指点一下,还有就是第二步当m=n的时候能不能不直接用求逆函数求?这个问题有点急,谢谢大家了!!!
|
|