(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.1' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 24592, 811]*) (*NotebookOutlinePosition[ 26170, 854]*) (* CellTagsIndexPosition[ 26126, 850]*) (*WindowFrame->Normal*) Notebook[{ Cell[TextData[{ "Matem\[AAcute]ticas con ", StyleBox["Mathematica", FontSlant->"Italic"] }], "Title"], Cell["\<\ Pr\[AAcute]ctica 2. Variables y constantes. Asignaci\[OAcute]n y asignaci\ \[OAcute]n diferida. \t Funciones. Las funciones elementales\ \>", "Subtitle"], Cell[TextData[StyleBox["Francisco Javier P\[EAcute]rez Gonz\[AAcute]lez\n\ Departamento de An\[AAcute]lisis Matem\[AAcute]tico\nUniversidad de Granada", FontSize->12]], "Author", TextAlignment->Left], Cell[CellGroupData[{ Cell[TextData[{ "Variables y constantes. El comando de asignaci\[OAcute]n (", Cell[BoxData[ \(TraditionalForm\` = \)]], ")" }], "Section"], Cell[TextData[{ "Lo que realmente distingue a un programa como ", StyleBox["Mathematica", FontSlant->"Italic"], " es su capacidad para trabajar simb\[OAcute]licamente; es decir, trabajar \ con expresiones algebraicas en las que intervienen s\[IAcute]mbolos que no \ tienen un valor num\[EAcute]rico concreto. Solemos referirnos a estos s\ \[IAcute]mbolos como ", StyleBox["variables", FontWeight->"Bold"], ". " }], "Text"], Cell[BoxData[{ \(a^\((1/2)\) a^\((1/3)\)\), \(a\ + \ 3 b\ + \ c^2\ + 4\ a\ + \ 3\ c^2\), \(Exp[x] Exp[y]\)}], "Input"], Cell[TextData[{ "Para multiplicar n\[UAcute]meros por variables no es preciso dejar un \ espacio en blanco. Para ", StyleBox["Mathematica", FontSlant->"Italic"], " pr\[AAcute]cticamente cualquier letra o combinaci\[OAcute]n de letras \ puede ser una variable. Hay excepciones que corresponden a algunos \ s\[IAcute]mbolos protegidos como los de las operaciones aritm\[EAcute]ticas o \ como la letra E, que siempre indica el n\[UAcute]mero \[ExponentialE] base de \ los logaritmos naturales. Sin embargo, todas las letras min\[UAcute]sculas \ {x, y, z... a, b, c, d...} y sus combinaciones pueden usarse sin problemas \ para representar variables. No olvides que ", StyleBox["Mathematica", FontSlant->"Italic"], " distingue entre may\[UAcute]sculas y min\[UAcute]sculas. " }], "Text"], Cell[TextData[{ "En ", StyleBox["Mathematica", FontSlant->"Italic"], " el s\[IAcute]mbolo de igualdad (=) es la forma usual de escribir el \ comando \"", StyleBox["Set[ ]", FontWeight->"Bold"], "\" (l\[EAcute]ase ", StyleBox["atribuye", FontSlant->"Italic"], " o ", StyleBox["asigna", FontSlant->"Italic"], "). As\[IAcute] \"", StyleBox["expr1=expr2", FontWeight->"Bold"], "\" y \"", StyleBox["Set[expr1,expr2]", FontWeight->"Bold"], "\" son dos formas de decirle a ", StyleBox["Mathematica", FontSlant->"Italic"], " que eval\[UAcute]e ", StyleBox["inmediatamente", FontSlant->"Italic"], " ", StyleBox["expr2", FontWeight->"Bold"], " y el resultado de esta operaci\[OAcute]n lo asigne en adelante al s\ \[IAcute]mbolo ", StyleBox["expr1", FontWeight->"Bold"], ". ", StyleBox["Mathematica ", FontSlant->"Italic"], "interpreta que una expresi\[OAcute]n \"", StyleBox["exp", FontWeight->"Bold"], "\" formada por una letra o una combinaci\[OAcute]n de letras es una \ variable si no se le ha asignado ning\[UAcute]n valor concreto; cuando a \"", StyleBox["exp", FontWeight->"Bold"], "\" se le asigna un valor concreto, el programa reemplazar\[AAcute] cada \ aparici\[OAcute]n de \"", StyleBox["exp", FontWeight->"Bold"], "\" por el valor que le hemos asignado; es decir, tratar\[AAcute] \"", StyleBox["exp", FontWeight->"Bold"], "\" como una ", StyleBox["constante", FontWeight->"Bold"], ". Cuando asignes valores a expresiones es muy conveniente que las \ expresiones que utilices contengan solamente letras min\[UAcute]sculas. \ Puedes usar como s\[IAcute]mbolo para una expresi\[OAcute]n \ pr\[AAcute]cticamente cualquier combinaci\[OAcute]n de letras y \ n\[UAcute]meros. Aqu\[IAcute] asigno el valor 5 al s\[IAcute]mbolo \"a\" y el \ valor 7 al s\[IAcute]mbolo \"ab\"." }], "Text"], Cell[BoxData[{ \(a = 5\), \(ab = 7\)}], "Input"], Cell["\<\ Ahora todas las apariciones de \"a\" quedan sustituidas por 5 y las de \"ab\" \ por 7.\ \>", "Text"], Cell[BoxData[ \(a*ab\)], "Input"], Cell["\<\ Podemos asignar ahora otro valor para \"a\" y al hacerlo se elimina el valor \ anterior.\ \>", "Text"], Cell[BoxData[{ \(a = 10\), \(a*ab\)}], "Input"], Cell[TextData[{ "Podemos preguntarle a ", StyleBox["Mathematica ", FontSlant->"Italic"], "p", "ara saber el significado actual de un s\[IAcute]mbolo." }], "Text"], Cell[BoxData[ \(\(?\ a\ \ \)\)], "Input"], Cell[BoxData[ \(\(?\ ab\)\)], "Input"], Cell[TextData[{ "Para quitar el valor asignado a una expresi\[OAcute]n usamos la orden \"", StyleBox["Clear[exp]", FontWeight->"Bold"], "\". " }], "Text"], Cell[BoxData[ \(\(Clear[a]\ (*\ quita\ cualquier\ valor\ asignado\ al\ s\[IAcute]mbolo\ a\ *) \)\)], "Input"], Cell[BoxData[ \(a + ab\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "El comando de asignaci\[OAcute]n diferida (", Cell[BoxData[ \(TraditionalForm\` := \)]], ")" }], "Section"], Cell[TextData[{ "Es importante distinguir entre el comando de asignaci\[OAcute]n inmediata \ (=) y el comando de asignaci\[OAcute]n diferida (:=) cuyo nombre es \"", StyleBox["SetDelayed[ ]", FontWeight->"Bold"], "\". Cuando escribimos \"", StyleBox["expr1 ", FontWeight->"Bold"], Cell[BoxData[ \(TraditionalForm\` := \)], FontWeight->"Bold"], StyleBox[" expr2\"", FontWeight->"Bold"], " ", StyleBox["le estamos diciendo a", "TI", FontSlant->"Plain"], StyleBox[" ", "TI"], StyleBox["Mathematica", "TI", FontSlant->"Italic"], " que asigne \"", StyleBox["expr1", FontWeight->"Bold"], "\" al valor diferido de \"", StyleBox["expr2", FontWeight->"Bold"], "\" pero \"", StyleBox["expr2", FontWeight->"Bold"], "\" ", StyleBox[ "no se eval\[UAcute]a inmediatamente sino que para ello hay que llamar a", FontSlant->"Italic"], " \"", StyleBox["expr1", FontWeight->"Bold"], "\" ", StyleBox["y cada vez que lo hacemos", FontSlant->"Italic"], " \"", StyleBox["expr2", FontWeight->"Bold"], "\" ", StyleBox["se eval\[UAcute]a de nuevo", FontSlant->"Italic"], ". Para que entiendas bien la diferencia, en el siguiente ejemplo uso el \ comando \"", StyleBox["Random[ ]", FontWeight->"Bold"], "\" que proporciona un n\[UAcute]mero aleatorio entre 0 y 1. Cada vez que \ ejecutas el comando obtienes (salvo rara casualidad) un n\[UAcute]mero \ distinto. Compru\[EAcute]balo." }], "Text"], Cell[BoxData[{ \(Random[]\), \(Random[]\), \(Random[]\)}], "Input"], Cell["\<\ Asignamos ahora el s\[IAcute]mbolo \"aleatorio1\" a una ejecuci\[OAcute]n \ inmediata del comando Random[ ]. Dicho comando se ejecutar\[AAcute] y el \ resultado obtenido ser\[AAcute] en adelante el valor de \"aleatorio1\".\ \>", "Text"], Cell[BoxData[ \(aleatorio1 = Random[]\)], "Input"], Cell[BoxData[ \(aleatorio1\)], "Input"], Cell["\<\ Hacemos ahora una asignaci\[OAcute]n diferida del s\[IAcute]mbolo \ \"aleatorio2\" al comando Random[ ]. El comando Random[ ] no ser\[AAcute] \ evaluado. Para evaluarlo deberemos invocar al s\[IAcute]mbolo \"aleatorio2\" \ y cada vez que lo hagamos se ejecutar\[AAcute] de nuevo dicho comando por lo \ que el valor de \"aleatorio2\" ser\[AAcute] diferente cada vez que lo \ llamemos.\ \>", "Text"], Cell[BoxData[ \(aleatorio2 := Random[]\)], "Input"], Cell[BoxData[{ \(aleatorio2\), \(aleatorio2\)}], "Input"], Cell[TextData[{ "Habr\[AAcute]s observado que cuando se usa el comando de \ asignaci\[OAcute]n diferida ", StyleBox["Mathematica", FontSlant->"Italic"], " no presenta ninguna salida en pantalla. Eso es debido a que dicho \ comando, al igual que otros, tiene salida Null que es un s\[IAcute]mbolo \ usado por ", StyleBox["Mathematica", FontSlant->"Italic"], " para indicar la ausencia de una expresi\[OAcute]n o resultado como salida \ en pantalla. Cuando un comando tiene salida Null no se imprime nada en \ pantalla." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Funciones", "Section"], Cell[TextData[{ "En la mayor\[IAcute]a de los lenguajes de programaci\[OAcute]n para \ definir una funci\[OAcute]n es necesario declarar previamente las variables y \ el tipo de variables. En ", StyleBox["Mathematica", FontSlant->"Italic"], " es muy f\[AAcute]cil definir funciones. No es preciso declarar las \ variables ni el tipo de variable. Todo lo que tienes que hacer es definir la \ funci\[OAcute]n de la forma que voy a explicarte. Lo primero que tienes que \ tener en cuenta es que ", StyleBox["las variables de las funciones (que suelen llamarse ", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["argumentos", FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[ " de la funci\[OAcute]n) van entre corchetes [ ] nunca entre \ par\[EAcute]ntesis ( )", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], ". ", StyleBox[ "Los par\[EAcute]ntesis ( ) solamente se usan para indicar, cuando es \ necesario, el orden en que debe evaluarse una expresi\[OAcute]n", FontWeight->"Bold"], ". Intentemos ya, sin tomar m\[AAcute]s precauciones, definir una funci\ \[OAcute]n." }], "Text"], Cell[BoxData[ RowBox[{\(f[x] = x^2\), " ", RowBox[{"(*", StyleBox[" ", FontColor->RGBColor[1, 0, 0]], StyleBox[ \(recuerda : \ las\ variables\ de\ una\ funci\[OAcute]n\ van\ siempre\ entre\ corchetes\), FontColor->RGBColor[1, 0, 0]], " ", "*)"}]}]], "Input"], Cell["\<\ Si lo que acabamos de definir es una funci\[OAcute]n debe ser posible \ calcular su valor para distintos valores de la variable. Veamos si esto es as\ \[IAcute].\ \>", "Text"], Cell[BoxData[{ \(f[2]\), \(f[y]\), \(f[x]\)}], "Input"], Cell[TextData[{ "Ya ves que lo que hemos definido no es una funci\[OAcute]n. Lo que hemos \ hecho ha sido, simplemente, asignar el s\[IAcute]mbolo f[x] a x^2. \ F\[IAcute]jate en que para definir una funci\[OAcute]n las variables deben \ ser independientes de los s\[IAcute]mbolos con que las representemos. La \ funci\[OAcute]n que queremos definir es una regla que a \"algo\" le asigna \ \"algo^2\". Pero ese \"algo\" no puede identificarse con nada concreto porque \ unas veces puede ser un n\[UAcute]mero y otras veces puede ser una expresi\ \[OAcute]n algebraica o de otro tipo. Lo que necesitamos es proporcionarle a \ ", StyleBox["Mathematica", FontSlant->"Italic"], " un ", StyleBox["patr\[OAcute]n o modelo", FontWeight->"Bold"], " (", StyleBox["pattern", FontSlant->"Italic"], " en ingl\[EAcute]s) que pueda ser reemplazado de muy diversas formas. Esto \ se hace en ", StyleBox["Mathematica", FontSlant->"Italic"], " con el operador \"", StyleBox["Blank[ ]", FontWeight->"Bold"], "\" que se escribe _ (may\[UAcute]sculas+gui\[OAcute]n). " }], "Text"], Cell[BoxData[{ \(Clear[f]\), \(f[x_] = \(\(x^2\ \) (*\ Mathematica\ interpreta\ esto\ como\ f[algo] = algo^2\ *) \)\)}], "Input"], Cell[BoxData[{ \(f[2]\), \(f[y]\), \(f[x]\)}], "Input"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " interpreta ", StyleBox["x_", FontWeight->"Bold"], " como un comod\[IAcute]n que puede ser reemplazado por cualquier expresi\ \[OAcute]n simple." }], "Text"], Cell[BoxData[{ \(f[x + y + 2 x*z]\), \(f[\@x]\)}], "Input"], Cell["\<\ La misma regla sirve para definir funciones de m\[AAcute]s de una variable. \ Aqu\[IAcute] tienes algunos ejemplos.\ \>", "Text"], Cell[BoxData[{ \(g[x_, y_] = \@\(x^2 + \(y^2\ \)\) (*\ Mathematica\ interpreta\ esto\ como\ g[algo, otroalgo] = \@\(algo^2 + otroalgo^2\)\ *) \), \(g[1, 2]\), \(g[u + v, s + t]\), \(Clear[f, g]\)}], "Input"], Cell["\<\ Para definir una funci\[OAcute]n puedes usar la asignaci\[OAcute]n inmediata \ como hemos hecho antes y tambi\[EAcute]n la asignaci\[OAcute]n diferida. \ Muchas veces no tiene mayor importancia cu\[AAcute]l de las dos uses pero a \ veces s\[IAcute] que la tiene. Observa.\ \>", "Text"], Cell[BoxData[{ \(f[x_] = N[x, 30]\ (*\ aproximaci\[OAcute]n\ decimal\ de\ x\ con\ 30\ d\[IAcute]gitos\ significativos\ *) \), \(f[Pi]\)}], "Input"], Cell[TextData[{ "Est\[AAcute] claro lo que ha pasado. Al definir f[x] con la asignaci\ \[OAcute]n inmediata se eval\[UAcute]a enseguida el comando N[x,30] y, como x \ no es una cantidad num\[EAcute]rica, ", StyleBox["Mathematica", FontSlant->"Italic"], " da como respuesta el propio x que es lo que de aqu\[IAcute] en adelante ", StyleBox["Mathematica", FontSlant->"Italic"], " interpretar\[AAcute] como f[\"deloquesea\"]." }], "Text"], Cell[BoxData[{ \(Clear[f]\), \(f[x_] := N[x, 30]\), \(f[Pi]\)}], "Input"], Cell["\<\ Ahora hemos definido f[x] con la asignaci\[OAcute]n diferida por lo que el \ comando N[x,30] no se eval\[UAcute]a hasta que se llama a la funci\[OAcute]n. \ \ \>", "Text"], Cell["\<\ Como estrategia general es conveniente usar la asignaci\[OAcute]n diferida \ para definir funciones pero hay algunos casos importantes (por ejemplo, para \ definir derivadas) en los que es preferible usar la asignaci\[OAcute]n \ directa.\ \>", "Text"], Cell[TextData[{ "No olvides que ", StyleBox["Mathematica", FontSlant->"Italic"], " distingue entre may\[UAcute]sculas y min\[UAcute]sculas. Todos los \ comandos de ", StyleBox["Mathematica", FontSlant->"Italic"], " empiezan con una letra may\[UAcute]scula, por eso ", StyleBox[ "una buena estrategia para representar tus propios comandos y funciones es \ usar letras min\[UAcute]sculas", FontSlant->"Italic"], ". La orden \"", StyleBox["Clear[\"@\"]", FontWeight->"Bold"], "\" elimina todas las constantes y funciones que hayamos representado con \ letras ", StyleBox["min\[UAcute]sculas", FontSlant->"Italic"], "." }], "Text"], Cell[TextData[{ "Si queremos eliminar todas las constantes y funciones que hemos definido \ usaremos ", StyleBox["Clear[\"Global`*\"]", FontWeight->"Bold"], " (el acento que hay que usar es el que est\[AAcute] a la derecha de la \ p). " }], "Text"], Cell[BoxData[ \(\(\ Clear["\"]\)\)], "Input"], Cell[CellGroupData[{ Cell["Ejercicio 1", "Exercise"], Cell[TextData[{ "Explica la respuesta de ", StyleBox["Mathematica", FontSlant->"Italic"], " a la siguiente celda.\t\t\t" }], "ExerciseText"], Cell[BoxData[{ \(Clear[f, g]\), \(f[x_] = Simplify[x]; \ng[x_] := Simplify[x]; \n f[Cos[x]\^2 + Sin[x]\^2]\), \(g[Cos[x]\^2 + Sin[x]\^2]\)}], "Input"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Algunos comandos para trabajar con funciones elementales", "Section"], Cell["\<\ Los siguientes comandos son \[UAcute]tiles para trabajar con funciones polin\ \[OAcute]micas.\ \>", "Text"], Cell[BoxData[ \(\(poli = Expand[\((x\ + \ y^2\ + z^3)\)^10] (*\ desarrolla\ la\ potencia\ *) \)\)], "Input"], Cell["\<\ Lo contrario de desarrollar una potencia es agrupar en factores (cuando se \ puede). \ \>", "Text"], Cell[BoxData[ \(Factor[poli]\)], "Input"], Cell[TextData[{ "Recuerda que el s\[IAcute]mbolo \"", StyleBox["%", FontWeight->"Bold"], "\" ", StyleBox["se refiere a la salida inmediata anterior", FontWeight->"Bold"], "." }], "Text"], Cell[BoxData[ \(Expand[\((x + y + z)\) \((x^2 + y^3 + z^4 + 2)\) \((1 + x^2)\)]\)], "Input"], Cell[BoxData[ \(Factor[%]\)], "Input"], Cell[BoxData[{ \(poli2 = Expand[\((1 + x + y*x\ + \ x*z^2)\)^3]\), \(Collect[poli2, x]\ (*\ agrupa\ t\[EAcute]rminos\ con\ igual\ potencia\ de\ x\ *) \)}], "Input"], Cell[BoxData[ \(\(Coefficient[poli2, x^3] (*\ nos\ da\ el\ coeficiente\ de\ x^3\ *) \)\)], "Input"], Cell[BoxData[ \(\(Exponent[poli2, z]\n (*\ nos\ da\ el\ exponente\ m\[AAcute]ximo\ de\ z, \ es\ decir, \ el\ grado\ de\ poli2\ en\ la\ variable\ z\ *) \)\)], "Input"], Cell[TextData[{ "El comando \"", StyleBox["Simplify[expr]", FontWeight->"Bold"], "\" sirve para simplificar una expresi\[OAcute]n. Cuando se usa con \ polinomios trata de presentarlos de la forma m\[AAcute]s sencilla y para ello \ puede factorizarlos o no." }], "Text"], Cell[BoxData[ \(Simplify[\((1 - x)\)^4 - \((1 + x)\)^3]\)], "Input"], Cell[BoxData[ \(Simplify[\((1 - x)\)^4 + \((1 + x)\)^3]\)], "Input"], Cell[TextData[{ "Un comando m\[AAcute]s poderoso (y m\[AAcute]s lento) que Simplify es \"", StyleBox["FullSimplify[expr]", FontWeight->"Bold"], "\". A veces el primero no da resultado y el segundo s\[IAcute]." }], "Text"], Cell[BoxData[ \(\(Simplify[ 2^\((1/2)\) + 3^\((1/2)\) - \((5 + 2*6^\((1/2)\))\)^\((1/2)\)] (*\ no\ hace\ nada\ *) \)\)], "Input"], Cell[BoxData[ \(\(FullSimplify[ 2^\((1/2)\) + 3^\((1/2)\) - \((5 + 2*6^\((1/2)\))\)^\((1/2)\)]\ (*\ simplifica\ la\ expresi\[OAcute]n\ *) \)\)], "Input"], Cell["\<\ Los siguientes comandos son \[UAcute]tiles para trabajar con funciones \ racionales.\ \>", "Text"], Cell[BoxData[{ \(Numerator[\(x^3 + x - 1\)\/\(x^2 - 5\)] (*\ proporciona\ el\ numerador\ *) \), \(Denominator[\(x^3 + x - 1\)\/\(x^2 - 5\)] (*\ proporciona\ el\ denominador\ *) \)}], "Input"], Cell[BoxData[ \(\(Together[\(x^3 + x - 1\)\/\(x^2 - 5\) + \(x - 1\)\/\(x^2 + 1\)] (*\ junta\ los\ sumandos\ en\ una\ sola\ fracci\[OAcute]n\ *) \)\)], "Input"], Cell[BoxData[ \(\(Apart[\(x^3 + x - 1\)\/\(\((x - 5)\) \((x^2 + 1)\) \((x + 2)\)^2\)] (* \ descompone\ en\ fracciones\ simples\ *) \)\)], "Input"], Cell[BoxData[ \(\(Cancel[\(x^3 - 1\)\/\(\((x - 1)\) \((x^2 + 1)\)\)] (*\ cancela\ factores\ comunes\ *) \)\)], "Input"], Cell[BoxData[ \(\(ExpandAll[ \(\((x + 1)\) \((1 + x + x^2)\)\)\/\(\((x - 5)\) \((x + 2)\)\)] (*\ expande\ numerador\ y\ denominador\ *) \)\)], "Input"], Cell[BoxData[ \(\(Expand[ \(\((x + 1)\) \((1 + x + x^2)\)\)\/\(\((x - 5)\) \((x + 2)\)\)] (*\ expande\ el\ numerador\ *) \)\)], "Input"], Cell[TextData[{ "Las principales funciones trigonom\[EAcute]tricas de ", StyleBox["Mathematica", FontSlant->"Italic"], " son Sin[x], Cos[x], Tan[x], ArcSin[x], ArcCos[x], ArcTan[x]. Ya habr\ \[AAcute]s observado que todos los comandos y funciones de ", StyleBox["Mathematica", FontSlant->"Italic"], " empiezan por may\[UAcute]sculas. Por eso es conveniente que las funciones \ que t\[UAcute] definas tengan nombre en letras min\[UAcute]sculas. ", StyleBox["Mathematica", FontSlant->"Italic"], " conoce las identidades trigonom\[EAcute]tricas y puede usarlas para \ simplificar expresiones en las que aparezcan dichas funciones. En lugar de \ Expand[ ] y Factor[ ] se usan los comandos TrigExpand[ ] y TrigFactor[ ]." }], "Text"], Cell[BoxData[ \(TrigExpand[Cos[x + y]]\)], "Input"], Cell[BoxData[ \(TrigExpand[Sin[2 ArcTan[t]]]\)], "Input"], Cell[BoxData[ \(\(TrigReduce[Sin[a*x]*Cos[b*x]\^2] (*\ convierte\ productos\ de\ funciones\ trigonom\[EAcute]tricas\ en\ sumas \ *) \)\)], "Input"], Cell[BoxData[ \(TrigFactor[%]\)], "Input"], Cell[TextData[{ "La funci\[OAcute]n exponencial de base ", StyleBox["a", FontSlant->"Italic"], " ", Cell[BoxData[ \(TraditionalForm\`\((a > 0, \ a \[NotEqual] \ 1)\)\)]], " es la funci\[OAcute]n que a un n\[UAcute]mero ", StyleBox["x", FontSlant->"Italic"], " hace corresponder ", Cell[BoxData[ \(TraditionalForm\`a\^x\)]], ". La exponencal de base \[ExponentialE] se llama exponencial natural. " }], "Text"], Cell[BoxData[ \(\(\(2^\((3.14)\) (*\ a^x\ representa\ el\ valor\ en\ x\ de\ la\ funci\[OAcute]n\ exponencial\ de\ base\ a\ *) \[IndentingNewLine]Exp[3.14]\ \) (*\ Exp[x]\ es\ la\ funci\[OAcute]n\ exponencial\ natural\ *) \)\)], "Input"], Cell[BoxData[ \(\(Limit[\((1.1)\)^x, x \[Rule] \(+Infinity\)] (*\ la\ funci\[OAcute]n\ exponencial\ de\ base\ a > 1\ tiene\ l\[IAcute]mite\ + \[Infinity]\ en\ + \[Infinity]\ *) \)\)], "Input"], Cell[BoxData[ \(\(Limit[\((1.1)\)^x, x \[Rule] \(-Infinity\)] (*\ la\ funci\[OAcute]n\ exponencial\ de\ base\ a > 1\ tiene\ l\[IAcute]mite\ 0\ en\ - \[Infinity]\ *) \)\)], "Input"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " conoce la propiedad principal de las exponenciales: la exponencial de una \ suma es el producto de las exponenciales de los sumandos. Observa en la celda \ siguiente el uso del operador boleano \"==\" para comprobar que dos \ expresiones simb\[OAcute]licas son iguales." }], "Text"], Cell[BoxData[ \(a\^\(x + y\) == a\^x*a\^y\)], "Input"], Cell[TextData[{ "Dado un n\[UAcute]mero positivo ", Cell[BoxData[ \(TraditionalForm\`a > 0\)]], ", ", Cell[BoxData[ \(TraditionalForm\`a \[NotEqual] 1\)]], ", y un n\[UAcute]mero real ", Cell[BoxData[ \(TraditionalForm\`x > 0\)]], ", se define el logaritmo en base ", StyleBox["a", FontSlant->"Italic"], " de ", StyleBox["x", FontSlant->"Italic"], " como el \[UAcute]nico n\[UAcute]mero real ", StyleBox["y", FontSlant->"Italic"], " tal que ", Cell[BoxData[ \(TraditionalForm\`a\^y = x\)]], ". Los logaritmos en base \[ExponentialE] se llaman logaritmos naturales (o \ neperianos). " }], "Text"], Cell[BoxData[ \(\(\(Log[10. ]\ (*\ Log[x]\ es\ el\ logaritmo\ natural\ de\ x\ *) \[IndentingNewLine]Log[10, 10. ]\ \) (*\ Log[a, x]\ es\ el\ logaritmo\ de\ x\ en\ base\ a\ *) \)\)], "Input"], Cell[BoxData[ \(\(\(Limit[Log[2, x], x \[Rule] \(+\[Infinity]\)]\ \) (*\ el\ l\[IAcute]mite\ en\ + \[Infinity]\ de\ la\ funci\[OAcute]n\ logaritmo\ de\ base\ a > 1\ es\ + \[Infinity]\ *) \)\)], "Input"], Cell[BoxData[ \(\(\(Limit[Log[2, x], x \[Rule] 0]\ \) (*\ el\ l\[IAcute]mite\ en\ 0\ de\ la\ funci\[OAcute]n\ logaritmo\ de\ base \ a > 1\ es\ - \[Infinity]\ *) \)\)], "Input"], Cell[CellGroupData[{ Cell["Ejercicio 2", "Exercise"], Cell[TextData[{ "Calcula los l\[IAcute]mites de las siguientes funciones en ", Cell[BoxData[ \(TraditionalForm\`x = 0\)]], "." }], "ExerciseText"], Cell[BoxData[ \(TraditionalForm\`\(sen\ x\)\/x, \ \(\ cos\ x - 1\)\/x\^2, \ \(\[ExponentialE]\^x - 1\)\/x, \ \(\ tg\ x - x\)\/x\^3, \ \(\ log\ \((1 + x)\)\)\/x, \ \((1 + x)\)\^\(1/x\)\)], "Text", TextAlignment->Center] }, Open ]] }, Open ]] }, FrontEndVersion->"5.1 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 685}}, WindowSize->{1016, 651}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, PrintingCopies->1, PrintingPageRange->{Automatic, Automatic}, PageHeaders->{{Cell[ TextData[ "F. Javier P\[EAcute]rez Gonz\[AAcute]lez\nDpto. An\[AAcute]lisis \ Matem\[AAcute]tico - Universidad de Granada"], "Header"], Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], Cell[ TextData[ "Variables y constantes. Asignaci\[OAcute]n y asignaci\[OAcute]n \ diferida.\nFunciones. Las funciones elementales"], "Header"]}, {Cell[ TextData[ "F. Javier P\[EAcute]rez Gonz\[AAcute]lez\nDpto. An\[AAcute]lisis \ Matem\[AAcute]tico - Universidad de Granada"], "Header"], Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], Cell[ TextData[ "Variables y constantes. Asignaci\[OAcute]n y asignaci\[OAcute]n \ diferida.\nFunciones. Las funciones elementales"], "Header"]}}, Magnification->1.25, StyleDefinitions -> "Classroom.nb" ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[1754, 51, 109, 4, 83, "Title"], Cell[1866, 57, 168, 4, 80, "Subtitle"], Cell[2037, 63, 203, 3, 90, "Author"], Cell[CellGroupData[{ Cell[2265, 70, 150, 5, 77, "Section"], Cell[2418, 77, 440, 11, 55, "Text"], Cell[2861, 90, 137, 3, 102, "Input"], Cell[3001, 95, 801, 15, 96, "Text"], Cell[3805, 112, 1912, 59, 164, "Text"], Cell[5720, 173, 57, 2, 81, "Input"], Cell[5780, 177, 110, 3, 34, "Text"], Cell[5893, 182, 37, 1, 60, "Input"], Cell[5933, 185, 112, 3, 34, "Text"], Cell[6048, 190, 56, 2, 81, "Input"], Cell[6107, 194, 174, 6, 34, "Text"], Cell[6284, 202, 45, 1, 60, "Input"], Cell[6332, 205, 42, 1, 60, "Input"], Cell[6377, 208, 164, 5, 34, "Text"], Cell[6544, 215, 124, 3, 60, "Input"], Cell[6671, 220, 39, 1, 60, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[6747, 226, 136, 5, 77, "Section"], Cell[6886, 233, 1494, 51, 142, "Text"], Cell[8383, 286, 81, 3, 103, "Input"], Cell[8467, 291, 246, 4, 55, "Text"], Cell[8716, 297, 54, 1, 60, "Input"], Cell[8773, 300, 43, 1, 60, "Input"], Cell[8819, 303, 407, 7, 77, "Text"], Cell[9229, 312, 55, 1, 60, "Input"], Cell[9287, 315, 66, 2, 81, "Input"], Cell[9356, 319, 549, 13, 99, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[9942, 337, 28, 0, 77, "Section"], Cell[9973, 339, 1186, 29, 143, "Text"], Cell[11162, 370, 345, 9, 81, "Input"], Cell[11510, 381, 185, 4, 55, "Text"], Cell[11698, 387, 69, 3, 103, "Input"], Cell[11770, 392, 1102, 26, 142, "Text"], Cell[12875, 420, 154, 4, 81, "Input"], Cell[13032, 426, 69, 3, 103, "Input"], Cell[13104, 431, 236, 8, 34, "Text"], Cell[13343, 441, 69, 2, 88, "Input"], Cell[13415, 445, 139, 3, 34, "Text"], Cell[13557, 450, 242, 6, 156, "Input"], Cell[13802, 458, 295, 5, 55, "Text"], Cell[14100, 465, 173, 4, 81, "Input"], Cell[14276, 471, 456, 11, 77, "Text"], Cell[14735, 484, 87, 3, 103, "Input"], Cell[14825, 489, 181, 4, 34, "Text"], Cell[15009, 495, 261, 5, 55, "Text"], Cell[15273, 502, 671, 21, 77, "Text"], Cell[15947, 525, 259, 7, 55, "Text"], Cell[16209, 534, 60, 1, 60, "Input"], Cell[CellGroupData[{ Cell[16294, 539, 31, 0, 56, "Exercise"], Cell[16328, 541, 150, 5, 34, "ExerciseText"], Cell[16481, 548, 168, 4, 146, "Input"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[16698, 558, 75, 0, 77, "Section"], Cell[16776, 560, 117, 3, 34, "Text"], Cell[16896, 565, 121, 2, 60, "Input"], Cell[17020, 569, 109, 3, 34, "Text"], Cell[17132, 574, 45, 1, 60, "Input"], Cell[17180, 577, 204, 8, 34, "Text"], Cell[17387, 587, 99, 2, 60, "Input"], Cell[17489, 591, 42, 1, 60, "Input"], Cell[17534, 594, 182, 3, 81, "Input"], Cell[17719, 599, 110, 2, 60, "Input"], Cell[17832, 603, 184, 3, 103, "Input"], Cell[18019, 608, 279, 7, 55, "Text"], Cell[18301, 617, 72, 1, 60, "Input"], Cell[18376, 620, 72, 1, 60, "Input"], Cell[18451, 623, 231, 5, 55, "Text"], Cell[18685, 630, 146, 3, 60, "Input"], Cell[18834, 635, 171, 3, 81, "Input"], Cell[19008, 640, 108, 3, 34, "Text"], Cell[19119, 645, 214, 4, 124, "Input"], Cell[19336, 651, 170, 2, 79, "Input"], Cell[19509, 655, 156, 2, 81, "Input"], Cell[19668, 659, 130, 2, 81, "Input"], Cell[19801, 663, 168, 3, 81, "Input"], Cell[19972, 668, 153, 3, 81, "Input"], Cell[20128, 673, 754, 15, 120, "Text"], Cell[20885, 690, 55, 1, 60, "Input"], Cell[20943, 693, 62, 1, 60, "Input"], Cell[21008, 696, 166, 3, 82, "Input"], Cell[21177, 701, 46, 1, 60, "Input"], Cell[21226, 704, 446, 14, 55, "Text"], Cell[21675, 720, 268, 5, 103, "Input"], Cell[21946, 727, 221, 4, 81, "Input"], Cell[22170, 733, 201, 3, 81, "Input"], Cell[22374, 738, 354, 7, 77, "Text"], Cell[22731, 747, 58, 1, 60, "Input"], Cell[22792, 750, 663, 24, 55, "Text"], Cell[23458, 776, 213, 3, 81, "Input"], Cell[23674, 781, 235, 4, 81, "Input"], Cell[23912, 787, 198, 3, 81, "Input"], Cell[CellGroupData[{ Cell[24135, 794, 31, 0, 56, "Exercise"], Cell[24169, 796, 158, 5, 34, "ExerciseText"], Cell[24330, 803, 234, 4, 48, "Text"] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)