Simpsons rule function error

6 views (last 30 days)
Oliver Wilson
Oliver Wilson on 29 Mar 2021
Edited: Oliver Wilson on 9 Apr 2021
Ive attempted to code Simpsons Rule
and this my code
with x(1) and x(2) the lower and upper bounds. However for some reason with the following input "S = simpson_rule( @sin, [0,pi], 10 )" i get the same error saying the index exceeds the number of array elements. This problem seems to disappear when i remove f(x(2)) from my code in the final sum. Any suggestions would be great

Accepted Answer

the cyclist
the cyclist on 29 Mar 2021
In this line of code:
x=x(1)+h*(2*k-1);
you have set x to a scalar value, so when you try to access x(2) in this line of code:
S=h*(f(x(1))+f(x(2))+4*s1+2*s2)/3;
that 2nd element does not exist.
  2 Comments
Oliver Wilson
Oliver Wilson on 29 Mar 2021
Thank you very much but im a novice and unsure of how to fix this so any suggestions would be great
the cyclist
the cyclist on 29 Mar 2021
My suggestion would be to comment your code, to state exactly what you intend it to be doing.
That will help other (and you!) understand what is supposed to be happening with the code, and perhaps understand why what you intend is not what the code is actually doing.

Sign in to comment.

More Answers (0)

Categories

Find more on Downloads 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!