How to create a circulant matrix column wise?

8 visualizzazioni (ultimi 30 giorni)
I want to create M x L circulant matrix column wise,where M=16 and L=20.

Risposta accettata

Ameer Hamza
Ameer Hamza il 3 Nov 2020

Più risposte (2)

KSSV
KSSV il 3 Nov 2020
  2 Commenti
ANJANA K P
ANJANA K P il 3 Nov 2020
Thank you for the response.But I am again getting a square matrix .I need the result as M x L. ie,16*20 matrix as the answer.
Thanks in Advcance.
KSSV
KSSV il 3 Nov 2020
Modificato: KSSV il 3 Nov 2020
Read about Circshift.
m = 16 ; n = 20 ;
r = rand(m,1) ;
iwant = zeros(m,n) ;
iwant(:,1) = r ;
for i = 2:n
iwant(:,i) = circshift(iwant(:,i-1),1) ;
end

Accedi per commentare.


Bruno Luong
Bruno Luong il 3 Nov 2020
col = rand(16,1) % your 1-column vector
A = toeplitz(col,col(mod((1:20)-1,end)+1))

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by