How do I create a 2D sparse matrix?

10 visualizaciones (últimos 30 días)
Marwa Helemish
Marwa Helemish el 8 de Feb. de 2011
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
Bruno Luong el 10 de Feb. de 2011
A (sparse) matrix can contain numerical elements and nothing else. What exactly you want to do?

Iniciar sesión para comentar.

Respuesta aceptada

Marwa Helemish
Marwa Helemish el 10 de Feb. de 2011
sorry Andrew,i canot accept it because , it is not want I mean. Many thanks again
  1 comentario
Andrew Newell
Andrew Newell el 10 de Feb. de 2011
Then what do you mean? I suggest editing your original question to clarify it.

Iniciar sesión para comentar.

Más respuestas (2)

Andrew Newell
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));
EDIT: If you're really after a sparse cell array of matrices, try looking at Sparse cell arrays.
  2 comentarios
Todd Flanagan
Todd Flanagan el 8 de Feb. de 2011
Marwa says, "thanks alot"
Todd Flanagan
Todd Flanagan el 8 de Feb. de 2011
Andrew says, "If you like this answer, could you please accept it?"

Iniciar sesión para comentar.


James Tursa
James Tursa el 21 de Mzo. de 2011

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!

Translated by