"50aprendiendoaintegrar_1.gif"
por José Luis Gómez Muñoz       
http://www.globalcomputing.com.mx/

¿Que vamos a hacer en esta práctica?

Es posible enseñarle a Mathematica nuevas funciones. En esta práctica supondremos que Mathematica no sabe integrar, entonces crearemos una nueva función, "integral", a la cuál le daremos poco a poco las propiedades de la integración

La nueva función "integral"

Mathematica puede hacer integrales mediante su poderoso comando "Integrate". Sin embargo, supongamos que Mathematica no supiera integrar, y que se lo vamos a enseñar creando una nueva función a la cual llamaremos "integral". Nota que el nombre de esta nueva función comienza con minúscula. Es una buena idea que las nuevas funciones y variables que creamos en  Mathematica comiencen con minúsculas, para distinguirlas facilmente de las funciones y  variables originales de Mathematica, las cuales comienzan con mayúscula.

Primero nos aseguramos que no haya información previa ni valor alguno metido en el nombre "integral", que es el que vamos a utilizar para nuestra función. También vamos a limpiar los nombres de variables que utilizaremos en esta práctica.

"50aprendiendoaintegrar_2.gif"

Para comprobar que no hay nada con el nombre "integral", le solicitamos a Mathematica información sobre la función "integral". Escribe el siguiente comando:

"50aprendiendoaintegrar_3.gif"

Global`integral

Mathematica nos indicó que el nombre "integral" no contiene ningún valor.

Para ver que hace Mathematica con una función desconocida, escribe el comando:

"50aprendiendoaintegrar_4.gif"

"50aprendiendoaintegrar_5.gif"

es decir, Mathematica da como resultado el mismo comando como introducimos, ya que no tiene ninguna información acerca de las propiedades de la función "integral". Como ves, hemos elegido que nuestra función integral tenga dos argumentos, el primero será la expresión a integrar y el segundo la variable de integración.

Introduciendo la linealidad en la función "integral"

Ahora vamos a enseñarle a Mathematica que la integral de una suma es igual a la suma de las integrales. Es decir, vamos a enseñarle a Mathematica que  .

ESCRIBE EL SIGUIENTE  COMANDO, RECUERDA QUE ES MUY IMPORTANTE QUE COPIES EXACTAMENTE, INCLUYENDO LOS GUIONES LARGOS _ SOLO EN EL LADO IZQUIERDO DEL IGUAL, ASI COMO LOS DOS PUNTOS.

"50aprendiendoaintegrar_6.gif"

Mathematica no produjo ningun resultado en el comando anterior, pero ahora Mathematica sabe esta nueva regla.

"50aprendiendoaintegrar_7.gif"

Global`integral

integral[y_+z_,u_]:=integral[y,u]+integral[z,u]

Para comprobarlo, escribe el comando:

"50aprendiendoaintegrar_8.gif"

"50aprendiendoaintegrar_9.gif"

Mathematica convirtió a la integral de la suma en la suma de las integrales. Ahora vamos a enseñarle a Mathematica que una constante multiplicando sale de la integral, es decir    ∫cydx=c∫ydx.

Escribe el siguiente comando:

"50aprendiendoaintegrar_10.gif"

Mathematica no produjo ningun resultado en el comando anterior, pero ahora Mathematica sabe esta nueva regla.

"50aprendiendoaintegrar_11.gif"

Global`integral

integral[y_+z_,u_]:=integral[y,u]+integral[z,u]
integral[c_ y_,u_]:=c integral[y,u]/;FreeQ[c,u]

Este comando intruye a Mathematica a sacar multiplicando a las constantes que no dependen de x. Mathematica no produce ningun resultado, pero ahora Mathematica sabe esta nueva regla.

Para comprobarlo, escribe el comando:

"50aprendiendoaintegrar_12.gif"

"50aprendiendoaintegrar_13.gif"

Mathematica convirtió a la integral de la suma en la suma de las integrales y luego sacó las constantes. Juntas, ambas reglas constituyen la propiedad de linealidad: ∫(ay+bz)dx=a ∫ydx+b∫zdx,con a y b constantes.

Integración de una constante

Ahora le enseñaremos a Mathematica que ∫cdx=cx.

Escribe el siguiente comando:

"50aprendiendoaintegrar_14.gif"

Mathematica no produjo ningun resultado en el comando anterior, pero ahora Mathematica sabe esta nueva regla.

"50aprendiendoaintegrar_15.gif"

Global`integral

integral[y_+z_,u_]:=integral[y,u]+integral[z,u]
integral[c_ y_,u_]:=c integral[y,u]/;FreeQ[c,u]
integral[c_,u_]:=c u/;FreeQ[c,u]

Mathematica ya sabe como integrar una constante:

"50aprendiendoaintegrar_16.gif"

"50aprendiendoaintegrar_17.gif"

Integración de "50aprendiendoaintegrar_18.gif"con n diferente de -1

Ahora le enseñaremos a Mathematica que "50aprendiendoaintegrar_19.gif"para "n" diferente de "-1".

Escribe el siguiente comando (ES IMPORTANTE EL PUNTO PEGADO AL GUION EN LA ENE: "n_.", PARA QUE SE INCLUYA EL CASO EN QUE ENE VALE UNO):

"50aprendiendoaintegrar_20.gif"

Mathematica no produjo ningun resultado en el comando anterior, pero ahora Mathematica sabe esta nueva regla.

"50aprendiendoaintegrar_21.gif"

Global`integral

integral[y_+z_,u_]:=integral[y,u]+integral[z,u]
integral[c_ y_,u_]:=c integral[y,u]/;FreeQ[c,u]
integral[c_,u_]:=c u/;FreeQ[c,u]
"50aprendiendoaintegrar_22.gif"

Para comprobarlo escribe el comando:

"50aprendiendoaintegrar_23.gif"

"50aprendiendoaintegrar_24.gif"

Integración de 1/(a * x + b)

Ahora le enseñaremos a Mathematica que "50aprendiendoaintegrar_25.gif" para "a" y "b" constantes

Escribe el siguiente comando (ES IMPORTANTE EL PUNTO PEGADO AL GUION EN LA A: "a_." Y EN LA B: "b_." , PARA QUE SE INCLUYAN LOS CASOS EN QUE A VALE UNO Y/O B VALE CERO):

"50aprendiendoaintegrar_26.gif"

Mathematica no produjo ningun resultado en el comando anterior, pero ahora Mathematica sabe esta nueva regla.

"50aprendiendoaintegrar_27.gif"

Global`integral

integral[y_+z_,u_]:=integral[y,u]+integral[z,u]
integral[c_ y_,u_]:=c integral[y,u]/;FreeQ[c,u]
integral[c_,u_]:=c u/;FreeQ[c,u]
"50aprendiendoaintegrar_28.gif"
"50aprendiendoaintegrar_29.gif"

Mathematica  ya sabe como integrar 1/x :

"50aprendiendoaintegrar_30.gif"

"50aprendiendoaintegrar_31.gif"

Nota: En caso de que no obtengas el resultado correcto, quizás hayas introducido alguna regla equivocada. La forma más sencilla de corregir es repetir todo desde el Clear[integral], que borra toda la información en el nombre integral, y escribiendo y evaluando otra vez todas las reglas.

Probando la nueva función "integral"

Con las reglas que se han incluido en la función "integral" es ahora posible integrar expresiones como  "50aprendiendoaintegrar_32.gif".

Escribe el siguiente comando

"50aprendiendoaintegrar_33.gif"

"50aprendiendoaintegrar_34.gif"

Vamos a solicitar información acerca de la función integral

"50aprendiendoaintegrar_35.gif"

Global`integral

integral[y_+z_,u_]:=integral[y,u]+integral[z,u]
integral[c_ y_,u_]:=c integral[y,u]/;FreeQ[c,u]
integral[c_,u_]:=c u/;FreeQ[c,u]
"50aprendiendoaintegrar_36.gif"
"50aprendiendoaintegrar_37.gif"

Ejercicio

Enseñale a Mathematica que  "50aprendiendoaintegrar_38.gif"  ; SIEMPRE Y CUANDO "a" Y  "b"  NO DEPENDAN DE  "x".

Integra algunas funciones ejemplo para mostrar que le enseñaste bien a Mathematica.

"50aprendiendoaintegrar_39.gif"

"50aprendiendoaintegrar_40.gif"
Autor: José Luis Gómez Muñoz

     Global Computing S. A. de C. V.
Florencia 57 Piso 10-01
Col. Juárez C.P. 06600
México D.F.
México
+52-(0)55-5525-2215
Fax: +52-(0)55-5514-4225

Adriana Vadillo avadillo@mx.inter.net

Hector Vadillo  hector.vadillo@prodigy.net.mx

http://www.globalcomputing.com.mx/

Spikey Created with Wolfram Mathematica 6