Effacer les filtres
Effacer les filtres

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

38 vues (au cours des 30 derniers jours)
Jason
Jason le 7 Oct 2014
Commenté : Amanda le 20 Sep 2023
How do you only sum the positive elements in a vector using an if statement?
  3 commentaires
Jason
Jason le 7 Oct 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 le 7 Oct 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)

Connectez-vous pour commenter.

Réponse acceptée

Mohammad Abouali
Mohammad Abouali le 7 Oct 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 commentaires
Camilo Malagon-Nieto
Camilo Malagon-Nieto le 2 Juin 2017
Modifié(e) : Camilo Malagon-Nieto le 2 Juin 2017
beautifully simple!
Amanda
Amanda le 20 Sep 2023
Hello, I think you are very beutiful. Are you married yet? (; (im over 18!)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by