How to generate a random positive semi-definite matrix of certain size with real numbers in a certain range?
이전 댓글 표시
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,
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Random Number Generation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!