Prácticas de Mathematica. Diplomatura de Óptica y Optometría. Cuarta Práctica. Integrales. Vectores. Mathematica es capaz de calcular bastantes integrales indefinidas, mediante la orden Integrate[función, variable] por ejemplo: Integrate@Cos@xD, xD Sin@xD aunque también se puede introducir utilizando la "palette": ‡ Sin@xD ‚ x -Cos@xD Es posible, a veces, que no obtengamos un resultado explícito, por ejemplo: ‡ Sin@xD ê x ‚ x SinIntegral@xD Sin embargo, podemos calcular el valor en un punto concreto de la función obtenida: practica40506.nb 2 N@SinIntegral@2DD 1.60541 Para el cálculo de integrales definidas la orden es: Integrate[función,{variable,extremoinferior, extremosuperior}] por ejemplo: Integrate@Cos@xD, 8x, 0, Pi ê 2<D 1 o bien introducirla con la "palette": ‡ Piê2 Cos@xD ‚ x 0 1 Es posible que Mathematica no "sepa" calcular algunas primitivas o algunas integrales definidas; no obstante siempre podemos calcular una aproximación numérica mediante la orden: NIntegrate[función,{variable,extremoinferior,extremosuperior} por ejemplo: Integrate@Exp@x ^3 + xD, xD x+x „x ‡ ‰ 3 no obtenemos nada, pero podemos conocer una aproximación numérica: practica40506.nb 3 NIntegrate@Exp@x^3 + xD, 8x, 0, 2<D 1846.36 à Resolución de ecuaciones diferenciales. Para las ecuaciones diferenciales disponemos de un comando para resoluciones algebraicas y otro para resoluciones numéricas, respectivamente "DSolve" y "NDSolve". El comando "DSolve" da la expresión explícita de las soluciones de la ecuación: DSolve@ y '@xD − 2 x y@xD == 2 x Exp@x ^ 2D, y@xD, xD 99y@xD → Ex x2 + Ex C@1D== 2 2 Si hay condiciones iniciales, se pueden poner a continuación de la ecuación diferencial, agrupando todas las ecuaciones mediante llaves. Por ejemplo, si a la ecuación anterior le exigimos la condición inicial y(0)=1, DSolve@8y '@xD − 2 x y@xD == 2 x Exp@x ^ 2D, y@0D == 1<, y@xD, xD 99y@xD → Ex H1 + x2 L== 2 Hay que tener en cuenta que el Mathematica también utiliza las funciones especiales para expresar las soluciones de las ecuaciones diferenciales. Ejercicio 3. Calcular las soluciones de la ecuación diferencial y'= y+x. Resolver la ecuación anterior sujeta a la restricción y(0)=1. Sin embargo, cuando utilizamos el comando "NDSolve" son necesarias las condiciones iniciales. Además, la única forma de ver la solución es mediante una gráfica: practica40506.nb 4 solution = NDSolve@ 8y @xD == y@xD, y@1D == 2<, y, 8x, 0, 3<D 88y → InterpolatingFunction@880., 3.<<, <>D<< y@2D ê. solution 85.43658< Plot@Evaluate@y@xD ê. solutionD, 8x, .01, 1<D; 2 1.8 1.6 1.4 1.2 0.2 0.4 0.6 0.8 1 0.8 En dicha gráfica la función que representamos es "Evaluate[y[x]/.solution]" esto significa que evalúe y[x] teniendo en cuenta las asignaciones que hemos hecho en "solution". Vectores. Diagonalización de matrices. Ya hemos visto como introducir vectores y matrices, no obstante recordemos: El vector u=(1,2,1) se introduce con u={1,2,1} practica40506.nb 5 u = 81, 2, 1< 81, 2, 1< Las operaciones usuales como producto por escalares , suma, producto escalar o producto vectorial las señalamos a continuación: 3u 83, 6, 3< a = −2 −2 au 8−2, −4, −2< v = 83, 1, −2< 83, 1, −2< u+v 84, 3, −1< El producto escalar se expresa mediante un punto "." y el producto vectorial con "ä" que puedes obtener en la "palete" basic imput u.v 3 practica40506.nb 6 u v 8−5, 5, −5< También se puede hacer directamente: 81, −1, 2<.80, 9, −2< −13 81, −1, 2< 80, 9, −2< 8−16, 2, 9< Para calcular los valores propios de una matriz A, se utiliza la orden Eigenvalues[A] Por ejemplo: ij 4 1 -1 yz j z A = jjj 2 5 -2 zzz j z k1 1 2 { 884, 1, -1<, 82, 5, -2<, 81, 1, 2<< Eigenvalues@AD 83, 3, 5< practica40506.nb y para los vectores propios Eigenvectors[A] Eigenvectors@AD 881, 0, 1<, 8-1, 1, 0<, 81, 2, 1<< 7