Solving Simpson's 3/8 Rule Problems with Matlab SV7

  • Thread starter Thread starter arizonian
  • Start date Start date
AI Thread Summary
The discussion revolves around issues with implementing Simpson's 3/8 rule in Matlab for numerical integration. The original code provided by the user has a misunderstanding regarding the weights assigned to the endpoints and middle points, specifically that the final sum should be multiplied by 3/8 instead of 1/8. A user pointed out that the code does not yield the correct answer, prompting a clarification on the weight distribution. Additionally, there are inquiries about errors related to the variable initialization in the code. Overall, the conversation highlights common pitfalls in coding numerical methods and the importance of correctly applying mathematical principles.
arizonian
Messages
18
Reaction score
2
I am having problems in Numerical Methods with Simpson's 3/8 rule of integration. Of course, this is computer driven. The code that I have written for Matlab (SV7) goes as such:

1) function simpson38(f,n,a,b)
2) h = (b-a)/n;
3) x = a;
4) sum = f(x);
5) for i = 1:3:(n-3)
6) x = x + h;
7) sum = sum + 3 * f(x);
8) x = x + h;
9) sum = sum + 3 * f(x);
10) x = x + h
11) sum = sum + 2* f(x);
12) end
13) x = x + h;
14) sum = sum + 3 * f(x);
15) x = x + h;
16) sum = sum + 3 * f(x);
17) x = x + h
18) sum = sum + f(b);
19) I = (b-a) * sum/(8*n)


f = the function to be integrated, n = number of points, h = the stepsize, i is a counter, and sum is the sum of the values. a and b are the endpoints. I = the final integrated value.

If I am reading the book right, the middle points are given a weight of 3/8 each, with the end points given a weight of 1/8. With that in mind, line 11 should be weighted 2/8 (end point from 2 directions) unless it is the final endpoint.

What am I missing?

Thanks
Bill
 
Physics news on Phys.org
Tell me the problem. The code does not give correct answer?
I think you need to multiply your final sum by 3/8 not just 1/8 (hence the name 3/8 rule).
 
kakarukeys,

Thank you, you are spot on.

Bill
 
why is x=a; showing an error when i tried to use this code
 
Hello people i m looking or Simpsons 3/8th rule which can be used for Normal table calculation in C++...need urgent help
 
TL;DR Summary: I came across this question from a Sri Lankan A-level textbook. Question - An ice cube with a length of 10 cm is immersed in water at 0 °C. An observer observes the ice cube from the water, and it seems to be 7.75 cm long. If the refractive index of water is 4/3, find the height of the ice cube immersed in the water. I could not understand how the apparent height of the ice cube in the water depends on the height of the ice cube immersed in the water. Does anyone have an...
Thread 'Variable mass system : water sprayed into a moving container'
Starting with the mass considerations #m(t)# is mass of water #M_{c}# mass of container and #M(t)# mass of total system $$M(t) = M_{C} + m(t)$$ $$\Rightarrow \frac{dM(t)}{dt} = \frac{dm(t)}{dt}$$ $$P_i = Mv + u \, dm$$ $$P_f = (M + dm)(v + dv)$$ $$\Delta P = M \, dv + (v - u) \, dm$$ $$F = \frac{dP}{dt} = M \frac{dv}{dt} + (v - u) \frac{dm}{dt}$$ $$F = u \frac{dm}{dt} = \rho A u^2$$ from conservation of momentum , the cannon recoils with the same force which it applies. $$\quad \frac{dm}{dt}...
Back
Top