Creating a non-square diagonal matrix
Mostrar comentarios más antiguos
Hi there,
I have a vector A that contains 2240 elements and I wanted to create a non-square diagonal matrix out if (B) that has the following dim: (94,037,2240),
I cant really use the diag function in matlab beause that gives me a square diagonal matrix,
Could you please help me with this issue?
5 comentarios
James Tursa
el 17 de Dic. de 2020
What is the rule for creating a 94x37x2240 array from a 2240 element vector?
Nikan Fakhari
el 17 de Dic. de 2020
Nikan Fakhari
el 17 de Dic. de 2020
Nikan Fakhari
el 17 de Dic. de 2020
James Tursa
el 17 de Dic. de 2020
OK, 94037x2240. But what is the rule?
Respuestas (2)
Bruno Luong
el 17 de Dic. de 2020
B = diag(A(:));
B(94037,1) = 0;
1 comentario
Nikan Fakhari
el 17 de Dic. de 2020
s1 = 94037;
s2 = 2240;
v = rand(1, s2); % Test data
M = zeros(s1, s2);
M(1:s1+1:s1*s2) = v; % Linear indexing
Or if s2 > s1:
s1 = 2;
s2 = 4;
v = rand(1, s1); % Test data
M = zeros(s1, s2);
M(1:s1+1:s1*s1) = v; % Linear indexing
1 comentario
Nikan Fakhari
el 17 de Dic. de 2020
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!