Dear readers of this group, I wrote a simple sagelet which describes
approximation of a function in two variabels using differential. The
sagelet is published at http://www.sagenb.org/home/pub/298/

I hope, somebody finds it useful in her/his courses.

Any suggestions are welcomed.

Robert Marik

---------------
code:

x,y=var('x y')
html('<h2>Explaining approximation of a function in two \
variables by differential</h2>')
html('Points x0 and y0 are values where the exact value of the
function \
is known. Deltax and Deltay are displacements of the new point. Exact
value \
and approximation by differential at shifted point are compared.')
@interact
def _(func=input_box('sqrt(x^3+y^3)',label="f(x,y)=",type=str), x0=1,
y0=2, \
 deltax=slider(-1,1,0.01,0.2),\
 deltay=slider(-1,1,0.01,-0.4), xmin=0, xmax=2, ymin=0, ymax=3):
 f=sage_eval('lambda x,y: ' + func)
 derx(x,y)=diff(f(x,y),x)
 dery(x,y)=diff(f(x,y),y)
 tangent(x,y)=f(x0,y0)+derx(x0,y0)*(x-x0)+dery(x0,y0)*(y-y0)
 A=plot3d(f(x,y),(x,xmin,xmax),(y,ymin,ymax),opacity=0.5)
 B=plot3d(tangent(x,y),(x,xmin,xmax),
(y,ymin,ymax),color='red',opacity=0.5)
 C=point3d((x0,y0,f(x0,y0)),rgbcolor='blue',size=9)
 CC=point3d((x0+deltax,y0+deltay,f
(x0+deltax,y0+deltay)),rgbcolor='blue',size=9)
 D=point3d((x0+deltax,y0+deltay,tangent
(x0+deltax,y0+deltay)),rgbcolor='red',size=9)
 exact_value_ori=f(x0,y0).n(digits=10)
 exact_value=f(x0+deltax,y0+deltay)
 approx_value=tangent(x0+deltax,y0+deltay).n(digits=10)
 abs_error=(abs(exact_value-approx_value))
 html(r'Function $ f(x,y)=%s \approx %s $ '%(latex(f(x,y)),latex
(tangent(x,y))))
 html(r' $f %s = %s$'%(latex((x0,y0)),latex(exact_value_ori)))
 html(r'Shifted point $%s$'%latex(((x0+deltax),(y0+deltay))))
 html(r'Value of the function in shifted point is $%s$'%f
(x0+deltax,y0+deltay))
 html(r'Value on the tangent plane in shifted point is $%s$'%latex
(approx_value))
 html(r'Error is $%s$'%latex(abs_error))
 show(A+B+C+CC+D)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-edu" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-edu?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to