practica2.nb 1 Apellidos y Nombre: Grupo : 3A INTRODUCCION A MATHEMATICA Funciones definidas por el usuario. Además de las funciones predefinidas (trigonométricas,hiperbólicas,exponencial,..) Mathematica permite definir al usuario sus propias funciones. à Dos formas de definir funciones: f[x_,y_,...]:= regla f[x_,y_,...]=regla Los nombres que representarán a las funciones deben seguir el mismo criterio que los de las variables. No debemos olvidar el símbolo (_) que acompaña a cada variable independiente y que garantiza que ésta pueda ser sustituida por cualquier expresión. Una función se puede definir con = o bien :=. En el primer caso (Inmediata) se pide a Mathematica que la defina y seguidamente haga las operaciones que se indican, en el segundo caso (diferida) solo que la defina , las operaciones las hará después cuando vayamos a utilizar la función. En este caso Mathematica no devuelve ninguna salida. (Se debe usar esta forma cuando Mathematica no puede evaluar f(x) a menos que x tenga un valor concreto). Si se intenta definir f(x) con = y se obtienen uno o más mensajes de error se debe utilizar := . En los siguientes ejemplos podemos ver la diferencia entre ambas formas de definir una función. f@x_D := Expand@Hx + 1L ^ 2D ?f f@2D f@a + bD g@x_D = Expand@Hx + 1L ^ 2D ?g g@2D g@a + bD practica2.nb 2 Clear@f, gD f@x_D := D@Sin@xD, xD g@x_D = D@Sin@xD, xD Plot@f@xD, 8x, −1, 1<D; Plot@g@xD, 8x, −1, 1<D; à Funciones continuas a trozos : Comando Piecewise La sintaxis de este comando es la siguiente: Piecewise[{{val1 , cond1 }, {val2 , cond2 }, … }] Las condiciones cond1 , cond2 .. normalmente son del tipo : a < x <= b. A funciones definidas mediante el comando Piecewise se les pueden aplicar los comando Integrate, Minimize, DSolve, Reduce y Simplify. Por ejemplo para definir la función : −1 x < −1 Ø ≤ ≤ x −1 ≤ x ≤ 1 f(x) =∞ ≤ ≤ x>1 ±1 f@x_D = Piecewise@88−1, x < −1<, 8x, −1 <= x ≤ 1<, 81, x > 1<<D; Plot@f@xD, 8x, −2, 2<D 1 0.5 -2 -1 1 2 -0.5 -1 Graphics à Otras formas de definir una función continua a trozos: Los comandos Which e If Este tipo de funciones también las podemos definir de las siguientes formas: practica2.nb 3 a) f[x_]:= Which[condicion1,regla1,condicion2,regla2,...,condicionn,reglan] Se evalua la condición 1 y si es verdadera se asigna a f(x) la regla 1; si es falsa se pasa a la condición 2 y así sucesivamente. Clear@fD f@x_D := Which@x < 2, 3 x, 2 <= x < 5, 3, x >= 5, −1D Plot@f@xD, 8x, −10, 10<D; b) f[x_]:=If[condicion,expresion1,expresion2] Se evalúa la condición y si es verdadera se asigna a f(x) la expresión 1, y si es falsa la expresión2. Se puede anidar un if dendtro de otro, es decir, una de las expresiones (o las dos) puede ser otro if. g@t_D := If@3 < t <= 5, 1, −1D Plot@g@tD, 8t, 0, 10<D; f@x_D := If@x < 2, 3 x, If@2 <= x < 5, 3, −1DD Plot@f@xD, 8x, −10, 10<D; Ejercicios 1- Definir f(x)=x2 + 1 si x¥0, o -x-1 si x<0 . Representar f(x) en el intervalo [-3,3]. 2- Sea g(x) la extensión periódica de la función: f(x)=x, si 0§x<1, 1 si 1§x<2, o 3-x, si 2§x<3. Representar g en el intervalo [0,12]. practica2.nb 4 Expresiones algebraicas (polinómicas / racionales) à Algunas de las funciones de Mathematica más habituales para manipular expresiones algebraicas: Simplify[expresion] Factor[expresion] Expand[expresion] Apart[expresion] Together[expresion] Cancel[expresion] (ó (ó (ó (ó (ó (ó expresion//Simplify) expresion//Factor) expresion//Expand) expresion//Apart) expresion//Together) expresion//Cancel) (Se recomienda, o bien recurrir a la ayuda o bien preguntar en el propio Front-End, con (?) o (??), para tener la información necesaria sobre cada una de dichas funciones.) Comentar la tercera forma de utilizar estos comandos. Expand@Hx − 2L ^ 2 Hx + 1L ^ 3 Hx − 1LD −4 − 4 x + 7 x2 + 6 x3 − 4 x4 − 2 x5 + x6 êê Factor ?? Apart ApartA Hx2 TogetherA CancelA 2x−3 + 1L Hx + 3L 3x 2 Hx − 1L2 − E x3 − 2 Hx + 1L H2 x − 1L 2 x Hx − 1L3 Hx + 2L2 x3 Hx − 1L2 Hx + 1L E Ejercicios 1- Representar como f(x) la función ( x+2 )Hx - 1L2 Hx - 2L3 . 2- Descomponer en fracciones simples la expresión 1 f HxL E practica2.nb 5 3- Desarrollar la expresión de f(x) hasta obtener un polinomio de grado 6 en x. 4- Factorizar la expresión que se acaba de obtener. 5- Definir una función f(x,y)=1+4xy+6x3 y2 +4x2 y3 +xy4 . Hallar las soluciones de la ecuación para el caso de x=1, utilizando el comando Factor.