Clear Filters
Clear Filters

I want to implement this matrix

1 view (last 30 days)
Janet
Janet on 23 Feb 2012
Edited: Matt J on 23 Oct 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 Comment
Andrei Bobrov
Andrei Bobrov on 24 Feb 2012
M = 96;
N = 128;
A = zeros(M,N);
A(M+1:2*M+1:end) = Ip-1;

Sign in to comment.

Accepted Answer

Dr. Seis
Dr. Seis on 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 Comments
Dr. Seis
Dr. Seis on 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 on 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

Sign in to comment.

More Answers (3)

John D'Errico
John D'Errico on 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 Comments
Janet
Janet on 23 Feb 2012
using first command..how can i get 96 x 128 matrix
Janet
Janet on 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

Sign in to comment.


Sean de Wolski
Sean de Wolski on 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 on 23 Feb 2012
A=[zeros(64,1),(Ip-l)*eye(64,64)]
  6 Comments
Janet
Janet on 23 Feb 2012
what is 1:2?
Janet
Janet on 23 Feb 2012
I need a M-Nt x L matrix i.e 96 x 128

Sign in to comment.

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!