How do I create a 2D sparse matrix?
10 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Bruno Luong
2011 年 2 月 10 日
A (sparse) matrix can contain numerical elements and nothing else. What exactly you want to do?
採用された回答
Marwa Helemish
2011 年 2 月 10 日
1 件のコメント
Andrew Newell
2011 年 2 月 10 日
Then what do you mean? I suggest editing your original question to clarify it.
その他の回答 (2 件)
Andrew Newell
2011 年 2 月 8 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!