@Gradiente, curvas de nivel e campo gradiente de funcións de dúas variable
system:sage


<CENTER>
<HR>
<H3>Gradiente, curvas de nivel e campo gradiente de funcións de dúas variables $f(x,y)$</H3>
</CENTER>

{{{id=0|
#auto
%hide
var('x,y')
@interact
def _(f =input_box(default=x^2/9+y^2/4), rango_x='(-2, 2)', rango_y='(-2,2)',
num_curvas=slider(1,9,1,3)):
    xmin, xmax = sage_eval(rango_x); ymin, ymax = sage_eval(rango_y)
    html('<h3>O vector gradiente nun punto xenérico é $%s$ </h3>' %latex([f.diff(x),f.diff(y)]))
    cont=contour_plot(f,(x,xmin,xmax),(y,ymin,ymax),cmap='prism', fill=False,contours=num_curvas)
    campo=plot_vector_field([f.diff(x),f.diff(y)],(x,xmin,xmax),(y,ymin,ymax))
    show(cont+campo, aspect_ratio=1)
///
<html><!--notruncate--><div padding=6 id='div-interact-0'> <table width=800px height=20px bgcolor='#c5c5c5'
                 cellpadding=15><tr><td bgcolor='#f9f9f9' valign=top align=left><table><tr><td align=right><font color="black">f&nbsp;</font></td><td><input type='text' value="1/9*x^2 + 1/4*y^2" size=80 onchange='interact(0, "_interact_.update(0, \"f\", 1, _interact_.standard_b64decode(\""+encode64(this.value)+"\"), globals());_interact_.recompute(0)")'></input></td></tr>
<tr><td align=right><font color="black">rango_x&nbsp;</font></td><td><input type='text' value="(-2, 2)" size=80 onchange='interact(0, "_interact_.update(0, \"rango_x\", 2, _interact_.standard_b64decode(\""+encode64(this.value)+"\"), globals());_interact_.recompute(0)")'></input></td></tr>
<tr><td align=right><font color="black">rango_y&nbsp;</font></td><td><input type='text' value="(-2,2)" size=80 onchange='interact(0, "_interact_.update(0, \"rango_y\", 3, _interact_.standard_b64decode(\""+encode64(this.value)+"\"), globals());_interact_.recompute(0)")'></input></td></tr>
<tr><td align=right><font color="black">num_curvas&nbsp;</font></td><td><table><tr><td>
        <div id='slider-num_curvas-0' style='margin:0px; margin-left: 1.0em; margin-right: 1.0em; width: 15.0em;'></div>
        </td><td><font color='black' id='slider-num_curvas-0-lbl'></font></td></tr></table><script>(function(){ var values = ["1","2","3","4","5","6","7","8","9"]; setTimeout(function() {
    $('#slider-num_curvas-0').slider({
        step: 1, min: 0, max: 8, value: 2,
        change: function (e,ui) { var position = ui.value; if(values!=null) $('#slider-num_curvas-0-lbl').text(values[position]); interact(0, "_interact_.update(0, \"num_curvas\", 4, _interact_.standard_b64decode(\""+encode64(position)+"\"), globals());_interact_.recompute(0)"); },
        slide: function(e,ui) { if(values!=null) $('#slider-num_curvas-0-lbl').text(values[ui.value]); }
    });
    if(values != null) $('#slider-num_curvas-0-lbl').text(values[$('#slider-num_curvas-0').slider('value')]);
    }, 1); })();</script></td></tr>
</table><div id='cell-interact-0'><?__SAGE__START>
        <table border=0 bgcolor='#white' width=100% height=100%>
        <tr><td bgcolor=white align=left valign=top><pre><?__SAGE__TEXT></pre></td></tr>
        <tr><td  align=left valign=top><?__SAGE__HTML></td></tr>
        </table><?__SAGE__END></div></td>
                 </tr></table></div>
                 </html>
}}}

{{{id=2|

///
}}}