In Random Matrix Theory, MP law gives the probability density function of singular values of large rectangular random matrices; when the dimensions of matrix tend to infinity.
This contribution illustrates the PDF of matrix Y(N,N)=(T^-1)X*X^T, where X is random matrix whose entries X_i,j are independent and identically distributed random variables with zero mean and variance s^2. The program is applicable for both uniform and random distributions.
Marchenko,V. A., Pastur, L. A. (1967) "Distribution of eigenvalues for some sets of
random matrices", Mat. Sb. (N.S.), 72(114):4, 507–536
Youssef Khmou (2020). Marchenko Pastur Law (https://www.mathworks.com/matlabcentral/fileexchange/49438-marchenko-pastur-law), MATLAB Central File Exchange. Retrieved .
In the example, N=400; T=700, c=N/T < 1, i.e., N<T.
What if N>T?
Thanks for the code.
For the normalization of the eigenvalue distribution, you are writing "f=f/sum(f)". But I think this is incorrect; it should be "f=f/trapz(lambda,f)". That is, it should be divided by the area of the histograms. You can refer to this link for the explanation: http://stackoverflow.com/questions/5320677/how-to-normalize-a-histogram-in-matlab