Randomly create lower and upper of matrix separately.
69 views (last 30 days)
I would like to create a randomly lower triangle of the matrix, and then create an upper triangle of matrix separately. After that I want to compound both of these in one matrix. More deeply, I want to control each cell in both half matrix.
Shoaibur Rahman on 28 Dec 2014
l = tril(rand(m,n),-1); % lower triangle
u = triu(rand(m,n),1); % upper triangle
d = diag(rand(1,m),0); % diagonal elements
A = l+u+d % final matrix, combined all
If you don't want to generate the diagonal elements separately, then replace either -1 in lower triangle or 1 in upper triangle by 0, and then A = l+u