Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- f[x_] := Sqrt[1 - x^2];(*use this to change the function*)
- Manipulate[
- intervals = N[Table[i, {i, 0, 1, 1/n}]];
- height = Map[f[#] &, intervals];
- pts = Partition[Riffle[intervals, height], 2];
- If[a == "right",
- area = height*1/n;
- areaAll = Total[area];
- tearDrier = Table[{intervals[[i]], 0}, {i, 1, Length[intervals]}];
- rect = Table[{tearDrier[[i - 1]], pts[[i]]}, {i, 1,
- Length[tearDrier]}][[2 ;; -1]]
- ,
- If[a == "left",
- area = height*1/(n - 1);
- areaAll = Total[area];
- tearDrier =
- Table[{intervals[[i]], 0}, {i, 1, Length[intervals]}][[2 ;; -1]];
- rect = Table[{tearDrier[[i]], pts[[i]]}, {i, 1, Length[tearDrier]}]
- ,
- areaAll = Total[midHeight*1/n];
- middle = (#[[1]] + #[[2]])/2 & /@ Partition[intervals, 2, 1];
- midHeight = Map[f[#] &, middle];
- midPts = Partition[Riffle[intervals[[2 ;; -1]], midHeight], 2];
- tearDrier =
- Insert[
- Table[{intervals[[i]], 0}, {i, 1, Length[intervals]}], {0, 0},
- 1][[2 ;; -2]];
- rect =
- Table[{tearDrier[[i]], midPts[[i]]}, {i, 1, Length[tearDrier]}];
- ];
- ];
- Show[
- Plot[f[x], {x, 0, 1},
- PlotRange -> {0, 1},
- AspectRatio -> 1,
- PlotLabel -> Style["Area: " <> ToString[areaAll], Blue]]
- ,
- Graphics[{
- Opacity[0.25],
- EdgeForm[Blue],
- Map[Apply[Rectangle, #] &, rect]}]
- ],
- {n, 2, 200, 1}, {a, {"left", "middle", "right"}}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement