Basic use of sum command help
26 views (last 30 days)
Show older comments
Daniel Millam
on 30 Mar 2015
Edited: John D'Errico
on 30 Mar 2015
Recall that a geometric sum is a sum of the form a + ar + ar2 + ar3 + . . ..
(a) Write a function file that accepts the values of r, a and n as arguments and uses a for loop to return the sum of the first n terms of the geometric series. Test your function for a = 3, r = 1/2 and n = 10.
S = 0;
a=3;
r=1/2;
for n=0:1:10;
S=S+a*r^n;
end
S
This works, So I'm good here.
(b) Write a function file that accepts the values of r, a and n as arguments and uses the built in command sum to find the sum of the first n terms of the geometric series. Test your function for a = 3, r = 1/2 and n = 10. Hint: Start by defining the vector e=0:n-1 and then evaluate the vector R = r.^e. It should be easy to figure out how to find the sum from there
This is where I am stuck. Keep in mind that I have only been using MATLAB for about a week now. Any help is appreciated, I don't even know where I should start with this. Thank you.
0 Comments
Accepted Answer
Image Analyst
on 30 Mar 2015
Declare the function
function theSum = yourFunctionName(r, a, n)
In the function get rid of the "for" loop - just have n=0:1:10;
Then use .^ instead of ^. Then a few more little things you can get rid of - hopefully you can figure those out.
That should be more than enough hints for you to complete it.
More Answers (1)
John D'Errico
on 30 Mar 2015
Edited: John D'Errico
on 30 Mar 2015
Ok, you did a decent job on the loop. Now it is time to learn how NOT to use a loop. :)
What if you create a vector n?
r = 0.5;
a = 3;
n = 10;
e = 0:1:(n-1);
Now, suppose you considered the vector:
a*r.^e
What would the elements of that vector represent?
What would result if you applied sum to that vector? Thus,
S = sum(a*r.^e);
Effectively, we have avoided the explicit for loop, working on vectors of elements instead.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!