how to convert matrix with arrays into vector
1 回表示 (過去 30 日間)
古いコメントを表示
I have this type of matrix
(2,1) 1.1348
(5,1) 0.49237
(1,2) 1.1348
(3,2) 0.65578
(4,2) 0.38773
(5,2) 0.25027
(2,3) 0.65578
(4,3) 0.33932
(2,4) 0.38773
(3,4) 0.33932
(5,4) 0.63002
(7,4) 0.11975
(9,4) 0.053962
So I am trying to get the vectors and use them in my program such as 1.1348, so how to convert the previous vector into regular vector like this
1.1348
0.49237
1.1348
0.65578
0.38773
0.25027
0.65578
0.33932
0.38773
0.33932
0.63002
0.11975
0.053962
1 件のコメント
Adam
2017 年 7 月 17 日
I don't understand what your first type of matrix means. Are (2,1) etc the locations of points and the rest are 0s or is it a sparse matrix or some other meaning?
採用された回答
James Tursa
2017 年 7 月 17 日
編集済み: James Tursa
2017 年 7 月 17 日
Looks like you are working with a sparse matrix. To get the non-zero values into a column vector you could do this:
S = your sparse matrix
result = full(S(find(S)));
or another way
result = full(S(S~=0));
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!