how to create block circulant matrix?

8 ビュー (過去 30 日間)
sai prudhvi
sai prudhvi 2020 年 4 月 14 日
コメント済み: Akira Agata 2020 年 4 月 15 日
i need to create mn*mn block circulant matrix ie m blocks of n*n matrices. please help me

採用された回答

Akira Agata
Akira Agata 2020 年 4 月 14 日
How about the following?
% For simple example
n = 3;
m = 2;
% Create n-by-n circulant matrix
B_block = gallery('circul',1:n)';
% Create nm-by-nm block circulant matrix
B_all = repmat(B_block,m);
  2 件のコメント
sai prudhvi
sai prudhvi 2020 年 4 月 14 日
i accept but if matrix elements is complex numbers then how to create the matrix.
Akira Agata
Akira Agata 2020 年 4 月 15 日
I believe the same approach should work, like:
% For simple example
n = 3;
m = 2;
% Create n-by-n complex circulant matrix
Re = gallery('circul',1:n)';
Im = gallery('circul',1:n)';
B_block = Re + 1i*Im;
% Create nm-by-nm block circulant matrix
B_all = repmat(B_block,m);

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeModeling についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by