Different covariance kernels are defined to illustrate three series expansion methods for the representation of 1D random fields: the 'expansion optimal linear estimator (EOLE)', the orthogonal series expansion (OSE)' and the 'Karhunen-Loève (K-L)' methods. The solution of the K-L eigenvalue problem is computed with the Discrete, Nyström and Galerkin methods. The main references are: "Stochastic finite element methods and reliability" by Sudret and Der Kiureghian, and "Stochastic finite elements: a spectral approach" by Ghanem and Spanos.
Several references to equations and useful comments are written in order to provide a better understanding of the codes. The programs estimate the corresponding eigenvalues and eigenvectors of the covariance kernel, and plot several random field realizations, together with the covariance approximation.
Any suggestions, corrections and/or improvements are kindly accepted :-)
Felipe Uribe (2021). Random field representation methods (https://www.mathworks.com/matlabcentral/fileexchange/52372-random-field-representation-methods), MATLAB Central File Exchange. Retrieved .
Dear Felipe Uribe,
i have the same question as Ji Bao in KL expansion Galekin method about the eigenvector normalization. Could you explain better how this normalization it's done? Thank you very much!
i forgot to mention it is in KL expansion Galekin method! tank you again!
How to generate random field in 2D using this?
It has been a while since I checked the codes and comments. I just created an update of the KL expansion folder.
Please send me an email directly, if you have any comments or questions about the files.
Thank you for the interest !
Thanks very much for your excellent job. I just have two questions about your code.
1st, I think in KL expansion Galekin method, the eigenvectors obtained should be normalized in terms of B matrix, otherwise, your variance error will be out of bound.
2nd, in the KL expansion discrete integration. As mentioned by Kiureghian. D. (in the paper 'The finite element method in structural reliability'), there should be any variance errors for this method. However, the main error in your code comes from the trapezoid integral method. If you change the way to normalize the eigenvector, there should not be any error for the discrete integration method.
do you have any reference for your functions?
Did you compare your EOLE simulation results with FERUM implementation by any chance?
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!