Capturing non-zeros elements in matrix

Let's say we have a matrix A.From matrix A, I want to remove zeros and create another elements,capturing only non-zeros values. Can you please show me how to perform the above operation.

回答(3 个)

A = [0 2 3; 4 3 0]
B = A(A ~= 0);
Now B is a vector, not a matrix anymore.
A=[0 2 3; 4 3 0]
find(A)

2 个评论

That would give you the locations of the non-zero elements, but would not in itself create a new array with the non-zero elements. Similar to Jan's answer, this would have to be extended to
B = A(find(A))
@Walter: Of course. I'm sure that Andreas believes in the power of the OP to find this obvious solutionby himself.

请先登录,再进行评论。

类别

帮助中心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!

Translated by