【问题标题】:How to solve quadratic matrix expression using Matlab如何使用Matlab求解二次矩阵表达式
【发布时间】:2017-04-10 13:42:52
【问题描述】:

如果我有以下二次方程

C_1=S*C*U

其中C_1C 是已知矩阵,SU 的转置矩阵,如何在Matlab 中找到矩阵U?有什么功能可以帮我找到吗?

【问题讨论】:

  • C是上三角形吗?
  • C是对角矩阵,对角线等于[1,1,0]
  • 不一定,C_1的形式如下:[c_1,c_2,0; c_2,1,0; 0,0,0]

标签: matlab matrix


【解决方案1】:

您几乎没有提供有关矩阵性质的详细信息,但如果 C_1 是正方形且对称的,则以下内容成立:

C_1 = U * D * (U')

其中素数U' 表示U 的转置。这里,DC_1 的特征值的对角矩阵,U 是对应的特征向量矩阵。

举个例子:

C_1 = [3     0     5
       0     1     6
       5     6     4];
[V, D] = eig(C_1);
% now V*D*(V') = C_1

因此,如果C_1 是正方形且对称的,并且C 包含其特征值,那么您的问题的答案是:

UC_1的特征向量矩阵,你可以使用eig function找到它。

有关详细信息,请参阅matrix cookbook 部分 5.3.1。

【讨论】:

  • 但在这种情况下,D不等于对角矩阵,其对角线等于[1,1,0],因为[1,1,0]不一定是C_1的特征值
  • 顺便说一下,我刚刚在 cmets 中添加了有关 C_1 的更多信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多