在Matlab中是否有生成N×N随机可对角化矩阵的方法?我试着如下:
N=10;
A=对角线(rand(n,n))
但它给了我一个n x 1矩阵。我还需要矩阵是对称的。

最佳答案

假设您正在考虑实值矩阵:每个实值对称矩阵都diagonalizable因此,您可以随机生成一些矩阵A,例如使用A = rand(N, N),然后将其对称化,例如通过

A = A + A'

对于复杂矩阵,可对角化的条件是矩阵normal。如果A是任意平方随机矩阵,可以通过
A = A * A'

关于algorithm - MATLAB中的对角矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23439435/

10-16 14:20