Differences between revisions 88 and 89
 ⇤ ← Revision 88 as of 2017-03-18 15:01:26 → Size: 63134 Editor: mforets Comment: fix DeprecationWarning and an AttributeError in Numerical integrals with the midpoint rule ← Revision 89 as of 2017-03-18 15:09:23 → ⇥ Size: 62874 Editor: mforets Comment: fix typesetting error and a DeprecationWarning in Numerical integrals with various rules Deletions are marked like this. Additions are marked like this. Line 165: Line 165: {{{#!sagecell# by Nick Alexander (based on the work of Marshall Hampton)#find_maximum_on_interval and find_minimum_on_interval are deprecated #use find_local_maximum find_local_minimum instead#see http://trac.sagemath.org/2607 for details -RRubalcabavar('x') {{{#!sagecellvar('x') Line 179: Line 173: t = sage.calculus.calculus.var('t') t = var('t') Line 224: Line 218: html(r'''
\begin{align*}   \int_{a}^{b} {f(x) \, dx} & = %s \\\   \sum_{i=1}^{%s} {f(x_i) \, \Delta x}      & = %s \\\   & = %s \\\   & = %s .    \end{align*}
\begin{align*}   \int_{a}^{b} {f(x) \, dx} & = %s \\\   \sum_{i=1}^{%s} {f(x_i) \, \Delta x} & = %s \\\   & = %s \\\   & = %s . \end{align*}

# Sage Interactions - Calculus

## Root Finding Using Bisection

by William Stein ## Newton's Method

Note that there is a more complicated Newton's method below.

by William Stein ## A contour map and 3d plot of two inverse distance functions

by William Stein ## A simple tangent line grapher

by Marshall Hampton ## Numerical integrals with the midpoint rule

by Marshall Hampton ## Numerical integrals with various rules

by Nick Alexander (based on the work of Marshall Hampton)

{{{#!sagecellvar('x') @interact def midpoint(f = input_box(default = sin(x^2) + 2, type = SR),

• interval=range_slider(0, 10, 1, default=(0, 4), label="Interval"), number_of_subdivisions = slider(1, 20, 1, default=4, label="Number of boxes"), endpoint_rule = selector(['Midpoint', 'Left', 'Right', 'Upper', 'Lower'], nrows=1, label="Endpoint rule")): a, b = map(QQ, interval) t = var('t') func = fast_callable(f(x=t), RDF, vars=[t]) dx = ZZ(b-a)/ZZ(number_of_subdivisions) xs = [] ys = [] for q in range(number_of_subdivisions):
• if endpoint_rule == 'Left':
• xs.append(q*dx + a)
elif endpoint_rule == 'Midpoint':
• xs.append(q*dx + a + dx/2)
elif endpoint_rule == 'Right':
• xs.append(q*dx + a + dx)
elif endpoint_rule == 'Upper':
• x = find_local_maximum(func, q*dx + a, q*dx + dx + a) xs.append(x)
elif endpoint_rule == 'Lower':
• x = find_local_minimum(func, q*dx + a, q*dx + dx + a) xs.append(x)
ys = [ func(x) for x in xs ] rects = Graphics() for q in range(number_of_subdivisions): min_y = min(0, find_local_minimum(func,a,b)) max_y = max(0, find_local_maximum(func,a,b))

# html('<h3>Numerical integrals with the midpoint rule</h3>') show(plot(func,a,b) + rects, xmin = a, xmax = b, ymin = min_y, ymax = max_y) def cap(x):

• # print only a few digits of precision

if x < 1e-4:

• return 0

return RealField(20)(x)

sum_html = "%s \cdot \\left[ %s \\right]" % (dx, ' + '.join([ "f(%s)" % cap(i) for i in xs ])) num_html = "%s \cdot \\left[ %s \\right]" % (dx, ' + '.join([ str(cap(i)) for i in ys ])) numerical_answer = integral_numerical(func,a,b,max_points = 200) estimated_answer = dx * sum([ ys[q] for q in range(number_of_subdivisions)])

pretty_print(html(r <div class="math"> \begin{align*} \int_{a}^{b} {f(x) \, dx} & = %s \\\ \sum_{i=1}^{%s} {f(x_i) \, \Delta x} & = %s \\\ & = %s \\\ & = %s . \end{align*} </div>

}}} ## Some polar parametric curves

by Marshall Hampton. This is not very general, but could be modified to show other families of polar curves. ## Function tool

Enter symbolic functions f, g, and a, a range, then click the appropriate button to compute and plot some combination of f, g, and a along with f and g. This is inspired by the Matlab funtool GUI. ## Newton-Raphson Root Finding

by Neal Holtz

This allows user to display the Newton-Raphson procedure one step at a time. It uses the heuristic that, if any of the values of the controls change, then the procedure should be re-started, else it should be continued. ## Coordinate Transformations (FIXME in Jupyter)

by Jason Grout  ## Taylor Series

by Harald Schilly ## Illustration of the precise definition of a limit

by John Perry

I'll break tradition and put the image first. Apologies if this is Not A Good Thing. ## A graphical illustration of sin(x)/x -> 1 as x-> 0

by Wai Yan Pong by Marshall Hampton. This is pretty simple, so I encourage people to spruce it up. In particular, it isn't set up to show all possible types of quadrics. ## The midpoint rule for numerically integrating a function of two variables

by Marshall Hampton by Jason Grout

The output shows the points evaluated using Gaussian quadrature (using a weight of 1, so using Legendre polynomials). The vertical bars are shaded to represent the relative weights of the points (darker = more weight). The error in the trapezoid, Simpson, and quadrature methods is both printed out and compared through a bar graph. The "Real" error is the error returned from scipy on the definite integral.  ## Vector Calculus, 2-D Motion

By Rob Beezer

A fast_float() version is available in a worksheet ## Vector Calculus, 3-D Motion (FIXME)

by Rob Beezer

Available as a worksheet ## Multivariate Limits by Definition

by John Travis  ## Directional Derivatives

This interact displays graphically a tangent line to a function, illustrating a directional derivative (the slope of the tangent line). ## 3D graph with points and curves

By Robert Marik

This sagelet is handy when showing local, constrained and absolute maxima and minima in two variables. Available as a worksheet ## Approximating function in two variables by differential

by Robert Marik ## Taylor approximations in two variables

by John Palmieri

This displays the nth order Taylor approximation, for n from 1 to 10, of the function sin(x2 + y2) cos(y) exp(-(x2+y2)/2). ## Volumes over non-rectangular domains

by John Travis ## Lateral Surface Area (FIXME in Jupyter)

by John Travis ## Parametric surface example (FIXME in Jupyter)

by Marshall Hampton ## Line Integrals in 3D Vector Field

by John Travis interact/calculus (last edited 2020-08-11 14:10:09 by kcrisman)