作业帮 > 数学 > 作业

matlab 解矩阵 已知A是n*n矩阵,X和Y是n*m矩阵,其中,X,Y已知,Y=AX.现在求系数矩阵A,求大侠帮助.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/18 00:38:51
matlab 解矩阵 已知A是n*n矩阵,X和Y是n*m矩阵,其中,X,Y已知,Y=AX.现在求系数矩阵A,求大侠帮助.
不就是在Y矩阵的右边乘以X矩阵的逆么?
Matlab 的逆矩阵函数 inv 会调用么?直接 Y.inv(X) 就得到A啦
你是想在不调用内嵌函数 inv 的情况下求矩阵的逆?
请说明意图,谢谢
再问: 我知道你的意思,你的意思是通过矩阵的逆来求解,但是,题目说了,X和Y是n*m矩阵,不是方阵,不可能有逆矩阵,所以,这个方法无法使用。
再答: 如果X不是方阵,那你这个问题能解么? 假设XY是3*2矩阵,A是3*3方阵,原方程只有3*2=6个方程但是有3*3=9个未知数!
再问: 可以,今天我解出来了,呵呵。A=Y * X' * inv(X * X')。睡了一觉想出来办法了!
再答: >> A=[1,2,3;4,5,9;7,8,9] A = 1 2 3 4 5 9 7 8 9 >> X=[1,2;3,4;5,6] X = 1 2 3 4 5 6 >> Y=A*X Y = 22 28 64 82 76 100 >> X' ans = 1 3 5 2 4 6 >> det(X*X') ans = 0 【X*X‘行列式为0,不存在逆】 >> inv(X*X') Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.846726e-018. ans = 1.0e+015 * 0.3753 -0.7506 0.3753 -0.7506 1.5012 -0.7506 0.3753 -0.7506 0.3753 >> Y*X'*inv(X*X') Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.846726e-018. ans = 16 -32 16 64 -128 64 64 -256 128 【就算强行用inv函数还是得到的错误的结果】
再问: 这个线性变换的搞定了,还是谢谢你的帮忙。现结了这个题目,还有一个题目:Y=AX+b,其中,X和Y是已知m*n矩阵,求系数矩阵A和b。不知道你会不会解决?
再答: 为什么你的问题总是这么的ill-posed?我先想想,不太会你这种题