有谁知道任何可以帮助我生成具有 REAL EIGEN 值的随机矩阵的 matlab 算法?谢谢。
生成具有实特征值的随机矩阵
计算科学
线性代数
matlab
算法
矩阵
2021-12-06 17:12:34
2个回答
你没有提到你想要随机矩阵的条目什么样的分布,所以我能想到的最简单的方法是首先创建一个随机矩阵矩阵然后获得. 这给了你一个对称矩阵带有随机条目。由于对称矩阵具有实特征值,因此矩阵将满足您的要求。
Matlab代码:
A = rand(n)
B = 0.5 * (A + transpose(A))
这是另一种方法,基于Bill Barth 的回答。首先,创建一个随机对角矩阵,然后得到一个随机正交矩阵最后,计算相似度变换. 矩阵将具有相同的特征值但一般不会是对角线。提出随机正交矩阵的简单方法是计算一个随机矩阵的 QR 分解。
Matlab代码:
D = diag(rand(n, 1))
[Q ~] = qr(rand(n))
B = Q * D * transpose(Q)
如果要指定特征值,则可以将它们放在否则为空矩阵的对角线上。