MATLAB Answers

0

How can I count how many numbers are different from '-1'?

Asked by Davide Conti on 1 Nov 2019
Latest activity Commented on by Walter Roberson
on 5 Nov 2019
Hi,
Example: Suppose we a have a matrix A
A= [1 -1 0 -1 0 0 -1 0 -1 -1 -1 -1 -1 -1 -1]
How can I count how many numbers are different from '-1'?

  2 Comments

Search for how many negative number exists in A. than subtract that from length of array. Or Write a loop for how many positive number exists in array.
Code attached below:
Close all;
clear all;
A= [1 -1 0 -1 0 0 -1 0 -1 -1 -1 -1 -1 -1 -1];
count = 0;
for i = 1: length(A)
if(A(i)>=0)
count = count +1;
end
end
Ok thanks, but if i wanted to do it for every line of my matrix?
For examples:
1 -1 0 -1 0 0 -1 0 -1
4 2 3 -1 0 3 1 2 -1
in this case for the first row the numbers different form '-1' are 5, in the second row they are 7.
With your loop it comes out that in the second row they are 12, because it considers the first row.

Sign in to comment.

2 Answers

Answer by Fangjun Jiang
on 1 Nov 2019

start with B=A~=-1

  1 Comment

And then sum() along the appropriate axis.

Sign in to comment.


Answer by Pedro Martinez on 1 Nov 2019

Total = sum (A==-1);

  1 Comment

That gives the number of rows of -1 but the user wants the number of columns that are not -1

Sign in to comment.