I want to implement this matrix

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 Comment

M = 96;
N = 128;
A = zeros(M,N);
A(M+1:2*M+1:end) = Ip-1;

Sign in to comment.

 Accepted Answer

>> 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 Comments

yes..this is I want..but I needed 96 x 128 matrix
Provided N is even:
M = 96;
N = 128;
A = zeros(M,N);
A(:,2:2:end) = (Ip-1)*eye(M,N/2)
Yes..I got it..thank you so much and without your help, I wouldn't have got a solution..thank you so much

Sign in to comment.

More Answers (3)

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 Comments

using first command..how can i get 96 x 128 matrix
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

Sign in to comment.

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 on 23 Feb 2012
A=[zeros(64,1),(Ip-l)*eye(64,64)]

6 Comments

0 48 0 0 0
0 0 48 0 0
0 0 0 48 0
0 0 0 0 48
i don't want such matrix
0 Ip-L 0.........................0
0 0 0 Ip-L 0................ 0
................................
................................
0 0 0.......................0 Ip-L
I want the above matrix
Look at what G A's code is doing. I think you need to change the capitalization of one letter.
GA's code is like this:
0 48 0 0 0
0 0 48 0 0
0 0 0 48 0
0 0 0 0 48
but I want 1,3,5...columns to be zero
2,4,6,....columns to have Ip-l in consecutive rows
A(1:2:end,:) = 0;
what is 1:2?
I need a M-Nt x L matrix i.e 96 x 128

Sign in to comment.

Categories

Tags

No tags entered yet.

Asked:

on 23 Feb 2012

Edited:

on 23 Oct 2013

Community Treasure Hunt

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

Start Hunting!