Download Prácticas De Laboratorio

Document related concepts

Historia de la trigonometría wikipedia , lookup

Mathematica wikipedia , lookup

Búsqueda de patrones wikipedia , lookup

Identidad (matemática) wikipedia , lookup

Transcript
PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA *******
Prácticas
De
Laboratorio
*******
AMPLIACIÓN MATEMÁTICAS Y
TRIGONOMETRIA ESFÉRICA ESCUELA SUPERIOR DE LA MARINA CIVIL DIPLOMADO EN NAVEGACIÓN MARÍTIMA
ISIDORO PONTE­E.S.M.C. 1 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA PRACTICAS DE LABORATORIO AMPLIACIÓN DE MATEMATICAS y TRIGONOMETRÍA ESFÉRICA Cada alumno recibirá 0,75 crédito (7,5 horas) de prácticas con el programa MATHEMATICA en el laboratorio de informática. PRÁCTICA 1: Elementos básicos de MATHEMATICA. PRÁCTICA 2: Matrices. PRÁCTICA 3: Determinantes. PRÁCTICA 4: Sistemas de ecuaciones lineales. Clasificación y resolución. PRÁCTICA 5: Programación lineal. PRÁCTICA 6: Trigonometría plana y esferíca PRÁCTICA 7: PRACTICA COMPLEMENTARIA BIBLIOGRAFÍA BÁSICA: MALAINA, J. L. Fundamentos matemáticos con MATHEMATICA. Servicio de Publicaciones de la Universidad del País Vasco. CASTILLO, E. y OTROS Domine MATHEMATICA al 99%. Editorial Paraninfo. BLACHMAN,N. MATEMÁTICA un enfoque práctico. Editorial Ariel Informática.
ISIDORO PONTE­E.S.M.C. 2 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA PRACTICAS DE LABORATORIO AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRA ESFÉRICA Cada alumno recibirá 0,75 créditos (7,5 horas) de prácticas con el programa MATHEMATICA en el laboratorio de informática. PRÁCTICA 1: Elementos básicos de MATHEMATICA. Aritmética básica. Teoría de números. INTRODUCCIÓN En los últimos años se han producido notables avances en la computación simbólica. Tradicionalmente los ordenadores estaban diseñados para trabajar con números aproximados y los programas reproducían ciertos algoritmos de cálculo. Lo que antes era impensable por su complicación y limitación de medios, se hace ahora posible. Si la importancia del cálculo simbólico es grande para la enseñanza de conceptos y resolución de problemas simples matemáticos, es mucho más importante para la resolución de problemas complejos, como ocurre en el caso de las ciencias aplicadas que usan con mucho exceso los cálculos matemáticos y las propias matemáticas como herramienta. Además esta herramienta permitirá al alumno reforzar la comprensión de los conceptos y profundizar en los cálculos así como comprobar las soluciones, dibujar funciones y estudiar sus características. Y por último recalcar, que será en muchas asignaturas de la carrera donde se usará el cálculo simbólico. SISTEMAS GENERALES DEL CÁLCULO SIMBÓLICO Los más conocidos son: REDUCE: Uno de las más usados y mas antiguos. Aunque en principio fue diseñado, en 1963, por Anthony C. Hearn para resolver problemas de física de alta energía, fue a partir de 1976 cuando se generalizó su uso para el cálculo simbólico. Está escrito en lenguaje LISP. Sus principales características son su portabilidad y modularidad. MAPLE: Diseñado en la universidad de Waterloo (Canadá) en 1983. Está escrito en lenguaje C. Inicialmente dirigido a la enseñanza y actualmente es una de los más utilizados.
ISIDORO PONTE­E.S.M.C. 3 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA SMP: Escrito por Stephen Wolfram a principios de los 80 y constituye el germen de MATHEMATICA. MATHEMATICA: Desarrollado también por S. Wolfram en el año 1988. Destaca del resto de sistemas por sus posibilidades gráficas. Puede usarse en distintas plataformas hardware. Su implementación está hecha en lenguaje C. muMATH: su desarrollo pertenece a principios de los setenta. Pensado para su uso en la enseñanza. Fue el primer sistema de cálculo simbólico. Funciona en el sistema operativo MS­DOS. Escrito en LISP. Su ampliación fue: DERIVE: apareció en el año 1988. Es muy sencillo de usar , muy barato , se usa en la enseñanza secundaria. SCRATCHPAD Y AXIOM: elaborados y pensados dentro del álgebra computacional. Tienen una estructura muy diferente a los anteriores. Tienen un alto coste aparte de que necesitan tanto hardware como software muy potentes. DIFERENTES CONCEPCIONES DE MATHEMATICA MATHEMATICA puede ser entendido como: I) UNA CALCULADORA DE TIPO NUMÉRICO Pero con dos grandes diferencias a favor de MATHEMATICA: +) permite trabajar con alrededor de 750 funciones diferentes ya implementadas. ++) trabaja con la precisión indicada por el usuario ( incluyendo precisión infinita y cálculo simbólico). II) CALCULADORA SIMBÓLICA Puede definirse una función con una variable x o varias, luego almacenarse y sustituirse por expresiones o parámetros. III) POTENTE HERRAMIENTA DE CÁLCULO SIMBÓLICO Deriva, integra funciones, resuelve Ecuaciones diferenciales en forma simbólica, etc. IV) PAQUETE DE SUBRUTINAS PARA CÁLCULO NUMÉRICO MATHEMATICA permite realizar muchas operaciones que requieren uso de funciones, subrutinas, procedimientos especiales. Por ejemplo, la integración numérica, la programación lineal están ya implementadas y no hay mas que usarlas directamente. V) UN PAQUETE GRÁFICO
ISIDORO PONTE­E.S.M.C. 4 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA Permite dibujar en dos o tres dimensiones, elegir perspectivas, sistemas de representación, etc. VI) LENGUAJE DE PROGRAMACIÓN DE ALTO NIVEL VII) SISTEMA PARA CREAR DOCUMENTOS INTERACTIVOS Que incluyen texto, gráficos, sonidos, animación, etc. VIII) SISTEMA DE APOYO A OTROS PROGRAMAS Permite el intercambio de información y tareas con otros programas. ELEMENTOS BÁSICOS DE MATHEMATICA. MATHEMATICA está estructurado en dos partes: El Kernel y el Frond End. El Kernel se encarga de realizar todos los procesos de cálculos internos, ejecutando las órdenes y determinando los resultados del procesamiento solicitado. Al Frond End se le encomienda la comunicación con el usuario, haciendo de intermediario entre el Kernel y el usuario, es de tipo Notebook (anotaciones o apuntes) que permite generar documentos interactivos en los se mezclan gráficos y textos; también se incluyen todos los comandos de MATHEMATICA a usar por el Kernel. MATHEMATICA es un programa interactivo, al recibir un mensaje lo ejecuta y devuelve un valor. Opera con input­output secuencialmente y los va numerando (el n­ésimo será la entrada In[n] y la salida Out[n]). Una vez cargado el programa el usuario introduce los datos con <intro> (o <shift>+<return>) a continuación tendremos la respuesta. In[1]:=1+2 Out[1]=3 Una sesión de trabajo interactivo con MATEMÁTICA consiste en un dialogo a través de input­output: In[1] In[2] In[3] … In[k] ... In[n] y sus correspondientes Out[1] Out[2] Out[3] …Out[k] …Out[n] Se usa %k para denotar la última salida Out[k]. NÚMEROS . OPERACIONES. PRECISION MATEMÁTICA reconoce números fracionarios, números con punto decimal y números complejos expresados en forma binómica x + yI. Las operaciones + , ­ , * (también se usa espacio en blanco para el producto) / y ^ nos permiten operar con números.
ISIDORO PONTE­E.S.M.C. 5 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA El orden jerárquico en la ejecución de las operaciones es el habitual en matemáticas. In[1]:= H15 • 24 - H2 • 3L ^4L • 23 Out[1]= 277 14904 In[2]:= H1.234 - 234.2L * H6.4 - 2.4L * 10^3 Out[2]= -931864. In[3]:= HI - 3 IL ^2 * H1 - IL • HH1 + 5 IL * H7 - 4 ILL
Out[3]= 8 116 I +
845
845 In[4]:= H1 + 3 IL * H2 - 2.7 IL • H4 - 3. IL
Out[4]= 1.22 + 1.74 I MATEMÁTICA trabaja con dos tipos de precisión: precisión máquina (16 dígitos) y precisión arbitraria. La función N nos permite aproximar un número real mediante un número con punto decimal con una precisión determinada. N[x,n] transforma el número x en un punto decimal con precisión n, mostrando en pantalla a lo suma n dígitos. N[x] o x//N transforma el número x en un numero con punto decimal con precisión máquina, mostrando en pantalla a lo sumo 6 dígitos. La función Rationalize nos permite aproximar un número con punto decimal por un número fraccionario. Rationalize[x,tol] transforma un número decimal x en un numero p/q con un una tolerancia tol , x -
p
< tol . q
MATEMÁTICA, si no puede calcular el valor exacto de una operación, responde con una expresión simbólica que representa el valor exacto. In[5]:= N@234 • 29, 45D
Out[5]= 8.0689655172413793103448275862068965517241379
ISIDORO PONTE­E.S.M.C. 6 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[6]:= N@234 • 29D
Out[6]= 8.06897 In[7]:= [email protected], 0.00001D
117 50 In[8]:= 11^H- 1 • 2L
Out[7]= 1
Out[8]= •
11 In[9]:= N@%D
Out[9]= 0.301511 Los números decimales son siempre considerados como aproximaciones de números reales de forma que, cuando aparece un número decimal el resultado es convertido automáticamente también a número decimal. In[10]:= 3 • 4 + 2 • 5 + 6 • 7 Out[10]= 281 140 In[11]:= 3 • 4 + 0.4 + 6 • 7 Out[11]= 2.00714 CONSTANTES. Tenemos las siguientes constantes predefinidas de interés en los cálculos numéricos: I la unidad imaginaria. Infinity la constante infinito. Pi el número irracional p . Degree factor de conversión de grados a radianes. GoldenRatio cuyo valor es (1 + 5 ) / 2 llamada razón de oro. n e g
1 ö
æ
e = n lim ç 1 + ÷ = 2 . 718281 .... ® ¥
n ø
è
æ m 1 ö
constante Euler g = lim çç å - ln m ÷÷ = 0 . 57721 .. m ® ¥
è k =1 k ø
ISIDORO PONTE­E.S.M.C. 7 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA ¥
Catalán constante Catalán
( - 1 ) k ( 2 k + 1 ) å
k - 2 = 0 . 915966 .. = 0 Podemos definir nuevas constantes asignando a su valor, mediante el operador = , un nombre definido por una sucesión alfanumérica que comience por una letra In[12]:= Pulgada =
25.4 mm Out[12]= 25.4 mm In[13]:= 25 Pulgada Out[13]= 635. mm VARIABLES. Las variables se representan mediante nombres definidos por una sucesión alfanumérica que comience por una letra o el símbolo $, distinguiendo las letras minúsculas de las mayúsculas. Se antepone el signo = a la variable y al efectuar los cálculos a lo largo de una sesión de trabajo, se usa el último valor asignado a la variable, este valor permanece fijo hasta que se le asigne un nuevo valor mediante una nueva entrada. In[14]:= y =
100 Out[14]= 100 In[15]:= y =
y^2 - 32 Out[15]= 9968 In[16]:= Sqrt@y - 167D
Out[16]= 99 Las variables en MATHEMATICA responden a los tipos: Integer Rational Real Complex String Symbol variables con datos que son números enteros. variables con datos que son números fraccionarios variables con datos que son números decimales. variables con datos que son números complejos. para cadenas de caracteres alfanuméricos y/o especiales entre comillas. valores representados por un simbol
ISIDORO PONTE­E.S.M.C. 8 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA Clear[x1,….,xn] suprime los valores asignados a las variables x1..xn OPERADORES DE ASIGNACIÓN. El operador de asignación = admite dos posibilidades: I) asignación inmediata = II) asignación diferida := Pi • 2; f@x_D = Sin@x + aD; g@x_D := Sin@x + aD
8f@0D, g@0D<
In[17]:= a =
Out[18]= 81, 1<
In[19]:= a =
Pi; 8f@0D, g@0D<
Out[19]= 81, 0<
Además del operador = tenemos los siguientes: x+=dx devuelve x+dx como nuevo valor de x. x­=dx devuelve x­dx como nuevo valor de x. x*=k devuelve x*k como nuevo valor de x. x/=k devuelve x/k como nuevo valor de x. ++x incrementa a x en una unidad y devuelve a x+1 como nuevo valor de x. x++ incrementa x en una unidad y devuelve el valor x. ­­x decrementa a x en una unidad y devuelve a x­1 como nuevo valor de x. x­­ decrementa x en una unidad y devuelve el valor x. In[20]:= x =
25 Out[20]= 25 In[21]:= x +=
12 Out[21]= 37 In[22]:= x -=
1 Out[22]= 36
ISIDORO PONTE­E.S.M.C. 9 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[23]:= x •=
9 Out[23]= 4 In[24]:= x++
Out[24]= 4 In[25]:= x Out[25]= 5 In[26]:= --x Out[26]= 4 CÁLCULOS SECUENCIALES. En MATHEMATICA es posible realizar varios cálculos a la vez usando una entrada, siempre que estén separados por ; diferenciando: c1;c2; . . .;cn calcula el valor de las expresiones c1;c2;. . .;cn y devuelve el valor de la última expresión. c1;c2; . . .;cn calcula el valor de las expresiones c1;c2;. . .;cn y no devuelve el valor de la última expresión. In[27]:= x =
10; y = Sqrt@9D; z = x * y Out[27]= 30 In[28]:= x + y - z Out[28]= -17 In[29]:= x =
10; y = Sqrt@9D; z = x + y; LISTAS. Las listas son colecciones de objetos que son tratados como una entidad y constituyen una de las estructuras más importantes de MATHEMATICA, con ellas se podrá operar con conjuntos, podrán construirse vectores y matrices. Al número natural i, que expresa la situación de un elemento en una lista, se le denomina índice del elemento. {a,b, … .} define una lista formada por elementos a,b,.. lista[[ i ]] determina el elemento i de la lista.
ISIDORO PONTE­E.S.M.C. 10 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA Table[exp,{i,min,max,p}] define una lista cuyos elementos se obtienen evaluando la expresión exp desde i=min hasta i=max con salto p. los valores por defecto son min=1, p=1 Sort[lista] ordena la lista dada con el orden léxico. In[30]:= lista1 = 81, 2, 6, 14, 10<
Out[30]= 81, 2, 6, 14, 10<
In[31]:= lista1@@4DD
Out[31]= 14 In[32]:= lista2 =
Out[32]= 83,
Table@3^i, 8i, 1, 9, 2<D
27, 243, 2187, 19683<
In[33]:= lista3 =
Out[33]= 881,
Table@8i, i^2, i * 4<, 8i, 1, 3<D
1, 4<, 82, 4, 8<, 83, 9, 12<<
In[34]:= Sort@lista1D
Out[34]= 81, 2, 6, 10, 14<
Reverse[lista] Rest[lista] Drop[lista,n] Take[lista,n] se invierte la lista. devuelve la lista sin el primer elemento. elimina los n primeros elementos de la lista. lista formada por los n primeros elementos. In[35]:= Reverse@lista1D
Out[35]= 810, 14, 6, 2, 1<
In[36]:= Rest@lista1D
Out[36]= 82, 6, 14, 10<
In[37]:= Drop@lista1, 3D
Out[37]= 814, 10<
In[38]:= Take@lista1, 2D
Out[38]= 81, 2<
ISIDORO PONTE­E.S.M.C. 11 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA Append[lista,b] Prepend[lista,a] Length[lista] añade el elemento b al final de la lista. añade el elemento a al principio de la lista determina el número de elementos de la lista. In[39]:= Append@lista1, 18D
Out[39]= 81, 2, 6, 14, 10, 18<
In[40]:= Prepend@lista1, 0, - 1D
Out[40]= Prepend@81, 2, 6, 14, 10<, 0, -1D
In[41]:= Prepend@lista1, 0D
Out[41]= 80, 1, 2, 6, 14, 10<
In[42]:= Length@lista1D
Out[42]= 5 Join[lista1,…,listan] determina la lista formada al enlazar las listas lista1,.., listan en el orden señalado y manteniéndose los elementos repetidos en ellas. También podemos operar, con las listas, con los conjuntos respecto a las operaciones unión, intersección y complementación con: Union[lista1,…, listan] Interseccion[lista1,…, listan] Complement[universal,lista1,…,listan] In[43]:= Join@lista1, lista2D
Out[43]= 81, 2, 6, 14, 10, 3, 27, 243, 2187, 19683<
In[44]:= Union@lista1, lista2D
Out[44]= 81, 2, 3, 6, 10, 14, 27, 243, 2187, 19683<
In[45]:= Intersection@lista1, lista2D
Out[45]= 8<
In[46]:= universal =
Table@i, 8i, 1, 15<D; Complement@universal, lista1D
Out[46]= 83, 4, 5, 7, 8, 9, 11, 12, 13, 15<
ISIDORO PONTE­E.S.M.C. 12 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA MATHEMATICA representa a un vector como una lista de escalares y a una matriz como una lista de listas (una representa las filas y otra las columnas) para ello usamos la función Table que puede trabajar con varios índices. Table[expresión,{j1,n1},…,{js,ns}] lista multidimensional cuyos elementos se obtienen eva­ luando expresión desde j1=1 hasta j1=n1, . . . , js=1 hasta js=ns con salto p=1. Si s=1 nos queda un vector. Si s=2 nos queda una matriz. FUNCIONES ELEMENTALES PREDEFINIDAS. En MATHEMATICA aparte de las operaciones estudiadas, tenemos también una serie de funciones elementales predefinidas,: Divisors[n] lista de los divisores enteros de n. FactorInteger[n] lista de los factores primos de n. PrimeQ[n] reconoce si un número es primo. n! factorial de n. n!! doble factorial de n. Binomial[n,m] æ n ö
numero combinatorio çç ÷÷
m è
Mod[n,m] GCD[n1,n2,…,nk] LCM[n1,n2,…,nk] ø
resto de la división de n entre m. máximo común divisor. mínimo común múltiplo. In[47]:= Divisors@36D
Out[47]= 81, 2, 3, 4, 6, 9, 12, 18, 36<
In[48]:= 5!!
Out[48]= 15 In[49]:= Binomial@6, 3D
Out[49]= 20 In[50]:= GCD@40, 60, 120D
Out[50]= 20
ISIDORO PONTE­E.S.M.C. 13 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[51]:= LCM@40, 60, 120D
Out[51]= 120 Abs[x] Round[x] Floor[x] Ceiling[x] Sign[x] Max[x1,x2,… ,xn] Min[x1,x2,… , xn] Accuracy[x] Random[Real,{xmin,xmax}] Random[ ] Sqrt[x] Exp[x] Log[x] Log[a,x] valor absoluto del número real x. entero mas cercano al valor x. mayor entero menor que x. menor entero mayor que x. signo de x. mayor de los números x1,…,xn. menor de los números x1,…,xn . número de cifras decimales. número aleatorio entre los reales xmin y xmax. número real entre 0 y 1. raíz cuadrada de x. exponencial de x. logaritmo neperiano de x. logaritmo en base a de x. In[52]:= Ceiling@Sqrt@5DD
Out[52]= 3 In[53]:= Random@Real, 8Sqrt@3D, Log@10D<D
Out[53]= 2.00854 In[54]:= Exp@2 - 4 ID
2-4I Out[54]= E In[55]:= N@%D
Out[55]= -4.82981 + 5.59206 I In[56]:= N@Log@2 + 4.37 IDD
Out[56]= 1.56985 + 1.14159 I Sin [x] Cos[x] Tan[x] ArSin[x] seno de x radianes. coseno de x radianes. tangente de x radianes. arco cuyo seno es x.
ISIDORO PONTE­E.S.M.C. 14 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA ArcCos[x] ArcTan[x] Sinh [x] Cosh[x] Tanh[x] ArSinh[x] ArcCosh[x] ArcTanh[x] arco cuyo coseno es x. arco cuya tangente es x. seno hiperbólico de x. coseno hiperbólico de x. tangente hiperbólica de x. argumento cuyo seno hip. es x. argum. cuyo coseno hiperb.es x. argum. cuya tgte hiperb.es x. In[57]:= [email protected] + Sqrt@5D ID
Out[57]= SinA3.22 + I
•
5E
In[58]:= Sin@2 + 3 ID
Out[58]= Sin@2 + 3 ID
In[59]:= [email protected]
Out[59]= 1.21643 In[60]:= [email protected] + 4 ID
Out[60]= -1.01065 + 0.16195 I Re[z] Im[z] Conjugate[z] Arg[z] parte real del número complejo z. parte imaginaria del complejo z. conjugado del complejo z. argum. principal del complejo z. In[61]:= [email protected] - 3 ID
Out[61]= 3.31059 In[62]:= [email protected] - 3 ID
Out[62]= -1.13417 Aparte de estas funciones, existe a gran variedad de funciones que aquí no exponemos como las funciones de Legendre,Bessel, etc. La mayor parte de las funciones definidas anteriormente sobre números reales pueden ser extendidas a números complejos, siempre teniendo en cuenta los valores principales.
ISIDORO PONTE­E.S.M.C. 15 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA FUNCIONES DEFINIDAS POR EL USUARIO. REGLAS. Además de las funciones incorporadas por MATEMÁTICA, tenemos la posibilidad de definir nuestras propias funciones: F[x1_,...,xn_]:=expresión F[x1_,...,xn_]=expresión Define una función f de n variables x1,...,xn de forma que los valores que toma f vienen definidos por la expresión. El signo _ se usa para indicar los argumentos de la función después de él puede indicarse el tipo de la misma. (Recordemos que tenemos dos tipos de asignación: inmediata y diferida). In[63]:= h@x_D =
x^3 + 2 x^2 - 2 2
3 Out[63]= -2 + 2 x + x In[64]:= h@yD; h@1D; h@0D
Out[64]= -2 In[65]:= h@yD
2
3 Out[65]= -2 + 2 y + y Otra de las técnicas que pueden usarse para crear funciones es el uso de funciones recursivas. In[66]:= Factorial@1D =
1; Factorial@n_D := n * Factorial@n - 1D; Factorial@6D
Out[66]= 720 La función factorial solo tiene sentido para números naturales, no se podría calcular para otro tipo de números, si se intentase calcular daría error, In[67]:= Factorial @10.5D
7 Out[67]= 1.18994 ´ 10 para evitar ese error usaríamos una nueva definición In[68]:= Fac2@1D =
1; Fac2@n_IntegerD := n * Fac2@n - 1D
ISIDORO PONTE­E.S.M.C. 16 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[69]:= [email protected]
Out[69]= [email protected]
In[70]:= Fac2@10D
Out[70]= 3628800 MATEMÁTICA permite efectuar sustituciones o transformacio­ nes matemáticas sobre cualquier expresión matemática; pero antes necesitamos definir una regla /. , si queremos que se aplique repetidamente usaremos //. In[71]:= x + Sin@xD - Cos@xD •. x ->
Pi Out[71]= 1 + p
la orden anterior indica que sobre la fórmula dada se aplique la regla x = p . In[72]:= x - y + x * y •. 8x -> a + y, y ->
b<
Out[72]= a - b + y + b Ha + yL
In[73]:= x - y + x * y ••. 8x -> a + y, y ->
b<
Out[73]= a + b Ha + bL
MATEMÁTICA dispone de un amplio repertorio de funciones pensando en la representación grafica en 2D y 3D usando las funciones Plot y Plot3D Plot[{f1[x],...,fp[x]},{x,a,b}] Representa gráficamente las curvas f1[x],...,fp[x] en el intervalo [a,b] Plot3D[{f1[x,y],...,fp[x,y]},{x,a,b},{y,c,d}] Representa gráficamente las superficies f1[x,y],...,fp[x,y] en el dominio [a,b]x[c,d]
ISIDORO PONTE­E.S.M.C. 17 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[74]:= Plot@82 x^2 , Sin@3 xD<, 8x, - 2, 2<D
4 3 2 1 ­2 ­1 1 2 ­1 Out[74]= … Graphics …
In[75]:= Plot3D@x + y - 1, 8x, - 2, 2<, 8y, - 2, 2<D
2 2 0 ­2 ­4 1 ­2 0 ­1 ­1 0 1 2 ­2 2 Out[75]= … SurfaceGraphics …
OPERADORES RELACIONALES.OPERADORES LÓGICOS. Una expresión aritmética es una combinación de constantes y variables o funciones de tipo numérico relacionados entre si mediante las operaciones aritméticas + , ­ , * , / y ^ . Los operadores relacionales permiten comparar expresiones aritméticas definiendo una expresión relacional, tenemos las siguientes: x=y x>y x>=y x!=y x<y x<=y su valor es True si la relación es verdadera y False si es falsa In[76]:= x =
4; y = 8; z = 16;
ISIDORO PONTE­E.S.M.C. 18 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[77]:= x^2 <= 2 z Out[77]= True In[78]:= Hx * yL ^2 <
z^2 Out[78]= False Los operadores lógicos permiten combinar expresiones relacionales para definir expresiones lógicas, tenemos las siguientes: x||y O lógico (OR) x&&y Y lógico (AND) !x NO lógico (NOT) Xor [x,y] O lógico exclusivo (OR exclusivo) En donde: x y x||y X&&y !x Xor [x,y] True True True True False False True False True False False True False True True False True True False False False False True False su valor es True si la relación es verdadera y False si es falsa In[79]:= t =
10; p = x > y; q = z > t; In[80]:= p && q Out[80]= False En expresiones que conllevan operadores aritméticos, relacionales y lógicos, el orden jerárquico es el siguiente: 1 Evaluaciones de funciones. 2 Potenciaciones (^) 3 Multiplicaciones (*) y divisiones (/) 4 Adiciones (+) y sustraciones (­) 5 Operadores relacionales (=,!=,<,<=,>,>=) 6 Operadores lógicos (!) 7 Operadores lógicos (&&) 8 Operadores lógicos (çç) Y en la misma jerarquía se ejecutan de izquierda a derecha y para modificar su ejecución usamos pares de paréntesis.
ISIDORO PONTE­E.S.M.C. 19 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA PATRONES (PATTERNS). Los patrones se usan para definir conjuntos de expresiones que responden a una misma estructura. Un patrón contiene siempre el símbolo _ el cual puede sustituirse por cualquier expresión. Se suele usar con frecuencia a la hora de definir una función. Ejemplos: x_+ y_ suma de dos expresiones cualesquiera de nombres x e y. _ * _ producto de dos expresiones cualesquiera. f[x_,y_] función f de dos variables. DECISIONES E ITERACIONES. En MATHEMATICA las funciones If , Switch y Which nos permiten tomar decisiones y las funciones For , While y Do realizar iteraciones. If[test,exp1,exp2] Si test es verdadero evalúa exp1 si es falso evalúa exp2. In[82]:= f@x_D :=
If@x < 1, 10, - 10D; In[83]:= [email protected]
Out[83]= -10 In[84]:= [email protected]
Out[84]= 10 For[inicio,test,incremento,expresión] Se evalúa inicio asignando un valor inicial a la variable índice de For luego, con dicho valor, se evalúan expresión e incremento hasta que test tome el valor False.
ISIDORO PONTE­E.S.M.C. 20 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[85]:= For@i = -3, i < 2, ++i, Print@8i, i^3<DD
8-3, - 27<
8-2, - 8<
8-1, - 1<
80, 0<
81, 1<
ENTRADA Y SALIDA DE DATOS. MATHEMATICA nos ofrece funciones que permiten introducir expresiones e imprimir resultados: Input[“ texto” ] imprime el mensaje texto y luego lee una expresión introducida por el usuario. Print[exp1,…,expn] imprime las expresiones exp1,…,expn sin espacio entre ellas, pasando el cursor a la siguiente línea. In[86]:= Input@"Define una matriz simétrica de orden 3"D
Out[86]= 881, 2, 3<, 82, 1, 1<, 83, 1, 2<<
In[87]:= Print@1, 2D; Print@%D
12
881, 2, 3<, 82, 1, 1<, 83, 1, 2<<
COMENTARIOS Y AYUDAS EXTERNAS. Para introducir comentarios para hacer mas entendibles los códigos escritos se usa (* y *) y que no es evaluado por MATHEMATICA. In[88]:= Sum@3 i, 8i, 0, 25<D H*suma de los 25 primeros múltiplos de 3*L
Out[88]= 975 También tenemos ?expresión que muestra información sobre expresión.
ISIDORO PONTE­E.S.M.C. 21 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA COMPLEMENTOS: PAQUETES Y PALETAS. MATHEMATICA ofrece un amplio conjunto adicional de funciones a través de los denominados paquetes( packages).Para disponer de una función determinada deberemos encontrar el paquete que la contenga, una vez cargado dicho paquete estaremos en condición de usarla. Los paquetes estándar de MATHEMATICA se dividen en varias categorías. En la versión 3.0 los nombres de los directorios que contienen dichos paquetes son : Álgebra, Calculus, DiscreteMath, Geometry, Graphics, LinearAlgebra, Miscellaneous, NumberTheory, NumericalMath, Statistics y Utilites. Veamos un ejemplo: queremos calcular la media de una serie datos = 81, 7, 4, 4, 3, 2, 12, 5, 1, 5, 5, 5, 39, 25, 16, 8, 8, 8, 15, 15, 15, 12, 11, 16, 14, 14, 14<
In[1]:= datos = 81, 7, 4, 4, 3, 2, 12, 5, 1, 5, 5, 5, 39, 25, 16, 8, 8, 8, 15, 15, 15, 12, 11, 16, 14, 14, 14<
Out[1]= 81, 7, 4, 4, 3, 2, 12, 5, 1, 5, 5, 5, 39, 25, 16, 8, 8, 8, 15, 15, 15, 12, 11, 16, 14, 14, 14<
y pedimos que nos calcule la media con la orden Mean In[2]:= Mean@datosD
Out[2]= Mean@81, 7, 4, 4, 3, 2, 12, 5, 1, 5, 5, 5, 39, 25, 16, 8, 8, 8, 15, 15, 15, 12, 11, 16, 14, 14, 14<D
para poder calcular la media necesitamos cargar el paquete que contiene dicho comando In[1]:= << Statistics`DescriptiveStatistics` In[2]:= datos = 81, 7, 4, 4, 3, 2,
12, 5, 1, 5, 5, 5, 39, 25, 16, 8, 8, 8, 15, 15, 15, 12, 11, 16, 14, 14, 14<;
ISIDORO PONTE­E.S.M.C. 22 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[3]:= Mean@datosD
Out[3]= 284 27 La versión 3.0 también aporta un conjunto de paletas que permiten utilizar, en las definiciones de las entradas de un segmento de cálculo, algunas notaciones estándar y algunos símbolos especiales, así como facilitarnos la escritura de un buen número de funciones matemáticas. Las paletas correspondientes a los siguientes submenús tienen utilidad en el trabajo con MATHEMATICA, y ayudan para ahorrar trabajo en el tecleo de las órdenes que mandamos ejecutar al programa: File/Palettes/AlgebraicManipulation File/Palettes/BasicCalculations File/Palettes/BasicInput File/Palettes/Typeseting File/Palettes/CompleteCharacters File/Palettes/InternacionalCharacters File/Palettes/NotebookLauncher. Veamos algunos ejemplos En vez de escribir In[4]:= HSqrt@7D•H5^H1• 4LLL^6 Out[4]= 343 5 • 5 podemos escribir lo mismo y quedando mas presentable, usando paletas: 2
i•
7 y
6 In[5]:=
k
Out[5]= •
4
5 {
343 5 • 5 veamos otro ejemplo con matrices
ISIDORO PONTE­E.S.M.C. 23 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[6]:= matriz = 880, 1, -2<, 84, 4, -2<, 80, 0, 7<<; MatrixForm@matrizD
Out[7]//MatrixForm=
i 0 1 - 2 y
4 4 - 2 k 0 0 7 {
que usando paletas podremos escribir directamente In[8]:=
i 0 1 -2 y
4 4 -2 k 0 0 7 {
Out[8]= 880, 1, - 2<, 84, 4, - 2<, 80, 0, 7<<
incluso con integrales nos permite hacerlo más rápido que el teclado In[9]:= Integrate@Log@xD, 8x, 0, 1<D
Out[9]= -1 1 In[10]:= à Log@xD âx 0 Out[10]= -1 incluso para poder usar símbolos especiales, se ahorra tiempo usando paletas In[11]:= a
In[12]:= ³ �
�
�
ALGUNAS CARACTERISTICAS MÁS Las entradas se pueden hacer casi totalmente con el aspecto matemático habitual. Por ejemplo, podemos introducir subíndices como x1, tecleando la x seguido de ctrl_ , cocientes como 2 , 5 tecleando shift ctrl. y 7 simultáneamente, exponentes, como x 2 , tecleando x seguido de ctrl.
y 6, alfabeto griego, a , b , g , . . constantes como p , e , . . símbolos, ¥ , etc, usando combinaciones de letras delimitadas por ESC. La combinación ctrl. y
la barra espaciadora nos devuelve a la línea principal. También se pueden introducir las entradas en este formato en versiones antiguas del programa, aquí combinaremos ambas posibilidades, es decir podremos encontrarnos con entradas como:
ISIDORO PONTE­E.S.M.C. 24 PRÁCTICAS DE LABORATORIO­AMPLIACIÓN DE MATEMÁTICAS Y TRIGONOMETRIA ESFÉRICA In[1]:= H-5 + 13L ^3 - 3 • 4 + 623 • 4 Out[1]= 667 o bien como 3
In[2]:= H-5 + 13L -
3 623
+
4
4 Out[2]= 667 para evaluar cada entrada usaremos la tecla Intro.
ISIDORO PONTE­E.S.M.C. 25