how to convert matrix with arrays into vector

2 views (last 30 days)
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 Comment
Adam
Adam on 17 Jul 2017
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?

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 17 Jul 2017
Edited: James Tursa on 17 Jul 2017
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));

More Answers (0)

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!