I want to implement this matrix

2 vues (au cours des 30 derniers jours)
Janet
Janet le 23 Fév 2012
Modifié(e) : Matt J le 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 commentaire
Andrei Bobrov
Andrei Bobrov le 24 Fév 2012
M = 96;
N = 128;
A = zeros(M,N);
A(M+1:2*M+1:end) = Ip-1;

Connectez-vous pour commenter.

Réponse acceptée

Dr. Seis
Dr. Seis le 23 Fév 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 commentaires
Dr. Seis
Dr. Seis le 23 Fév 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 le 23 Fév 2012
Yes..I got it..thank you so much and without your help, I wouldn't have got a solution..thank you so much

Connectez-vous pour commenter.

Plus de réponses (3)

John D'Errico
John D'Errico le 23 Fév 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 commentaires
Janet
Janet le 23 Fév 2012
using first command..how can i get 96 x 128 matrix
Janet
Janet le 24 Fév 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

Connectez-vous pour commenter.


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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by