How do I create a 2D sparse matrix?
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hallo, When I want to creat a sparse matrix, and and according to the i verctor( index) the element must be equal =1
say i=[6 12 18 24 19 13 7 1]; A=sparse(i,i,ones(1,8)); then I have A =
(1,1) 1
(6,6) 1
(7,7) 1
(12,12) 1
(13,13) 1
(18,18) 1
(19,19) 1
(24,24) 1
Now:I want to creat a A 2D sparse matrix with vector i, but with every element are a 2D matrix 3x3 for exmaple A(1,1) is 2D matrix of dimension 3x3=[1 0 0;0 1 0; 0 0 1]; thank you in advance
1 comentario
Bruno Luong
el 10 de Feb. de 2011
A (sparse) matrix can contain numerical elements and nothing else. What exactly you want to do?
Respuesta aceptada
Marwa Helemish
el 10 de Feb. de 2011
1 comentario
Andrew Newell
el 10 de Feb. de 2011
Then what do you mean? I suggest editing your original question to clarify it.
Más respuestas (2)
Andrew Newell
el 8 de Feb. de 2011
Here is how you would do it for your example:
N = 6; % I assume this is a square matrix?
A = zeros(3,3,N^2);
A3 = eye(3);
indexList = [6 12 18 24 19 13 7 1];
for i=indexList
A(:,:,i) = A3;
end
A = num2cell(A,[1 2]);
A = reshape(A,N,N);
A = sparse(cell2mat(A));
2 comentarios
Todd Flanagan
el 8 de Feb. de 2011
Andrew says, "If you like this answer, could you please accept it?"
James Tursa
el 21 de Mzo. de 2011
You might take a look at this FEX submission by Matt J:
0 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!