Práctica 1. Órdenes y funciones básicas

Anuncio
Práctica 1.
Órdenes y funciones básicas
En esta práctica aprenderás a introducir datos, ha
Objetivos: cer cálculos con operaciones y funciones matemáticas
más frecuentes y a dibujar algunas gráficas.
1.
Los caracteres.
Si nunca te pusiste delante de un teclado esta sección va dedicada especialmente para ti. Si es ası́, vete haciendo a la idea de que vas a pasarte, al
principio, un buen rato buscando teclas. Intentaremos a continuación darte
una ayuda de cómo obtener los caracteres usados en el desarrollo de las
prácticas.
Observa la siguiente figura que representa un teclado tı́pico, compáralo con
el que vas usar para comprender las indicaciones que le siguen.
CAR
S
E
R
E
T
AC
En la zona en la que se encuentran los caracteres (letras, números y sı́mbolos)
puedes observar tres tipos de teclas:
Teclas con un sólo carácter: Con estas teclas podemos obtener las distintas letras del alfabeto.
Pulsándolas se obtienen las minúsculas y si pulsas simultáneamente
una de las teclas de mayúscula (las señaladas con ⇑) y cualquier letra,
verás que se obtiene la mayúscula correspondiente (para esta operación
deberı́as usar las dos manos, con una mantienes pulsada la tecla ⇑
mientras que con la otra pulsas la letra). Si quieres que todas las
letras salgan mayúsculas basta con presionar una sola vez la tecla de
fijar mayúsculas Bloq
(observa que una luz se enciende arriba a
Mayús
la derecha marcada con “Bloq Mayús” o “Caps Lock”). Pulsando de
nuevo esta tecla volverás a obtener minúsculas.
Teclas con dos caracteres: De este tipo suelen ser la mayorı́a de las teclas que tienen los números:
en la parte inferior aparece el número y en la superior aparece un
sı́mbolo. Si pulsas este tipo de teclas obtendrás el caracter inferior,
para obtener el superior debes pulsar simultáneamente la tecla de
mayúscula ⇑ (no pulses la de fijar mayúsculas porque no obtendrás
los sı́mbolos superiores, esta tecla sólo afecta a las letras).
Teclas con tres caracteres: Observa que existen teclas de caracteres que tienen dibujados tres
sı́mbolos: dos a la izquierda (uno arriba y otro abajo) y uno a la derecha. Los de la izquierda se obtienen como las teclas con dos caracteres:
pulsándolas resulta el carácter inferior y con la tecla de mayúscula el
superior. Para obtener el carácter de la derecha deberás pulsar simultáneamente (como se hace con la mayúscula) la tecla Alt Gr , que
se encuentra a la derecha de la barra espaciadora, y dicha tecla.
Para obtener el carácter { debes pulsar
tecla que tiene {
Alt Gr
y la
No pienses que sólo puedes obtener los caracteres que aparecen en el teclado
existe un procedimiento fácil mediante el cual puedes obtener todos los caracteres por su código (un número menor que 256 = 28 ). Para conseguirlo
basta que presiones la tecla Alt y sin soltarla teclea un código, al soltar la
tecla Alt saldrá el carácter correspondiente (no introduzcas códigos menores que 32 porque algunos de ellos no producen caracteres sino que realizan
tareas especiales según en el programa que te encuentres).
Podemos obtener la letra A pulsando Alt y el código 65.
Podemos obtener ~ pulsando Alt y el código 126.
El carácter ˆ será usado frecuentemente en el programa; para obtenerlo no
basta con pulsar su tecla será necesario que pulses además la barra espaciadora.
1.1.
Borrando caracteres.
Existen en el teclado dos teclas que sirven para eliminar un carácter introducido anteriormente: Una tecla gris marcada con ← que se encuentra por
encima de la tecla de retorno de carro ( ) y otra más a la derecha marcada
con Supr . Las dos teclas borran pero de distinta forma: La primera de ellas
va eliminando, cada vez que se pulsa, el carácter situado a la izquierda del
cursor, la segunda elimina el carácter señalado por el cursor.
Puedes moverte entre los caracteres introducidos a derecha e izquierda, sin
borrarlos, usando las teclas correspondientes, de color gris, que se encuentran
abajo a la derecha (están las cuatro solas y están marcadas con flechas en
las cuatro direcciones).
2.
Entrando en el programa
Mathematica.
Cuando entremos en el ordenador estaremos en el entorno de Windows.
En este entorno aparecerán iconos representado los distintos programas o
grupos de ellos.
Prepárate ahora a usar el ratón: déjalo apoyado en la mesa, bajo tu mano
y de forma que tu dedo ı́ndice descanse sobre el botón de la izquierda.
Deslı́zalo lentamente sobre la mesa y verás que la flecha se mueve por la
pantalla del ordenador.
Coloca la flecha sobre el icono de la ventana del
Práctica 1.
Órdenes y funciones básicas
Mathematica
y pulsa
2
el botón izquierdo del ratón dos veces (dos golpes secos y seguidos) procurando que no se mueva el ratón. De esta forma entrarás en el programa
Mathematica. Verás como aparece en la parte superior el menú y debajo
una ventana en blanco en la que sólo aparece una linea horizontal, que está
titulada con [Untitled-1] o algo similar (según la versión del Mathematica). Usando el menú File puedes cambiar este nombre para guardar
los resultados).
2.1.
Abandonando el programa.
Para salir del programa o para cerrar cualquier ventana basta con desplazar
la flecha sobre el aspa que se encuentra en la esquina superior derecha de cada
ventana y pulsar sobre el ratón. Si has estado realizando cálculos aparecerá
una ventana que te preguntará si deseas guardar lo que has hecho.
3.
Los primeros cálculos.
Cuando introduces por primera vez algún carácter, el programa abre una
celda (un corchete de color aparece a la derecha) y el cursor aparece en forma
de lı́nea. Podemos introducir en esta celda cuantos cálculos deseemos que
realice, cada vez que se introduce un cálculo damos a la tecla de retorno de
carro: . Verás que con esta tecla no conseguimos que el programa nos dé el
resultado. Puedes pulsar en medio de una expresión si ésta es demasiado
larga. Esta tecla nos servirá para organizar las distintas expresiones una
debajo de otra como en el siguiente ejemplo:
Usa la tecla
para ejecutar
cálculo.
Intro

3+5
7-4
9.4-0.5


un Podemos conseguir que el programa realice los cálculos introducidos en la
celda de una las siguientes formas:
• Pulsando la tecla gris
Intro
.
• Pulsando simultáneamente las teclas de mayúscula (⇑) y retorno de
carro ( ).
Cuando ejecutamos los cálculos aparece en la celda de introducción de datos
(Input) la marca In[1] y se crearán tantas celdas de resultados (Output)
como cálculos se han pedido, cada una de ellas llevará la marca Out[· · ·].
Todas las celdas de Input y Output se agrupan en una nueva celda y una
linea horizontal aparecerá tras esta celda de grupo.
Si volvemos a introducir más cálculos el proceso se repite.
Si un cálculo se retrasa se podrá observar que el corchete de la celda tiene
doble linea y no podremos editarla hasta que el cálculo haya concluido.
Todo cálculo puede ser abortado usando el menú desplegable
elegir abortar evaluación.
Kernel
y
Si deseamos volver a una celda de Input podemos hacerlo usando el ratón:
basta con pulsar el botón izquierdo una vez elegido el lugar de inserción.
También puedes usar los cursores.
Práctica 1.
Órdenes y funciones básicas
3
Todas las expresiones contenidas en una celda pueden ser usada posteriormente de la siguiente forma:
Uso de una celda Input: Escribir In[n] (n es el número de la celda de Input).
Uso de una celda Output: Escribir Out[n] o más fácilmente %n. Si queremos usar la última salida
basta con escribir %.
3.1.
Operaciones básicas.
a+b. . . . . . . . . . . . . . . . . . . .
a-b. . . . . . . . . . . . . . . . . . . .
a*b ó a b . . . . . . . . . . . . .
a/b. . . . . . . . . . . . . . . . . . . .
a^b. . . . . . . . . . . . . . . . . . . .
a
a
a
a
a
más b
menos b
por b
partido o divido por b
elevado a b
Para el producto entre un número y una variable no es necesario dejar
ab es el nombre de espacios: 3a es 3 por a.
una variable y no a
Es necesario usar paréntesis para que el producto o cociente sea introducido
por b
7−x
adecuadamente. Por ejemplo, si deseamos introducir
deberás escribir
7+x
(7-x)/(7+x)
No esperes que el programa te dé el resultado de dividir 4 entre 7 si introduces 4/7 ya que por defecto siempre realiza los cálculos de forma exacta.
Basta con escribir 4./7 para entender que deseas cálculos aproximados.
• Realiza los cálculos 4/7 y 4./7 y observa los resultados.
Otra posibilidad es usar el comando N de cualquiera de las siguientes formas:
expr//N: realiza los cálculos de expr de forma aproximada y con un número de
decimales que tiene por defecto.
N[expr]: idéntico al anterior.
N[expr,n]: Da el resultado con n decimales.
El número π se escribe Pi, el número e = 2.718281 . . . se escribe E y
es I. Procura no usar estos nombres para variables.
√
−1
• Usa el comando N para dar 100 decimales del número π.
Expresiones algebraicas (por ejemplo, polinomios y cociente de polinomios)
pueden ser simplificadas, desarrolladas o factorizadas con los siguientes comandos:
Simplify[expr]: Simplifica la expresión expr aunque no siempre como esperamos.
Expand[expr]: Desarrolla los paréntesis de la expresión expr.
Factor[expr]: Saca factor común y factoriza la expresión expr.
Práctica 1.
Órdenes y funciones básicas
4
(y 2 + 2yz + z 2 )(y 2 − z 2 )
(y 3 − y 2 z − yz 2 + z 3 )(y + z)
(procura usar los paréntesis necesarios).
• Simplifica la expresión matemática
• Factoriza el polinomio 2x5 − 11x4 + 15x3 + 5x2 − 17x + 6.
Si escribimos detrás de una expresión que contiene, por ejemplo, la variable
x la expresión /. x->3, el programa sustituye en la expresión x por 3.
• Calcula el valor numérico del polinomio anterior cuando x = −2
• Calcula (2x + 3)4 − (2x + 1)4 + (x − 2)3 .
4.
Las funciones matemáticas usuales.
En la tabla I tienes las funciones más frecuentes, en ella puedes observar que
todas comienzan con letra mayúscula y el argumento va entre corchetes. Ten
en cuenta que el programa distingue entre minúsculas y mayúsculas. Si el
nombre de una función o comando incluye varias palabras, éstas se escriben
sin espacio y cada palabra comienza con mayúscula. Si cometes un error de
este tipo el programa te avisará.
! → Recuerda que el argumento de las funciones trigonométricas debe estar en
radianes.
Con las funciones trigonométricas puedes usar el comando Simplify de un
modo similar a como se hizo antes, pero si quieres que el programa te dé
aquellas fórmulas trigonométricas que estudiaste debes usar TrigExpand
• Simplifica la expresión trigonométrica
cos(a − b) − cos(a + b)
sen(a + b) + sen(a − b)
En la siguiente, quizás tengas que usar tus conocimientos:
• Sabiendo que tan(a + b) = 4 y tan a = −2, calcula tan(2b) y tan(a − b)
Práctica 1.
Órdenes y funciones básicas
5
Tabla I: Funciones matemáticas usuales.
√
Sqrt[x] . . . . . . . . . . . . . . .
x
n! . . . . . . . . . . . . . . . . . . . . . n!
Exp[x] . . . . . . . . . . . . . . . . ex
Mod[m,n]. . . . . . . . . . . . . . resto de
! m entre n
m
Abs[x] . . . . . . . . . . . . . . . . |x|
Binomial[m,n] . . . . . . . .
n
Sin[x] . . . . . . . . . . . . . . . . sen x
Divisors[n] . . . . . . . . . . divisores de n
Cos[x] . . . . . . . . . . . . . . . . cos x
Prime[n]. . . . . . . . . . . . . . n-ésimo número primo
Tan[x] . . . . . . . . . . . . . . . . tan x
Floor[x]. . . . . . . . . . . . . . mayor entero menor que
x
Cot[x] . . . . . . . . . . . . . . . . cot x
Sign[x] . . . . . . . . . . . . . . . signo de x
ArcSin[x] . . . . . . . . . . . . arcsen x Abs[z] . . . . . . . . . . . . . . . . módulo de z
ArcCos[x] . . . . . . . . . . . . arccos x Re[z] . . . . . . . . . . . . . . . . . parte real de z
ArcTan[x] . . . . . . . . . . . . arctan x Im[z] . . . . . . . . . . . . . . . . . parte imaginaria de z
Sec[x] . . . . . . . . . . . . . . . . sec x
Arg[z] . . . . . . . . . . . . . . . . argumento de z
Conjugate[z] . . . . . . . . . conjugado de z
Csc[x] . . . . . . . . . . . . . . . . csc x
5.
Definiendo variables.
El nombre de una variable puede ser una o varias letras y distingue entre
minúsculas y mayúsculas. Si defines una variable con un nombre parecido a
otra variable, ya existente, el programa te avisará pero no te impide que lo
hagas.
Existen dos caminos para dar un valor a una variable y es muy importante
que los distingas:
Asignación directa: Usaremos para esto el signo = y la variable
base=8
altura=7
area=base*altura
La variable area tomará el valor 56. Hasta aquı́ parece lógico, pero si
cambiamos el valor de las variables:
base=10
altura=7
area
El valor de la variable area sigue siendo 56 y su valor no se ve alterado
por los cambios de las otras variables.
Asignación diferida: Usaremos para esto el signo := y la variable tomará el valor asignado
cuando sea usada. Si en el ejemplo anterior hubiéramos hecho
base=8
altura=7
area:=base*altura
Al cambiar el valor de base y de altura también cambiará el valor de
area.
Práctica 1.
Órdenes y funciones básicas
6
Por todo ello si vas a asignar una constante a una variable usa = pero si vas
asignar a una variable un valor que depende de otras usa :=.
Para que una variable x deje de estar asignada basta con escribir
x=.
6.
Definiendo funciones.
Con Mathematica puedes definir funciones de una o más variables como
en el siguiente ejemplo (observa que usamos la asignación diferida y que las
variables están entre corchetes seguidas de , el cual se obtiene con ⇑ y -):
funcion[x ,y ]:=5x y/(x^2 + y^2 +1)
x
√
x
• Define la función f (x) = 2πx
y halla los valores aproximae
dos de f (2)/2!, f (5)/5! y f (100)/100! con 10 decimales.
Las funciones pueden representarse fácilmente: si es de una variable usamos
el comando Plot y si la función es de dos variables usamos Plot3D. En ambos
casos hemos de indicar el rango de las variables; por ejemplo, si queremos
que dibuje la gráfica de f (x) = x sen x, para x entre -7 y 7, escribiremos
Plot[ x Sin[x], {x,-7,7} ]
La función de dos variables funcion[x,y] definida anteriormente puede
representarse, para x entre -5 y 5 e y entre -4 y 7, de la siguiente forma:
Plot3D[ funcion[x,y], {x,-5,5}, {y,-4,7} ]
• Representa las anteriores funciones.
• Usa la orden ContourPlot en vez de Plot3D para obtener un
“plano”, con sus curvas de nivel, de la función funcion[x,y]. Si
lo quieres en color añade, con una coma y después del rango de
y la opción
ColorFunction -> Hue
En el siguiente ejemplo se define una sucesión o función por recurrencia:
a[0]=1
a[1]=2
a[n ]:=4 a[n-1]-3 a[n-2]
Puedes hacer que el programa guarde los valores calculados anteriormente
de la siguiente forma (¿por qué?):
a[n ]:=a[n]=4 a[n-1]-3 a[n-2]
Procura hacerlo siempre ası́, te ahorrarás mucho tiempo.
Práctica 1.
Órdenes y funciones básicas
7
• Define por recurrencia la sucesión de Fibonacci 1, 1, 2, 3, 5,...
sabiendo que esta sucesión tiene la propiedad de que cada término
es la suma de los dos anteriores. Halla sus 10 primeros términos
(no olvides poner después del argumento al definir la función).
Podemos definir funciones más complicadas (por ejemplo las definidas a trozos) usando un comando muy sencillo llamado If. Su estructura es simple,
tiene tres argumentos: el primero es un test y si el test resulta verdadero
hace el segundo argumento y si es falso hace el tercero. Dentro del test
puedes usar los siguientes sı́mbolos:
igual
distinto
menor
mayor
menor o igual
mayor o igual
“y” lógico
“o” lógico
==
!=
<
>
=<
=>
&&
||
Observa en el siguiente ejemplo cómo definimos la función
(
f (x) =
f[x ]:= If[
x2
si x < 1
3x − 2 si x ≥ 1
x<1, x^2, 3x-2 ]
En el siguiente se define la función g(x) =


 0
√
1−
x2

 0
g[x ]:= If[
x<-1 ||
si x < −1
si − 1 ≤ x ≤ 1
si x > 1
x>1, 0, Sqrt[1-x^2] ]
En el test aparece ||, el “o” lógico y se interpreta:
si
x<-1
o
x>1
...
• Usa el comando Plot para representar las funciones anteriores
f (x) y g(x).
• Define una función llamada Fasta usando If y la función Mod (ver
tabla I), tal que Fasta(n)=n/2 si n es par y Fasta(n)=3n+1 si n
es impar. Usa esta función para definir una sucesión por recurrencia, llamada Ganda, tal que, comenzando por Ganda(0)=21,
Ganda(n) nos dé el resultado de aplicar n veces la función Fasta
al primer número Ganda(0). Hallar el menor número n tal que
Ganda(n)=1. Cambia el valor de Ganda(0) y vuelve a contestar a
esta pregunta. ¿Sea cual sea el valor de Ganda(0) existirá un n
para el que Ganda(n)=1?. ¿Seguro?.
Práctica 1.
Órdenes y funciones básicas
8
• (OPTATIVA) ¿Podrı́as averiguar qué significan las asignaciones
siguientes?.
f[x,y]:=x^2-x y+2y
g[x,y]=x^2- x y+2y
h[x ,y ]=x^2- x y+2y
¿Definen variables?. ¿Funciones?. Haz las pruebas necesarias
para contestar a estas preguntas.
Práctica 1.
Órdenes y funciones básicas
9
7.
Listas.
Para el programa Mathematica una lista es un conjunto ordenado de
números, variables, expresiones, etc. escritas entre llaves y separados por
comas. Por ejemplo, un vector es una lista de números
{2.3,5,4.3,-7}
El argumento de cualquier función matemática de la Tabla I puede ser una
lista de valores. En el siguiente ejemplo el programa da una lista con la raı́z
cuadrada de los números de la lista de entrada:
Sqrt[{23,14,8,7,3}]//N
También podemos usar con el comando Plot una lista de funciones para que
sean representadas simultáneamente:
Plot[ {3x-1, x^2, x^3-2x^2+7},{x,-5,6} ]
Para generar una lista usamos el comando Table:
Impares=Table[2n-1,{n,1,20}]
{n,1,20} significa que n tomará los valores de 1 a 20. En realidad hubiera
bastado con escribir {n,20} ya que el programa entiende que se quiere comenzar por 1. Si deseamos que tome del 1 al 20 de 3 en 3 bastarı́a con
escribir {n,1,20,3}.
• Usa Table para generar una lista con los cuadrados de los números
enteros del 3 al 15
Con el comando ListPlot podemos representar una lista de puntos:
ListaDePuntos={ {1,2}, {2,-3}, {5,-1}, {3,-2} }
ListPlot[ ListaDePuntos ]
Puedes unir cada punto con el siguiente, mediante un segmento usando
PlotJoined->True:
ListPlot[ ListaDePuntos, PlotJoined->True ]
• Genera con Table una lista formada por los puntos {n, Prime[n]}
para n de 1 a 20. Representa después esta lista de puntos.
Si escribimos Impares[[7]] (observa los dobles corchetes) nos referimos al
séptimo elemento de la lista.
• Define una función llamada ProductoEscalar cuyos argumentos
sean vector1 y vector2 (vectores de R3 ) y que dé el producto
escalar de ambos vectores. Usala para hallar (1, −1, 2) · (4, −3, 1).
Práctica 1.
Órdenes y funciones básicas
10
Es posible sumar o multiplicar los elementos de una sucesión finita con los
comandos Sum y Product. En el siguiente ejemplo puedes ver como se usan
20
13
X
Y
n
n
para hallar
y
2+1
n
3
n=1
n=1
Sum[ n/(n^2+1),{n,1,20}]
Product[ n/3, {n,1,13}]
• Calcula la suma y producto anterior.
notas complementarias
Práctica 1.
Órdenes y funciones básicas
11
—.
Índice
Asignación diferida, 6
Asignación directa, 6
ColorFunction, 7
ContourPlot, 7
Definición de funciones, 7
Expand, 4
Factor, 4
Funciones matemáticas, 5
If, 8
In, 3
Listas, 10
ListPlot, 10
N[ , ], 4
Operaciones básicas, 4
Out, 3
Plot, 7
Plot3D, 7
Product, 11
Recurrencia, 7
Simplify, 4
Sum, 11
Table, 10
Variable, 6
Vector, 10
12
Descargar