Matrix 求解矩阵方程

Matrix 求解矩阵方程,matrix,julia,Matrix,Julia,假设在形式上有矩阵方程 MAM^-1 = [0.55 0.06; -0.55 0.96] 其中 A=[x_10;0 x_2] M = [1 1; 2x_1/(1 - 2x_1) 2x_2/(1 - 2x_2)] 所以A是2x2对角矩阵,M是2x2矩阵。我对Julia很陌生,所以我只熟悉解Ax=b形式的系统。我已经设法用手解决了上面的问题(这很痛苦!),但是在Julia中有没有办法解决这样的矩阵方程呢 抱歉格式不好,但显然您无法在stackoverflow中编写TeX方程。简短回答: 您有4

假设在形式上有矩阵方程

MAM^-1 = [0.55 0.06; -0.55 0.96]
其中
A=[x_10;0 x_2]

 M = [1 1; 2x_1/(1 - 2x_1) 2x_2/(1 - 2x_2)]
所以A是2x2对角矩阵,M是2x2矩阵。我对Julia很陌生,所以我只熟悉解Ax=b形式的系统。我已经设法用手解决了上面的问题(这很痛苦!),但是在Julia中有没有办法解决这样的矩阵方程呢


抱歉格式不好,但显然您无法在stackoverflow中编写TeX方程。

简短回答:

您有4个方程式(2x2矩阵组件)和2个未知数

=>在一般情况下,您的问题没有解决方案


长答案:

为了完成答案,我们可以想象与您的问题相近(但不同)的情况:

可以将表达式
MAM^-1=B
解释为特征分解

A
是包含
B
特征值的对角矩阵
M
是包含相关特征向量的基矩阵的变化

在朱莉娅:

B=[0.55 0.06;-0.55 0.96]
A=diagm(eigvals(B))
M=eigvecs(B)
现在请注意

M*A*inv(M)
是您的
B
矩阵

通过缩放特征向量(请注意,这不会修改特征空间或特征值),您可以得到更接近您命题的
M
矩阵。这可以通过以下方式实现:

Mp=M*inv(diagm(M[1,:]))
您可以检查您是否仍有:

Mp*A*inv(Mp) # equal to your B matrix
现在,回到您最初的问题,通过识别,我们有:

从矩阵对角线

x1=0.66
x2=0.85
从第二排开始

2x_1/(1 - 2x_1) = 1.83333 
2x_2/(1 - 2x_2) = 5.0

这是一组不相容的方程式(4个方程式,2个未知数)。

您看到\运算符了吗?谢谢您的回复。我在解决Ax=b等简单系统时使用过\但我不确定如何将其应用到我的案例中。我应该做一个函数,将x_1,x_2作为输入,并以某种方式使用\来求解系统吗?是的,除非你希望它是象征性的。不过,数字方式比符号方式的伸缩性要好得多。如果你真的想象征性地做这件事,那就去看看吧。所有相同的命令都适用于此,因此只需创建矩阵并使用\获得符号解,但请注意,此解随矩阵大小快速增长!非常感谢你的帮助!我会尝试两种方法,看看是否能解决:)非常感谢你的详细回答。在我完全理解它之前,我必须读几遍,但我感谢你的帮助。谢谢你的反馈,我很高兴它对我有所帮助。我已经解释清楚了(答案的结尾是“现在回到你最初的问题…”),非常感谢你的补充解释,这正是我想要弄明白的。你得到的“来自矩阵对角线”解就是我需要找到的值。我很抱歉因为我说这是一个需要解决的方程而引起的混乱——这个问题来自我试图解决的一个计量经济学模型。不管是哪种方式,感谢您花时间提供了如此详尽的答案。我真的很感激。
2×2 Array{Float64,2}:
  0.55  0.06
 -0.55  0.96
x1=0.66
x2=0.85
2x_1/(1 - 2x_1) = 1.83333 
2x_2/(1 - 2x_2) = 5.0