Borrar filtros
Borrar filtros

How to sum only the positive elements in a vector using an If-Statement?

22 visualizaciones (últimos 30 días)
How do you only sum the positive elements in a vector using an if statement?
  3 comentarios
Jason
Jason el 7 de Oct. de 2014
function result = sumPositive(vector)
%-------------------------------------------------
result = 0;
for k = 1:1:length(vector)
if (vector(k) >= 0)
result = result + sum(vector(k));
end
end
and the test program is
clear;
clc;
close all;
% Test 1 for sum of only postive integers
vector = [10, -5, 0, 12, 14];
result = sumPositive(vector);
disp('The sum of the positive elements is: ')
disp(result)
What I'm not sure of is I need to put a statement to skip the negative numbers or how would I deal with those?
Geoff Hayes
Geoff Hayes el 7 de Oct. de 2014
Jason - your code above looks good. The statement if (vector(k) >= 0) will ensure that you only add positive numbers to your result local variable.
Note that in your line
result = result + sum(vector(k));
you don't need the sum function, since vector(k) is a single element. The above can be replaced with just
result = result + vector(k);
Note also, that the default step size, for loops, is 1. So the
for k = 1:1:length(vector)
can be replaced with
for k = 1:length(vector)

Iniciar sesión para comentar.

Respuesta aceptada

Mohammad Abouali
Mohammad Abouali el 7 de Oct. de 2014
You can do that without if
let's say d is your array of positive and negative numbers. You want to sum only the positive ones then just do this:
sum(d(d>0))
  3 comentarios
Amanda
Amanda el 20 de Sept. de 2023
Hello, I think you are very beutiful. Are you married yet? (; (im over 18!)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by