Filter löschen
Filter löschen

I want to implement this matrix

1 Ansicht (letzte 30 Tage)
Janet
Janet am 23 Feb. 2012
Bearbeitet: Matt J am 23 Okt. 2013
0;Ip-l;0.............0
0;0;0;Ip-l;0.......0
.........................
0;0..............0;Ip-l
it is M-Nt x L matrix where M=128
L=65
p=64
1,3,5...columns are zero
2,4,6 columns have Ip-l in consecutive rows
  1 Kommentar
Andrei Bobrov
Andrei Bobrov am 24 Feb. 2012
M = 96;
N = 128;
A = zeros(M,N);
A(M+1:2*M+1:end) = Ip-1;

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dr. Seis
Dr. Seis am 23 Feb. 2012
>> A = zeros(4,8);
>> A(:,2:2:end) = 5*eye(4,4);
>> A
A =
0 5 0 0 0 0 0 0
0 0 0 5 0 0 0 0
0 0 0 0 0 5 0 0
0 0 0 0 0 0 0 5
  3 Kommentare
Dr. Seis
Dr. Seis am 23 Feb. 2012
Provided N is even:
M = 96;
N = 128;
A = zeros(M,N);
A(:,2:2:end) = (Ip-1)*eye(M,N/2)
Janet
Janet am 23 Feb. 2012
Yes..I got it..thank you so much and without your help, I wouldn't have got a solution..thank you so much

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

John D'Errico
John D'Errico am 23 Feb. 2012
So many ways to do this. My favorite to recognize it as a block diagonal matrix.
d = repmat({[0 Ip-1]},1,64);
M = blkdiag(d{:});
If you want your matrix to be sparse (it surely should be, so why not use the capability?)
d = repmat({sparse([0 Ip-1])},1,64);
M = blkdiag(d{:});
I suppose this would work too. Making it sparse is trivial.
M = toeplitz([0, Ip-1,zeros(1,126)]);
M(2:end,:) = [];
  2 Kommentare
Janet
Janet am 23 Feb. 2012
using first command..how can i get 96 x 128 matrix
Janet
Janet am 24 Feb. 2012
d = repmat({[0 Ip-1]},1,64);
M = blkdiag(d{:});
using this command...i want 96x128 matrix...i.e M-Nt x L matrix
M=128;Nt=2;L=16

Melden Sie sich an, um zu kommentieren.


Sean de Wolski
Sean de Wolski am 23 Feb. 2012
look at diag, and eye.
doc diag
doc eye
Please provide an actual matrix we can copy and paste into MATLAB (small example) if you would like more detail.

G A
G A am 23 Feb. 2012
A=[zeros(64,1),(Ip-l)*eye(64,64)]
  6 Kommentare
Janet
Janet am 23 Feb. 2012
what is 1:2?
Janet
Janet am 23 Feb. 2012
I need a M-Nt x L matrix i.e 96 x 128

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by