Advertisement
ellenlee218

Riemann Sum Finder

Jan 31st, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. f[x_] := Sqrt[1 - x^2];(*use this to change the function*)
  2. Manipulate[
  3. intervals = N[Table[i, {i, 0, 1, 1/n}]];
  4. height = Map[f[#] &, intervals];
  5. pts = Partition[Riffle[intervals, height], 2];
  6. If[a == "right",
  7. area = height*1/n;
  8. areaAll = Total[area];
  9. tearDrier = Table[{intervals[[i]], 0}, {i, 1, Length[intervals]}];
  10. rect = Table[{tearDrier[[i - 1]], pts[[i]]}, {i, 1,
  11. Length[tearDrier]}][[2 ;; -1]]
  12. ,
  13. If[a == "left",
  14. area = height*1/(n - 1);
  15. areaAll = Total[area];
  16. tearDrier =
  17. Table[{intervals[[i]], 0}, {i, 1, Length[intervals]}][[2 ;; -1]];
  18. rect = Table[{tearDrier[[i]], pts[[i]]}, {i, 1, Length[tearDrier]}]
  19. ,
  20. areaAll = Total[midHeight*1/n];
  21. middle = (#[[1]] + #[[2]])/2 & /@ Partition[intervals, 2, 1];
  22. midHeight = Map[f[#] &, middle];
  23. midPts = Partition[Riffle[intervals[[2 ;; -1]], midHeight], 2];
  24. tearDrier =
  25. Insert[
  26. Table[{intervals[[i]], 0}, {i, 1, Length[intervals]}], {0, 0},
  27. 1][[2 ;; -2]];
  28. rect =
  29. Table[{tearDrier[[i]], midPts[[i]]}, {i, 1, Length[tearDrier]}];
  30. ];
  31. ];
  32. Show[
  33. Plot[f[x], {x, 0, 1},
  34. PlotRange -> {0, 1},
  35. AspectRatio -> 1,
  36. PlotLabel -> Style["Area: " <> ToString[areaAll], Blue]]
  37. ,
  38. Graphics[{
  39. Opacity[0.25],
  40. EdgeForm[Blue],
  41. Map[Apply[Rectangle, #] &, rect]}]
  42. ],
  43. {n, 2, 200, 1}, {a, {"left", "middle", "right"}}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement