Randomly create lower and upper of matrix separately.

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.

3 comentarios

Azzi Abdelmalek
Azzi Abdelmalek el 28 de Dic. de 2014
Editada: Azzi Abdelmalek el 28 de Dic. de 2014
can you give more details? illustrate with an example
What do you mean to "control each cell"?
You can always access any element of a matrix.
Abe
Abe el 28 de Dic. de 2014
I meant above, I want to create a random number in each cell of the lower - matrix, and then separately do the same with upper-matrix. The conclusion will be I have 1/2 of matrix (Upper matrix) generated alone, and the other half (lower matrix) generated lonely too. So when add the 2 halves I see one matrix with keeping the same generated numbers. I hope now it's clear. Thank you for asking.

Iniciar sesión para comentar.

 Respuesta aceptada

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

Más respuestas (0)

Categorías

Productos

Etiquetas

Preguntada:

Abe
el 28 de Dic. de 2014

Comentada:

Abe
el 28 de Dic. de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by