Escolar Documentos
Profissional Documentos
Cultura Documentos
nb
Introduccin a Mathematica
Mathematica es un paquete de software matemtico, de uso fcil y gran capacidad, que nos permitir realizar las operaciones necesarias para resolver problemas que ya se abordaron en su momento en las diferentes asignaturas de matemticas en cuatrimestres anteriores. En este primer apartado nos iniciaremos en el conocimiento bsico de las funciones ms importantes de Mathematica que nos sern imprescindibles para el posterior desarrollo de las prcticas de las diversas asignaturas. En cada prctica se har un estudio de los comandos especficos que son necesarios para el desarrollo de las mismas
Introduccion a mathematica.nb
23 6
De este modo las operaciones quedan numeradas en el orden en que se van realizando, con lo que se pueden ir utilizando los resultados previos con solo indicar en que momento se obtuvieron. El resultado de la ltima operacin se puede recuperar utilizando el smbolo %, el penltimo mediante %% y en general el resultado de la k-sima operacin con el smbolo %k.Por tanto, la siguiente operacin hace referencia al resultado obtenido en la primera operacin
In[2]:= Out[2]=
H3 + 9L %1 2
En Mathematica el producto de dos factores se puede representar tanto por el asterisco como por un espacio en blanco. Es importante recordar que cuando se opera con variables no es lo mismo escribir x y que xy ya que Mathematica en el primer caso entiende x*y mientras que en el segundo considera una nueva variable llamada (xy). Las operaciones algebraicas comunes y el orden de evaluacin de los diferentes factores sigue el mismo criterio que cualquier lenguaje de programacin. En cualquier caso siempre se puede controlar la operacin que se realiza colocando parntesis.
35 3 5
Introduccion a mathematica.nb
Lo mismo sucede cuando se realizan operaciones con variables. Siempre que no se pueda simplificar Mathematica presenta el valor que se ha introducido.
In[4]:=
Hx ^ 3 + 5L x ^ 2 5 + x3 x2
Out[4]=
En ocasiones puede interesar llegar a un resultado aproximado en vez de al resultado exacto, para hacerse una idea del orden de magnitud del resultado obtenido. Para ello se pueden aplicar tres mtodos a) Introducir alguno de los factores de la operacin que se desea realizar de forma aproximada. Para ello basta con poner en forma decimal algn factor. Ej: 10 = 10.0 ( con poner tan solo el punto decimal es suficiente)
In[5]:= Out[5]=
3. 5 0.6
b) Utilizar el comando N[ ]. Con este comando se puede obtener el resultado de forma aproximada e incluso indicar el nmero de decimales que se desea que aparezcan. Primero se introduce la operacin a realizar y separado con una coma el nmero de dgitos significativos.
In[6]:= Out[6]=
c) Utilizar el comando N pero al final de la expresin que se desea evaluar de la siguiente manera expr //N ( Por defecto Mathematica presenta 6 dgitos significativos ).
In[7]:= Out[7]=
20 17 N 1.17647
Introduccion a mathematica.nb
In[8]:= Out[8]=
In[9]:= Out[9]=
In[10]:= Out[10]=
En cuanto a los comandos, todos ellos comienzan tambin con mayscula y adems el argumento que introducimos as como el resto de datos para el control de la operacin van entre corchetes. Comando[arg , control_1, control_2, . . . ]
In[11]:= Out[11]=
In[12]:=
1 0.5 0 -0.5 -1 -2 2
1 -1 0 0 -1 2 -2
Out[12]=
SurfaceGraphics
Introduccion a mathematica.nb
con rellenar el recuadro con la expresin que se desea evaluar. En esta paleta tambin aparecen funciones trigonometricas tanto directas como inversas Sin[ ArcCos[ ] , y las correspondientes expresiones Hiperblicas Cosh[ ], ArcTanh[ ]. Repasando esta paleta se pueden encontrar funciones como el factorial !, el entero mas cercano a x Round[x], etc. ],
5.- Listas
En muchas ocasiones es necesario utilizar datos que se encuentran relacionados entre si y que pueden ser todos ellos el argumento de una funcin. En esas ocasiones utilizamos listas para definir todos estos elementos. Una lista contiene elementos que se encuentran separados por comas de la siguiente manera:
In[13]:= Out[13]=
81, 3, 6, 9, 12<
81, 3, 6, 9, 12<
De este modo todos estos elementos se pueden utilizar como una nica variable.
In[14]:= Out[14]=
2^%
En una lista se pueden introducir elementos que no sean del mismo tipo, como valores numricos, variables, texto, etc. En estos casos deberemos referirnos a uno especficamente para poder realizar la operacin correspondiente. Para ello se considera la posicin que ocupa dicho elemento en la lista y se hace referencia a l de la siguiente manera:
In[15]:= Out[15]=
Una vez definida la lista pasamos a operar con los elementos de la misma. La expresin a[[i]] hace referencia al elemento i-esimo de la lista.
Introduccion a mathematica.nb
In[16]:= Out[16]=
In[17]:= Out[17]=
In[18]:= Out[18]=
In[19]:= Out[19]=
El tercer elemento de la lista es a su vez una lista por lo que se puede hacer referencia al elemento en si, a[[3]], o a cada uno de los elementos que lo componen a[[3,1]] y a[[3,2]] pudiendo operar con ellos por separado
In[20]:=
Out[20]=
In[21]:= Out[21]=
Este tipo de listas tienen gran aplicacin, para dar lmites de integracin, zonas donde se desea dibujar una funcin y fundamentalmente para el trabajo con matrices. Toda matriz se expresa como una lista, de modo que se puede definir un vector como una lista unidimensional {1,2,3}mientras que una matriz es una lista bidimensional {{1,3,5},{2,4,6}} (matriz 2x3). Mathematica cuando devuelve resultados tambin los devuelve en forma de lista, por ejemplo cuando proporciona las raices de un polinomio. Ejemplos:
In[22]:=
Introduccion a mathematica.nb
8 6 4 2 -3 -2 -1
Out[22]=
Graphics Integrate@x ^ 2, 8x, 0, 2<D 8 3 a = 881, 3, 5<, 8 2, 4, 6<< 881, 3, 5<, 82, 4, 6<< MatrixForm@aD J 1 3 5 N 2 4 6
In[23]:= Out[23]=
In[24]:= Out[24]=
In[25]:=
Out[25]//MatrixForm=
In[26]:= Out[26]=
Chop@Solve @x ^ 3 + 2 x ^ 2 5 x 4 == 0, xD ND
Las operaciones 24 y 25 hacen referencia a operaciones con matrices. La 24 define una matriz de dos filas y tres columnas mientras que MatrixForm[ ] representa la Lista anterior en forma matricial. La ltima operacin calcula las raices de la ecuacin y devuelve una lista de tres listas cada una de ellas con un elemento ( una solucin de la ecuacin). Como veremos posteriormente, no ser necesario memorizar todo este tipo de comandos puesto que una de las herramientas ms tiles de Mathematica 3.0 (las paletas de comandos) nos permitir introducir estas sentencias de otra forma Utilizando el comando Table se pueden generar listas sin dar explcitamente cada uno de los elementos que la componen. Basta con indicar la expresin a travs de la que se genera y el nmero de elementos que la componen de la siguiente manera: Table[expresin,{i, min,max,paso}] donde la expresin es una expresin en la que i variar entre los valores mnimo y mximo especificados y considerando el paso indicado en la lista.
In[27]:= Out[27]=
8x2 , x4 , x6 , x8 <
Introduccion a mathematica.nb
Se pueden generar de esta manera listas de varias dimensiones, introduciendo en vez de una nica expresin una lista de expresiones
In[28]:= Out[28]=
8 =, 9 3
10 == 3
Si no se indica el paso se considera que vale uno. De igual manera, si no se indica el valor mnimo se comienza desde uno
In[29]:= Out[29]=
81, 2, 3, 4<
Table@i, 8 i, 4<D
Asi como conseguimos listas dimensiones introduciendo varias expresiones,tambin se pueden conseguir listas de este tipo introduciendo varios ndices.
In[30]:= Out[30]=
In[31]:=
Out[31]//MatrixForm=
Se ha obtenido una matriz bidimensional en las columnas hacen referencia a todos distintos valores de j (2,3,4,5) mientras que las filas hacen referencia a los valores de i (1,2,3)
Ejercicios de la seccin 5
- Utilice Table para hacer una lista de cinco nueves - Utilice Table para hacer una lista conjunta de los cuadrados y los cubos de los numeros pares del uno al nueve - Utilice Table para crear una lista con las potencias de x de 2 a 9 con paso 3 - Seleccione de la lista anterior x5 y evalelo para x = 2 - Crear con el comando Table una matriz 3 x 2
Introduccion a mathematica.nb
En general los ejercicios que realizaremos con Mathematica no sern nicamente operaciones aritmticas sino que se necesitar utilizar funciones definidas por el usuario para realizar el anlisis de las mismas asi como para operar con elllas. Por ello se debe aprender a definir funciones de una o varias variables, as como evaluar las mismas para cualquier punto.
6.1.-Definicin de funciones
Para definir funciones, igual que cualquier otra variable definida por el usuario, se recomienda utilizar palabras que empiecen por minscula o letras minsculas, para evitar que las variables definidas por el usuario se confundan con variables o comandos propios de Mathematica. La definicin de funciones es muy sencilla basta con indicar la expresin correspondiente de la siguiente manera:
In[32]:=
f@x_ D := x ^ 3 + 2 x ^ 2 + 3 x + 5
Esta sentencia no da ningn resultado puesto que tan solo se trata de una definicin. Para ver que efectivamente la expresin que se ha introducido se corresponde con la deseada basta con preguntar cual es la funcin f que se ha definido, de la siguiente manera:
In[33]:=
?f Global`f f@x_D := x3 + 2 x2 + 3 x + 5
Es fundamental definir de esta manera las funciones, colocando como variable independiente la variable x_, este smbolo permite considerar la variable x como una variable global que puede ser tanto un valor numrico como una expresin en la que haya definidas otras variables
In[34]:= Out[34]=
f@y zD
In[35]:= Out[35]=
Del mismo modo se pueden asignar valores a las variables de las funciones a travs de la expresin /. de la forma siguiente:
In[36]:=
f@xD . x > 3
Introduccion a mathematica.nb
10
Out[36]=
59 f@xD . x > u + v
In[37]:= Out[37]=
5 + 3 Hu + vL + 2 Hu + vL2 + Hu + vL3
El smbolo /. se puede considerar como "Tal que" de forma que la ltima operacin se puede traducir como: calcular cuanto vale f[x] tal que x=a+b. Lo mismo que se ha realizado para una funcin de una variable se podra reaizar para funciones de varias variables.
In[38]:=
In[39]:= Out[39]=
In[40]:= Out[40]=
2 + 5 Hr sL + Hr sL2 + 2 Hr sL t
Las funciones que se han definido hasta el momento tienen un dominio que para las funciones polinmicas, por ejemplo, es todo el conjunto de los nmeros reales. Sin embargo se pueden definir tambin funciones a trozos, definiendo en cada caso en que dominio esta definida la funcin. Se pueden representar este tipo de funciones de tres formas distintas. 1.- Asignando sucesivamente los valores de la funcin en cada intervalo.
In[41]:=
g@x_ ; x < 2D := 3 x; g@x_ ; 2 <= x <= 2D := 6; g@x_ ; x > 2D := 3 x Plot@g@xD, 8x, 4, 4<, PlotRange > 80, 12<D
In[44]:=
12 10 8 6 4 2 -4
Out[44]=
-2
Graphics
Se ha definido la funcin g[x] dividida en tres trozos,x<-2 , -2<=x<=2 , x>2. Se puede definir la misma funcin con el comando Which:
Introduccion a mathematica.nb
11
In[45]:=
In[46]:=
12 11 10 9 8 7 -4
Out[46]=
-2
Graphics
En este caso se definen los intervalos y seguidos con comas los valores de la funcin en estos intervalos de la forma: Which[intervalo1, valor, intervalo2,valor,......] Por ltimo, otra forma de definir funciones a trozos es introduciendo el comando if
In[47]:=
In[48]:=
Graphics
En este caso debido a la nomenclatura del comando If tan solo se pueden dividir en dos intervalos ya que se pueden asignar valores distintos en funcin de que se cumpla la condicin o no se cumpla. El comando If se define de la siguiente manera: If [condicin,expresin1,expresin2]. De esta manera si se cumple la condicin se ejecuta la expresin 1 y si no se cumple la expresin se ejecuta la expresin 2.
Introduccion a mathematica.nb
12
siempre que las expresiones resulten complejas es muy til considerar el comando Simplify[ ] que simplifica al mximo la expresin con que se trabaja. Por ejemplo:
In[49]:= Out[49]=
In[50]:= Out[50]=
In[51]:=
Out[51]=
In[52]:= Out[52]=
In[53]:= Out[53]=
En las tres ltimas operaciones se ha realizado una integral indefinida, a continuacin se ha realizado la derivada del resultado y por ltimo se ha simplificado la expresin En este ltimo ejemplo vemos como obtenemos el resultado inicial al derivar el resultado obtenido de la integral anterior, aunque si no hubieramos utilizado el comando Simplify[ ] resultara difcil darse cuenta de ello. Otra operacin que se puede realizar es la de obtener los factores de una expresin algebraica, muy til para obtener las raices de un polinomio, por ejemplo. Para ello se utiliza el comando Factor[ ]
In[54]:=
Out[54]=
In[55]:= Out[55]=
H1 + x + 3 yL4
Introduccion a mathematica.nb
13
In[56]:=
4000 2000 0 -4
1 -2 0 2 0 -1 4 -2
Out[56]=
SurfaceGraphics
In[57]:=
In[58]:=
-4
Out[58]=
Graphics
De este modo la representacin en dos dimensiones indica los puntos de corte de la superficie definida con el plano z=0 . Del mismo modo puede interesar en ocasiones obtener el desarrollo completo de una expresin algebraica que est simplificada. Para ello se utiliza le comando Expand[ ] como veremos en el siguiente ejemplo
In[59]:= Out[59]=
Hx ^ 2 + 1L ^ 2 Hx + 2L ^ 3 H2 + xL3 H1 + x2 L Expand@%D 8 + 12 x + 22 x2 + 25 x3 + 20 x4 + 14 x5 + 6 x6 + x7
2
In[60]:= Out[60]=
Ejercicios de la seccin 6
Introduccion a mathematica.nb
14
- Expandir la expresin de f(x) hasta obtener un polinomio de grado 6 en x - Aplicar la expresin Factor [ ] para llegar a la expresin de partida.
7.- Paletas
Una de las mejoras sustanciales de Mathematica 3.0 en cuanto a la comunicacin con el usuario es la presentacin de paletas que permiten introducir sentencias y realizar operaciones de forma ms sencilla. Para algunas sentencias de Mathematica como Sqrt[ ] ( Raiz Cuadrada ), Sum[ ] ( Sumatorio ), Product[ ] ( Producto ),etc. resulta complicado escribir en el notebook cual es la operacin que se desea realizar, mientras que con las paletas estas operaciones vienen representadas por sus smbolos matemticos por lo que basta con introducir los datos de la operacin para que sta se pueda llevar a cabo. Los smbolos que utilizan estas paletas para realizar las operaciones anteriores !!!! son: , = , = . Introduciendo en los recuadros los valores deseados se completa la sentencia con lo que se puede realizar la operacin. Basta con pulsar el tabulador para pasar de un recuadro a otro e ir llenando la sentencia completa.
En este sentido Mathematica 3.0 introduce ya como predefinidas una serie de paletas en las que se representan tanto comandos, como operaciones, caracteres, matrices,etc. Para ver todas ellas basta con activar en el menu File la palabra Palettes con lo que se puede ver todas las paletas predefinidas. Una de las aplicaciones mas comodas de las paletas es la definicin de matrices puesto que partiendo de matrices 2 x 2 que aparecen en la paleta se puede llegar a conseguir matrices de cualquier dimensin. Se aumenta el nmero de filas con el comando " Control + Intro" mientras que el nmero de columnas aumenta al pulsar "Control + ,"
Introduccion a mathematica.nb
15
cies. En este apartado se har una exposicin general de los comandos que se utilizarn posteriormente en las prcticas de las diferentes asignaturas. Debido a que la nomenclatura es exactamente igual se introducirn de forma conjunta las expresiones de dibujo en dos y tres variables.
In[62]:=
5 4 3 2 1 -3 -2 -1
Out[63]=
In[64]:=
10 5 0 -5 -2 2
2 1 -1 0 0 -1 1 2 -2
Introduccion a mathematica.nb
16
Out[64]=
SurfaceGraphics
Estos dos comandos permiten dibujar funciones de la forma y = f(x) o z = g(x,y). Por otro lado una grn cantidad de funciones no vienen representadas de forma explcita e incluso es imposible despejar una de las variables en funcin del resto. Por ello se necesita otra serie de comandos que nos permitan representar esas funciones. Las otras dos formas en que mas habitualmente se presentan las funciones son la forma paramtrica y la forma implcita. A continuacin veremos como se representan las funciones cuando viene definidas de esta manera.
Introduccion a mathematica.nb
17
0.5
Graphics
La funcin representada es x=Cos[5*t],y=Sin[3*t]. Para el caso de ParametricPlot3D veremos un ejemplo de una curva y otro de una superficie.
In[66]:=
0.5
Out[66]=
Graphics3D
Se trata de una curva puesto que tan solo se tiene un parmetro. La funcin es de la forma: x=Cos[5t] y=Sin[3t] z=Sin[t] Para el caso de una superficie:
In[67]:=
ParametricPlot3D@8Cos@uD Cos@vD, Sin@uD Cos@vD, Sin@vD<, 8u, 0, 2 Pi<, 8v, Pi, Pi<D
Introduccion a mathematica.nb
18
0.5 0 5
Out[67]=
Graphics3D
8.3.- ImplicitPlot
Este comando se emplea para representar funciones definidas de forma implicita de dos variables. Para poder utilizar estos comandos se debe hacer referencia a paquetes especificos que tienen los programas con los que se ejecutan estos comandos. Para cargar estos paquetes se debe ejecutar la siguiente orden: <<Graphics`ImplicitPlot` Estas instrucciones permiten cargar la librers de tipo grafico que permite representar funciones implicitas de dos variables.
In[68]:=
<< Graphics`ImplicitPlot`
Una vez cargadas las libreras, pasamos a explicar la nomenclatura de cada uno de los dos comandos. ImplicitPlot[eq,{x,x_min,x_max}]. Donde eq es la ecuacin que define la funcin implicita y se introduce adems el intervalo donde se dibuja la funcin.
In[69]:=
Introduccion a mathematica.nb
19
2 1
-2
-1 -1 -2
Out[69]=
In[70]:=
In[71]:=
Out[71]=
In[72]:=
2 1 -3 -2 -1 -1 -2
Out[72]=
In[73]:=
Introduccion a mathematica.nb
20
2 1 -3 -2 -1 -1 -2
Out[73]=
Graphics
En los dos ltimos ejemplos se han presentado dos formas distintas de representar varias finciones en un mismo grfico. El comando Show[ ] permite representar diferentes grficos combinados. Mientras que el comando ImplicitPlot permite representar varios grficos a la vez agrupados entre llaves El comando ImplicitPLot3D representa funciones de tres variables en forma implcita. La nomenclatura es de la siguiente forma: ImplicitPlot3D[eq,{x,x_min,x_max},{y,y_min,y_max},{z,z_min,z_max}] Ejemplos:
Ejercicios de la seccin 8
- Dibujar la funcin sen(x)/x as como la funcin sen(x) en el intervalo (-10,10) - Dibujar la funcin x*y - Dibujar la funcin paramtrica - Dibujar la funcion x = 4 Cos(-11t / 4)+7 Cos(t) y = 4 Sin(-11t / 4)+7 Sin(t) x= Cos(u)Sin(v) y= Cos(u)Cos(v) z=v - Dibujar la funcin : 4x^2+y^2=1 Desde 0 a 8Pi
9.- Packages
Una de las caracteraticas ms importantes de Mathematica es que se trata de un sistema extensible. Es decir, hay una gran cantidad de funciones matemticas, constantes , etc. que estn introducidas en el programa. Pero utilizando el lenguaje de Mathematica se pueden aadir ms funciones a las ya existentes. En general, cuando se realizan las operaciones mas comunes es suficiente con el programa para que se puedan ejecutar. Sin embargo cuando se trabaja en un campo especfico, hay una serie de funci-
Introduccion a mathematica.nb
21
ones que no estn especificadas en Mathematica y se introducen de otro modo. En estos casos se pueden utilizar los Mathematica Packages que son libreras en las que se encuentran definidos procedimientos de clculo relacionados con operaciones matemticas mas especficas. Estos Packages consisten en funciones definidas en el lenguaje de Mathematica que le permiten al programa realizar estas operaciones mas complejas. Para poder utilizar las funciones que se encuentran en estos Packages en primer lugar se debe indicar a Mathematica que se van a utilizar en la sesin funciones especficas de ese paquete. Para ello se carga el paquete en cuestin de la siguiente manera:
In[74]:=
<< Calculus`VectorAnalysis`
Una vez cargado este Package ya se pueden realizar operaciones relacionadas con los comando que introduce este fichero como pueden ser el clculo de la divergencia , del gradiente, etc
In[75]:= Out[75]=
Existen una gran cantidad de Packages que ya vienen cargados en la instalacin de Mathematicas referentes a diversos campos como son : Algebra, Clculo, Matemtica Discreta, Geometra, Grficos, Algebra Lineal, Estadstica ,etc. Dentro de cada uno de estos campos se encuentran diversos Packages que se van cargando. Para ver con detenimiento los distintos Packages que proporciona Mathematica utilice la ayuda de Mathematica y en el apartado de Add-ons seleccione el campo Standard Packages. A partir de aqui seleccionando cada uno de los campos se pueden ver los diferentes Packages que existen para cada rama matemtica. Como se puede apreciar al cargar el paquete en la sesion de Mathematica se hace referencia al campo general del paquete (en nuestro caso Calculus) y a continuacin encerrado entre tildes " ` " el paquete particular que se desea cargar (`VectorAnalysis`). Recordando operaciones que se hicieron en su momento, al explicar ImplicitPlot e ImplicitPlot3D vimos como se tenan que cargar dos paquetes que se encontraban en el directorio Graphics que eran: <<Graphics`ImplicitPlot` <<Graphics`ImplicitPlot3D`
Introduccion a mathematica.nb
22
se indica en la expresin. Este comando funcionar correctamente siempre que se pueda obtener de forma exacta la raiz del polinomio.
In[76]:= Out[76]=
Roots@Hx + 2L ^ 3 Hx 3L == 0, xD x 3 x 2 x 2 x 2
In[77]:= Out[77]=
Roots@Hx + y 1L Hx 2L == 0, xD x 2 x 1y
In[78]:= Out[78]=
Roots@Hx + y 1L Hx 2L == 0, yD y 1x
La expresin Roots[ ] devuelve todas las raices de la ecuacin.En caso de haber mas de una solucin relaciona todas ellas mediante operadores lgicos ( | | significa OR , && significa AND ). En caso que no se pueda obtener el valor exacto de la raiz se utilizar el comando NRoots[ ] que proporciona una solucin aproximada.
In[79]:= Out[79]=
Roots@x ^ 7 + x + 4 == 0, xD
x Root@4 + #1 + #17 &, 1D x Root@4 + #1 + #17 &, 2D x x Root@4 + #1 + #17 &, 4D x x Root@4 + #1 + #17 &, 6D x NRoots@x ^ 7 + x + 4 == 0, xD
In[80]:= Out[80]=
x 1.16076 x 0.776478 0.89959 x 0.776478 + 0.89959 x 0.226587 1.21468 x 0.226587 + 1.21468 x 1.13027 0.566349 x 1.13027 + 0.566349
En este ltimo ejemplo se puede ver como intentando obtener las raices con el comando Roots no se llega a una solucin por lo que hay que buscar la solucin aproximada. Para un caso mas general en que se desea resolver una ecuacin cualquiera se utiliza el comando Solve[ ] que funciona de la misma manera que el comando Roots[ ]
In[81]:= Out[81]=
Solve@Hx + 2L ^ 3 Hx 3L == 0, xD
Los resultados se presentan en una lista en que se asignan a x un valor con el signo x->. Cuando no se pueden obtener los valores exactos la solucin queda en funcin del comando Root y se puede obtener la solucin aproximada aplicando el comando N[ ]
Introduccion a mathematica.nb
23
In[82]:= Out[82]=
Solve@x ^ 7 + x + 4 == 0, xD 88x Root@4 + #1 + #17 8x Root@4 + #1 + #17 8x Root@4 + #1 + #17 8x Root@4 + #1 + #17 N@%D &, &, &, &,
1D<, 2D<, 8x Root@4 + #1 + #17 &, 3D<, 4D<, 8x Root@4 + #1 + #17 &, 5D<, 6D<, 8x Root@4 + #1 + #17 &, 7D<<
In[83]:= Out[83]=
88x 1.16076<, 8x 0.776478 0.89959 <, 8x 0.776478 + 0.89959 <, 8x 0.226587 1.21468 <, 8x 0.226587 + 1.21468 <, 8x 1.13027 0.566349 <, 8x 1.13027 + 0.566349 <<
Este Comando permite resolver ecuaciones que no sean polinmicas como por ejemplo:
In[84]:=
Solve@Sin@xD Cos@xD == 0, xD
Solve::ifun : Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. More
Out[84]=
98x 0<, 9x
=, 9x == 2 2
En este caso se obtienen algunas soluciones triviales y devuelve un mensaje que indica la posible existencia de mas soluciones Este comando Solve permite tambin resolver sistemas de ecuaciones que se representan en una lista o bien unidas a travs del smbolo && (And). Ejemplos de este tipo se vern en las prcticas correspondientes al Algebra. En muchas ocasiones se emplean parmetros que pueden ir variando segn se desee y que mejoran o empeoran el comportamiento de un sistema. Por ello es muy interesante, poder resolver ecuaciones en las que se encuentren parmetros. Para ello el comando mas indicado en el paquete Mathematica es Reduce[ ]. La forma de presentarlo es idntica a los anteriores. Veamos algn ejemplo:
In[85]:=
Clear@a, xD Reduce@3 a x ^ 3 2 x + 3 == 0, xD a 3 2 a 0 && Hx Root@3 2 #1 + 3 a #13 &, 1D x x Root@3 2 #1 + 3 a #13 &, 3DL 0 && x Root@3 2 #1 + 3 a #13 &, 2D
In[86]:= Out[86]=
En este ejemplo se ve claramente el funcionamiento del comando. Si a vale cero logicamente se trata de una ecuacin en que solo hay una raiz. Si a es distinto de cero se obtienen tres raices distintas dado que estamos estudiando un polinomio de grado tres.
Introduccion a mathematica.nb
24
Este comando tambin se puede emplear cuando se trabaja con un sistema de ecuaciones como en el caso anterior, definiendo todos ellos entre llaves o con el smbolo &&. Ej:
In[87]:=
Clear@a, r, sD 882, a<, 83, 1<<.8r, s< == 80, 1< 82 r + a s, 3 r + s< 80, 1<
In[88]:= Out[88]=
In[89]:= Out[89]=
Resuelve el sistema matricial considerando el valor del parmetro a. Lgicamente el valor del determinante de la matriz tiene que ser no nulo ya que el rango debe ser dos para que exista solucin. Cuando no se pueden obtener soluciones mediante los comandos que se han explicado se debe pasar a los mtodos iterativos para la obtencin de soluciones de la ecuacin. Para ello se utiliza el comando FindRoot[ecuacin,{x,sol_aprox}] en el que se indica la ecuacin que se desea resolver y un valor cercano a la solucin de la ecuacin. Debido a esto se recomienda anteriormente dibujar la funcin para tener una idea aproximada de la posicin de la solucin. Ejemplo: Calcular las soluciones de la ecuacin x Sin[x]-1/2= 0
In[90]:=
1 -1 -2 -3 1 2 3 4
Out[90]=
In[91]:= Out[91]=
In[92]:= Out[92]=
Ejercicios de la seccin 10
Introduccion a mathematica.nb
25
- Resolver x^2+2x+2=0 - Resolver x^2+a x+2=0 - Calcular raices de la ecuacin Tan[x] == Cos[x] en el intervalo [0 , Pi]