Integrais triples $\int_{x_1}^{x_2} \int_{y_1}^{y_2} \int_{z_1}^{z_2}f(x,y,z) dz dy dx$

{{{id=0| #auto %hide var('x,y,z') def vv(t): if t in RR: a=(t,) else: a=t.variables() return a @interact def example(f=x^2*sin(z), rango_x='(0,pi)', rango_y='(0,x)', rango_z='(0,x*y)', update=selector(['Update'],buttons =True, label='')): assumptions='[]' xmin, xmax = sage_eval(rango_x,locals={'y':y,'z':z}); ymin, ymax = sage_eval(rango_y,locals={'x':x,'z':z}); zmin, zmax = sage_eval(rango_z,locals={'x':x,'y':y}); ass=sage_eval(assumptions,locals={'x':x,'y':y,'z':z}); forget() ass=[x>xmin,xymin,yzmin,z0: for i in range(len(ass)): assume(ass[i]) if xmin in RR and xmax in RR: if ymin in RR and ymax in RR: R=integral(integral(integral(f,z,zmin,zmax),y,ymin,ymax),x,xmin,xmax) else: if (not(z in vv(ymin)) and not(z in vv(ymax))): R=integral(integral(integral(f,z,zmin,zmax),y,ymin,ymax),x,xmin,xmax) else: R=integral(integral(integral(f,y,ymin,ymax),z,zmin,zmax),x,xmin,xmax) if ymin in RR and ymax in RR: if xmin in RR and xmax in RR: R=integral(integral(integral(f,z,zmin,zmax),y,ymin,ymax),x,xmin,xmax) else: if (not(z in vv(xmin)) and not(z in vv(xmax))): R=integral(integral(integral(f,z,zmin,zmax),x,xmin,xmax),y,ymin,ymax) else: R=integral(integral(integral(f,x,xmin,xmax),z,zmin,zmax),y,ymin,ymax) if zmin in RR and zmax in RR: if ymin in RR and ymax in RR: R=integral(integral(integral(f,x,xmin,xmax),y,ymin,ymax),z,zmin,zmax) else: if (not(x in vv(ymin)) and not(x in vv(ymax))): R=integral(integral(integral(f,x,xmin,xmax),y,ymin,ymax),z,zmin,zmax) else: R=integral(integral(integral(f,y,ymin,ymax),x,xmin,xmax),z,zmin,zmax) html('

O valor da integral triple é $%s$

'%latex(R)) num=R.n(digits=6) html('

Unha aproximación numérica é $%s$

'%latex(num)) ///
f 
rango_x 
rango_y 
rango_z 
}}} {{{id=3| /// }}}