Randomly create lower and upper of matrix separately.

21 ビュー (過去 30 日間)
Abe
Abe 2014 年 12 月 28 日
コメント済み: Abe 2014 年 12 月 28 日
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
  1 件のコメント
Abe
Abe 2014 年 12 月 28 日
Thanks a lot, it's working with me right now

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOperating on Diagonal Matrices についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by