Un saludo cordial para cada uno. Les agradecería una ayuda con lo siguiente: Debo trabajar con una función de varias variabes, digamos f(x,y,z). ¿Cómo definir la función para usarla luego con ''integrate'' de forma tal que pueda fijar dos valores, ''y'' y ''z'', por ejemplo, e indicar los límites de integración para la variable que queda libre? Ejemplo. La intención es calclular integrate(f(x,5,-1),0,5), donde 0 y 5 son los límites de la integral en ''x''. Gracias. César Escalante [[alternative HTML version deleted]]
Buenas tardes Cesar, Esta es una manera de hacerlo: 1. Define la función a integrar 2. Construye una función que calcule la intergral y cuyos sean, por ejemplo, el integrando y los limites de la integral. A continuación un ejemplo: # Función a integrar integrando <- function(x) 1/sqrt(x) # Función para hacer la intregración # -- Los argumentos son la función a intergrar (integ), y los limites # -- inferior (a) y superior (b) de la integral miint <- function(integ, a, b) integrate(integ, lower = a, upper = b) # Resultdos numéricos miint(integrando, 1, 2) # 0.8284271 with absolute error < 9.2e-15 Otras aproximaciones a este problema son tratadas en Ryacas desarrollado por Goedman, Grothendieck, Højsgaard, y Pinkus < http://cran.r-project.org/web/packages/Ryacas/index.html>. Espero sea de utilidad, Jorge Ivan Velez 2009/10/27 Cesar Escalante <>> Un saludo cordial para cada uno. > > Les agradecería una ayuda con lo siguiente: > > Debo trabajar con una función de varias variabes, digamos f(x,y,z). ¿Cómo > definir la función para usarla luego con ''integrate'' de forma tal que pueda > fijar dos valores, ''y'' y ''z'', por ejemplo, e indicar los límites de > integración para la variable que queda libre? > > Ejemplo. La intención es calclular integrate(f(x,5,-1),0,5), donde 0 y 5 > son > los límites de la integral en ''x''. > > Gracias. > > César Escalante > > [[alternative HTML version deleted]] > > > ______________________________ _________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Hola de nuevo Cesar, También podrías hacer lo siguiente: # Ejemplo miint(function(x) 1/sqrt(x), 1, 2) # miint fue definida previamente # 0.8284271 with absolute error < 9.2e-15 En este caso la función a integrar está definida _dentro_ de miint (antes la definimos externamente). El resultado es el mismo, así que utilizar una u otra opción depende de tus objetivos. Saludos, Jorge Ivan Velez 2009/10/27 Jorge Ivan Velez <>> Buenas tardes Cesar, > > Esta es una manera de hacerlo: > > 1. Define la función a integrar > 2. Construye una función que calcule la intergral y cuyos sean, por > ejemplo, el integrando y los limites de la integral. > > A continuación un ejemplo: > > # Función a integrar > integrando <- function(x) 1/sqrt(x) > > # Función para hacer la intregración > # -- Los argumentos son la función a intergrar (integ), y los limites > # -- inferior (a) y superior (b) de la integral > miint <- function(integ, a, b) integrate(integ, lower = a, upper = b) > > # Resultdos numéricos > miint(integrando, 1, 2) > # 0.8284271 with absolute error < 9.2e-15 > > Otras aproximaciones a este problema son tratadas en Ryacas desarrollado > por Goedman, Grothendieck, Højsgaard, y Pinkus < > http://cran.r-project.org/web/packages/Ryacas/index.html>. > > Espero sea de utilidad, > > Jorge Ivan Velez > > > 2009/10/27 Cesar Escalante <> > >> Un saludo cordial para cada uno. >> >> Les agradecería una ayuda con lo siguiente: >> >> Debo trabajar con una función de varias variabes, digamos f(x,y,z). ¿Cómo >> definir la función para usarla luego con ''integrate'' de forma tal que >> pueda >> fijar dos valores, ''y'' y ''z'', por ejemplo, e indicar los límites de >> integración para la variable que queda libre? >> >> Ejemplo. La intención es calclular integrate(f(x,5,-1),0,5), donde 0 y 5 >> son >> los límites de la integral en ''x''. >> >> Gracias. >> >> César Escalante >> >> [[alternative HTML version deleted]] >> >> >> ______________________________ _________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >[[alternative HTML version deleted]]
Hola, ¿qué tal? Si integrando <- function(x,y,z) 1/sqrt(x*(y+z)) entonces puedes definir mi.integrate <- function( foo, a, b, ... ) integrate( function( asdf ) foo(asdf,...), a, b ) Entonces, obtienes> mi.integrate( integrando, 1, 4, y = 2, z = 3 )0.89443 with absolute error < 2.3e-12> mi.integrate( integrando, 1, 4, x = 2, z = 3 )0.91323 with absolute error < 1.0e-14 ¿Era eso lo que querías? En todo caso, tienes que tener cuidado en evitar la colisión en los nombres de los parámetros si quieres que la idea anterior funcione "urbi et orbi". Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com On Tue, 2009-10-27 at 10:59 -0500, Cesar Escalante wrote:> Un saludo cordial para cada uno. > > Les agradecera una ayuda con lo siguiente: > > Debo trabajar con una funcin de varias variabes, digamos f(x,y,z). Cmo > definir la funcin para usarla luego con 'integrate' de forma tal que pueda > fijar dos valores, 'y' y 'z', por ejemplo, e indicar los lmites de > integracin para la variable que queda libre? > > Ejemplo. La intencin es calclular integrate(f(x,5,-1),0,5), donde 0 y 5 son > los lmites de la integral en 'x'. > > Gracias. > > Csar Escalante > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es