matlab求矩阵方程组

如题所述

重新整理一下你的方程。
你的第一个方程是
(pi0,pi1)=(pi0,pi1)*[A00,A01;A10,R*A2]
取个转置,就是
(pi0,pi1)(T)
=
[A00,A10;A01,R*A2]*(pi0,pi1)(T)
相当于求解线性方程组
Ax
=
0
A
=
[A00
-
1,A10;A01,R*A2
-
1]
x
=
(pi0,pi1)(T)
你还有一个约束条件,对吧:
1=pi0*e+pi1*inv(I-R)*e;
这相当于线性方程组的第三行。
所以相当于:
//
代码如下
A
=
[A00
-
1,A10;
A01,R*A2
-
1;
e,*inv(I-R)*e];
b
=
[0;
0;
1];
x
=
A\b;
//
Matlab自动求解线性方程组的语句,没记错的话,对于这种超定方程组,应该也能自动搞定,算出最小二乘解
//
代码结束
最后,求出来的x是个2*1的向量,两个分量分别对应pi0和pi1
你试试吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-12
先将xp=0两边取转置,得p'x'=0,求出x'再转置回来求出x.
当矩阵方程p'x'=0,rank(p)=r
评论
0
0
0
加载更多
相似回答