matlab生成对称正定矩阵

2025-01-07 09:35:54
推荐回答(3个)
回答1:

恐怕要自己写程序,但有个粗略的思路:

1.随机生成一个单位正交阵A(这个不困难,用到的只有for循环和函数rand)

2.随机生成一个对角元素均大于0的对角矩阵B(这个更容易了,就是生成几个随机正数而已)

3.C=A*B*A即为一个正定矩阵,同时也是一个对称矩阵。

回答2:

X = diag(rand(N,1));
U = orth(rand(N,N));
A = U' * X * U
即feixuetianjian的思路,这里作为补充

回答3:

chol()