How do I create a 2D sparse matrix?
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Bruno Luong
il 10 Feb 2011
A (sparse) matrix can contain numerical elements and nothing else. What exactly you want to do?
Risposta accettata
Marwa Helemish
il 10 Feb 2011
1 Commento
Andrew Newell
il 10 Feb 2011
Then what do you mean? I suggest editing your original question to clarify it.
Più risposte (2)
Andrew Newell
il 8 Feb 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 Commenti
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!