Randomly create lower and upper of matrix separately.

43 次查看(过去 30 天)
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 个评论
John D'Errico
John D'Errico 2014-12-28
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 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by