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

Azzi Abdelmalek
Azzi Abdelmalek 2014년 12월 28일
편집: Azzi Abdelmalek 2014년 12월 28일
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 2014년 12월 28일
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.

댓글을 달려면 로그인하십시오.

 채택된 답변

Shoaibur Rahman
Shoaibur Rahman 2014년 12월 28일
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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

제품

태그

질문:

Abe
2014년 12월 28일

댓글:

Abe
2014년 12월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by