Filter löschen
Filter löschen

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

38 Ansichten (letzte 30 Tage)
How do you only sum the positive elements in a vector using an if statement?
  3 Kommentare
Jason
Jason am 7 Okt. 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 am 7 Okt. 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)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mohammad Abouali
Mohammad Abouali am 7 Okt. 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 Kommentare
Amanda
Amanda am 20 Sep. 2023
Hello, I think you are very beutiful. Are you married yet? (; (im over 18!)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by