# find the sum by function

4 views (last 30 days)

Show older comments

find the sum by function

##### 1 Comment

Sriram Tadavarty
on 29 Jul 2020

### Answers (2)

Cristian Garcia Milan
on 29 Jul 2020

I think that your problem is the function definition. Actually you are using total as input and v as output and I think that your intention is the opposite. The function should be:

function [total]=grade_eyad(v)

min(v);

mean(v);

v(min(v))=mean(v);

total=sum(v)

end

When you have these code saved, you can use:

v=[12 9 6 10 13];

total=grade_eyad(v)

Johannes Hougaard
on 29 Jul 2020

function total = grade_eyad(v)

[~,idx] = min(v); %finding the position of the minimum value (3 in the given example)

v(idx) = mean(v); %replacing the value (Christians code will replace the 6th element (13)

total = sum(v);

end

or you could index in another way (will be better if there are more 6'es to be replaced)

function total = grade_eyad(v)

v(v == min(v)) = mean(v); % find all instances where v equals min(v) by the == operator and replace by mean(v)

total = sum(v);

end

##### 2 Comments

Johannes Hougaard
on 12 Aug 2020

save the function as grade_eyad.m

Then you'll be able to call it from your workspace with an output with any name you like and with alterations to v (or use another variable name if desired).

v = [12 9 6 10 13];

total = grade_eyad(v)

w = [12 8 5 8 8 6 8 10 13 10 11];

total_w = grade_eyad(v)

### See Also

### Community Treasure Hunt

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

Start Hunting!