How to generate a random positive semi-definite matrix of certain size with real numbers in a certain range?
Afficher commentaires plus anciens
I'm looking for a way to generate a *random positive semi-definite matrix* of size n with real number in the *range* from 0 to 4 for example.
I didn't find any way to directly generate such a matrix. However, I found that *Lehmer* matrix is a positive definite matrix that when you raise each element to a nonnegative power, you get a positive semi-definite matrix.
So, I did something like this
A=16*gallery('lehmer',100) %matrix of size 100*100 in range 0-16
B=A.^(1/2) %scale down to range 0-4
So my questions are:
1. I wonder if that maintains the randomness of the matrix?
2. Is there any direct way to generate random positive semidefinite matrix?
Thanks,
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Random Number Generation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!