#auto
%hide
html('<applet code="LagrangeMultipliersTwoVariables" archive="http://ocw.mit.edu/ans7870/18/18.02/f07/tools/lagrangeMultipliersTwoVariables.jar, http://ocw.mit.edu/ans7870/18/18.02/f07/tools/mk_lib.jar, http://ocw.mit.edu/ans7870/18/18.02/f07/tools/parser_math.jar, http://ocw.mit.edu/ans7870/18/18.02/f07/tools/jcbwt363.jar" width=800 height=450></applet>')
var('x,y,z,l,m')
@interact
def a(funcion =input_box(default=x*y^2), condiciones=input_box(default=[x^2+y^2-10])):
cond=False
if len(condiciones)==2:
if z in condiciones[1].variables():
cond=True
if z in funcion.variables() or z in condiciones[0].variables() or cond:
if len(condiciones)==2:
L=funcion+l*condiciones[0]+m*condiciones[1]
sol=solve([diff(L,x)==0,diff(L,y)==0,diff(L,z)==0,diff(L,l)==0,diff(L,m)==0],[x,y,z,l,m])
if len(condiciones)==1:
L=funcion+l*condiciones[0]
sol=solve([diff(L,x)==0,diff(L,y)==0,diff(L,z)==0,diff(L,l)==0],[x,y,z,l])
else:
if len(condiciones)==2:
L=funcion+l*condiciones[0]+m*condiciones[1]
sol=solve([diff(L,x)==0,diff(L,y)==0,diff(L,l)==0,diff(L,m)==0],[x,y,l,m])
if len(condiciones)==1:
L=funcion+l*condiciones[0]
sol=solve([diff(L,x)==0,diff(L,y)==0,diff(L,l)==0],[x,y,l])
for i in range(len(sol)):
if z in funcion.variables()or z in condiciones[0].variables() or cond:
show(sol[i][0:3])
else:
show(sol[i][0:2])
|
|
Click to the left again to hide and once more to show the dynamic interactive window
|