Manual WxMaxima

28
BREVE MANUAL DE MAXIMA MATEM ´ ATICAS GENERALES APLICADAS A LA BIOQU ´ IMICA, CURSO 2011/12 Tom´ as Chac´ on Rebollo y Faustino Maestre Caballero

description

Manual Wxmaxima

Transcript of Manual WxMaxima

BREVE MANUAL DE MAXIMA

MATEMATICAS GENERALES APLICADAS A LABIOQUIMICA, CURSO 2011/12

Tomas Chacon Rebollo y Faustino Maestre Caballero

2

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

Indice general

1. Resumen de ordenes basicas en wxMaxima 51.1. Operaciones basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2. Constantes, variables, asignaciones y funciones basicas . . . . . . . . . . . . . . . . 61.3. Ecuaciones y sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5. Representacion de graficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6. Operadores logicos y relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Estudio de Funciones elementales 132.1. Dominio y puntos de corte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2. Estudio de las Asıntotas. Calculo de lımites . . . . . . . . . . . . . . . . . . . . . . 142.3. Series numericas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Derivadas 173.1. Calculo de Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2. Interpretacion geometrica de la derivada . . . . . . . . . . . . . . . . . . . . . . . . 183.3. Monotonıa y extremos relativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4. Polinomio de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4. Programar con wxMaxima 234.1. Nociones previas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2. Condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3. Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5. Integracion 275.1. Calculo de Primitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3

INDICE GENERAL 4

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

Capıtulo 1

Resumen de ordenes basicas enwxMaxima

Maxima es un programa destinado al calculo de operaciones matematicas. Nuestro espacio detrabajo es la ventana de wxMaxima. Para que Maxima ejecute la operacion pulsamos las teclasSHIFT + ENTER, Maxima procesara la orden y nos devolvera una respuesta.

1.1. Operaciones basicas

Para las operaciones basicas, se utilizan los operadores +,−, ∗, /, y ∧. Observese que las lıneasde entrada finalizan con ‘punto y coma’(;). Si en vez de punto y coma ‘;’se escribe el caracter deldolar ‘$’, Maxima ejecutara la orden pero no mostrara el resultado.

(%i1) 3*2 +5;

( %o1) 11

(%i2) 2^10;

( %o2) 1024

(%i3) 3/9$

Para hacer referencia a la expresion anterior utilizaremos el sımbolo %, ası evitaremos escribirlade nuevo, por ejemplo, para multiplicar por 3 al resultado obtenido antes, solo tendremos queescribir:

(%i4) %*3;

( %o4) 1

Como podemos observar, el programa antepone a la orden que hemos escrito una etiqueta dela forma ( %iN) y a su correspondiente salida ( %oN), donde N es el numero de entrada/salida alque deseemos acceder. Por ejemplo,

5

1.2. CONSTANTES, VARIABLES, ASIGNACIONES Y FUNCIONES BASICAS 6

(%i5) %o1+%o2;

( %o5) 1035

1.2. Constantes, variables, asignaciones y funciones basicas

Existen constantes de valores predefinidos en Maxima, cuyo nombre empieza siempre por elcaracter %. Las variables pueden tener cualquier nombre que no empiece por un numero, y laasignacion se hace con los ‘dos puntos’(:). Maxima distingue las mayusculas de las minusculas. Paraobtener la representacion decimal de un numero podemos utilizar la funcion float, o bien anadir ,numer. En wxMaxima, tambien podemos usar el menu ‘Numerico > A real (float)’. Observese quecon expand se obtiene el resultado del producto de los dos numeros complejos.

(%i6) %pi;

( %o6) π

(%i7) %pi, numer;

( %o7) 3,141592653589793

(%i8) %e, numer;

( %o8) 2,718281828459045

(%i9) (3+2*%i)*(6-5*%i), expand;

( %o9) 28− 3 i

(%i10) a:2;

( %o10) 2

(%i11) A:3;

( %o11) 3

(%i12) a+A;

( %o12) 5Las funciones realpart e imagpart nos devuelven, respectivamente, la parte real e imaginaria de

un numero complejo. A estas funciones se puede acceder a traves del menu ‘Simplificar’. Ası pues,por ejemplo, la funcion polarform nos devuelve la forma polar del numero complejo.

(%i1) c:1+sqrt(3)*%i;

( %o1)√

3 i+ 1

(%i2) polarform(%);

( %o2) 2 ei π3

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

7 1.2. CONSTANTES, VARIABLES, ASIGNACIONES Y FUNCIONES BASICAS

Funcion Maxima Descripcion

abs(x) Valor absoluto de xacos(x) Arco coseno de xacosh(x) Arco coseno hiperbolico de xasin(x) Arco seno de x

asinh(x) Arco seno hiperbolico de xatan(x) Arco tangente de xatanh(x) Arco tangente hierbolica de x

binomial(m,n) Numero combinatorio(mn

)= m!

n!(m−n)!csc(x) Cosecante de xcos(x) Coseno de xcosh(x) Coseno hiperbolico de xcot(x) Cotangente de xexp(x) Funcion exponencial, ex

floor(x) Parte entera de x (p ∈ Z / p ≤ x < p+ 1)log(x) Logaritmo neperiano de x

max(x1,x2,x3,...) Maximo de x1, x2, x3...min(x1,x2,x3,...) Mınimo de x1, x2, x3...

signum(x) Signo de x (1 si x > 0, −1 si x < 0, 0 si x = 0)sin(x) Seno de xsinh(x) Seno hiperbolico de xsqrt(x) Raiz cuadrada de xtan(x) Tangente de xtanh(x) Tangente hiperbolica de x

x! Factorial de x

Figura 1.1: Algunas funciones predefinidas en Maxima

(%i3) realpart(c);

( %o3) 1

(%i4) imagpart(c);

( %o4)√

3

Logaritmos Maxima solo tiene la definicion del logaritmo neperiano que se consigue con la ordenlog, tal y como observamos en la tabla 1.1.

(%i1) log(20);

( %o1) log(20) y si nos interesa su expresion decimal

(%i2) log(20), numer;

( %o2) 2,995732273553991

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

1.3. ECUACIONES Y SISTEMAS DE ECUACIONES 8

Para calcular los logaritmos en cualquier base podemos utilizar que

logb(x) =log(x)

log(b),

podemos definir una funcion que calcule logaritmos en base b de la siguiente manera:

(%i1) logb(x,b):=log(x)/log(b)$

y poder ası calcular los logaritmos en base b deseados:

(%i2) logb(256,2);

( %o2)log (256)

log (2)(%i3) %,numer;

( %o3) 8,0Con Maxima es posible manipular expresiones algebraicas. Por ejemplo, se puede desarrollar

las potencias de un polinomio:

(%i1) pol1:(y^3+x^2+y-x+3)^2;

( %o1)(y3 + y + x2 − x+ 3

)2(%i2) pol2:expand(pol1);

( %o2) y6 + 2 y4 + 2x2 y3 − 2x y3 + 6 y3 + y2 + 2x2 y − 2x y + 6 y + x4 − 2x3 + 7x2 − 6x+ 9Si sustituimos y por 1

z−2 , obtenemos

(%i3) pol3:pol2,y=1/(z-2);

( %o3)2x2

z − 2− 2x

z − 2+

6

z − 2+

1

(z − 2)2 +

2x2

(z − 2)3 −

2x

(z − 2)3 +

6

(z − 2)3 +

2

(z − 2)4 +

1

(z − 2)6 +

x4 − 2x3 + 7x2 − 6x+ 9La expresion anterior puede reducirse a comun denominador (ratsimp) y para obtener una

expresion mas simple se utiliza la instruccion factor :

(%i4) pol4:factor(ratsimp(pol3));

( %o4)

(x2 z3 − x z3 + 3 z3 − 6x2 z2 + 6x z2 − 17 z2 + 12x2 z − 12x z + 32 z − 8x2 + 8x− 19

)2(z − 2)

6

1.3. Ecuaciones y sistemas de ecuaciones

El signo ‘=’se utiliza para definir las ecuaciones. Con la instruccion solve(ecuaciones,incognitas)se resuelven ecuaciones o sistemas de ecuaciones en forma cerrada.

Para obtener las soluciones numericamente se utiliza realroots o allroots. En cualquier caso ala ecuacion se le puede asignar un nombre y utilizarlo posteriormente para hacer referencia a lamisma:

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

9 1.4. FUNCIONES

(%i1) solve(x^2+p*x-2=0,x);

( %o1) [x = −√p2 + 8 + p

2, x =

√p2 + 8− p

2]

(%i2) solve(3*x^3-2*x+1,x);

( %o2) [x = −√

3 i− 3

6, x =

√3 i+ 3

6, x = −1]

(%i3) ec1:x^5-x^4+3*x^3-1=0;

( %o3) x5 − x4 + 3x3 − 1 = 0

(%i4) realroots(ec1,1.e-7),numer;

( %o4) [x = 0,70999106764793]

(%i5) allroots(ec1);

( %o5) [x = 0,70999105870993, x = 0,54230158378695 i−0,38693451122808, x = −0,54230158378695 i−0,38693451122808, x = 1,700185295890338 i+0,53193898187312, x = 0,53193898187312−1,700185295890338 i]

(%i6) eq1:x-2*y-z=1 $

(%i7) eq2:x-y =1 $

(%i8) eq3:2*x+y-3*z=4 $

(%i9) solve([eq1,eq2,eq3],[x,y,z]);

( %o9) [[x =4

3, y =

1

3, z = −1

3]]

1.4. Funciones

Al definir funciones se utilizan los sımbolos ‘:=’para realizar la asignacion:

(%i1) g(x):=3*x^3+5*x^2-x+6;

( %o1) g (x) := 3x3 + 5x2 − x+ 6

(%i2) g(2);

( %o2) 48Las funciones pueden manipularse y tambien dibujarse:

(%i3) g(x)**2;

( %o3)(3x3 + 5x2 − x+ 6

)2(%i4) plot2d(g(x),[x,-3,1]);

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

1.5. REPRESENTACION DE GRAFICAS 10

(%i5) f(x,y):=x**2-y**2;

( %o5) f (x, y) := x2 − y2

(%i6) plot3d(f(x,y),[x,-2,2],[y,-2,2],[grid,12,12]);

1.5. Representacion de graficas

Para la representacion de graficas, por defecto wxMaxima utiliza el programa ‘Gnuplot’, unapotente aplicacion con licencia libre.

Para dibujar graficas de funciones de una variable utilizando el wxMaxima se utiliza el comandoplot2d, al cual se puede acceder a traves de la entrada ‘Graficos > Graficos 2D’, ver la ventana deldialogo y su grafica correspondiente en la figura 1.3.

Figura 1.2: Ventana de dialogo de graficos 2D en wxMaxima

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-3 -2 -1 0 1 2 3

cos(x

2)

x

Figura 1.3: Ventana de dialogo de graficos 2D en wxMaxima: Grafica resultante

Como mınimo plot2d toma dos parametros, el primero de los cuales es la funcion o funcionesque deben ser representadas (en la casilla [Expresion(es)]) y el segundo (en la primera casilla[Variable]), el intervalo de valores que tomara la variable independiente. Como tercer parametro

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

11 1.6. OPERADORES LOGICOS Y RELACIONALES

(en la segunda casilla [Variable]), podemos pasar un intervalo que indica el maximo rango devalores de la variable dependiente que deben ser representados. Para regular el numero de puntosutilizados para representar la funcion se utiliza el boton [Graduaciones]. Gracias al boton [Especial],podemos representar una curva en parametricas, o bien, usando valores discretos. Ademas, dentrode la ventana de dialogo Graficos 2D encontramos una pestana de [Opciones], algunas de ellas sedetallan a continuacion:

set zeroaxis; Dibujar los ejes de coordenadas.

set size ratio 1; set zeroaxis; Dibujar los ejes de coordenadas de manera que cada unidad deOY es el doble de grande que en OX.

set grid; Dibujar una rejilla.

set polar; set zeroaxis; Dibujar una grafica en coordenadas polares. Por defecto, se suponeque la variable independiente es el angulo ‘ph’.

Finalmente, y para poder guardar la imagen en formato postcript (‘*.eps’), se utiliza la pestana[Archivo].

1.6. Operadores logicos y relacionales

Maxima puede comprobar si se da una igualdad o desigualdad. Para ello se utiliza el comando

is(expr), Maxima decide si la expresion ‘expres cierta (true) o falsa (false).

(%i1) is(3<5);

( %o1) trueAsı pues, podemos encontrar asociado a este comando

assume(expr), asume que la expresion ‘expres cierta.

forget(expr), olvida que la expresion ‘expres cierta.

fact(), nos lista las expresiones logicas que se han asumido hasta el momento.

No se admite encadenar condiciones. Las desigualdades solo se aplican a parejas de expresiones.Lo que sı podemos hacer es combinar varias cuestiones como, por ejemplo:

(%i2) is(3<2 or 3<5);

( %o2) true En cualquier caso, no esperemos de Maxima respuesta a todo tipo de expresiones.Veamos algunos de los operadores:

and, y.

or, o.

=, igual.

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

1.6. OPERADORES LOGICOS Y RELACIONALES 12

notequal, distinto.

¿, mayor.

¡, menor.

¿=, mayor igual.

¡=, menor igual.

En wxMaxima, existe la opcion de guardar la sesion pulsando en la entrada de menu ‘Archivo> Guardar’, o bien, ‘Archivo > Guardar como’, que debera ser guardado en extension ‘*.mac’(queproviene del nombre Macsyma). En este fichero se almacenara toda la sesion actual. La proximavez, podemos seguir utilizando las acciones efectuadas en la sesion anterior abriendo el ficheromediante ‘Archivo > Abrir’.

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

Capıtulo 2

Estudio de Funciones elementales

En esta practica estudiaremos especialmente los ceros, el crecimiento y decrecimiento, las po-sibles singularidades y el comportamiento en el infinito, ası como la representacion grafica defunciones.

2.1. Dominio y puntos de corte

Una funcion puede estar definida en toda R o en solo una parte. Definimos las siguientes dosfunciones:

(%i1) f(x):=(x+2)/(x^2+1);

( %o1) f (x) :=x+ 2

x2 + 1

(%i2) g(x):=(x+2)/(x^2-1);

( %o2) g (x) :=x+ 2

x2 − 1El dominio de f es todo R, pues 1+x2 ≥ 0 para todo valor x ∈ R. Ademas, podemos comprobar

que efectivamente 1 + x2 no tiene ninguna raız real, para ello resolvemos la siguiente ecuacion:

(%i3) solve(1+x^2=0);

( %o3) [x = −i, x = i]

Por otra parte, la funcion g esta definida en todo R excepto x = 1 y x = −1, para ello calculamoslos ceros de la funcion x2 − 1:

(%i4) solve(x^2-1=0);

( %o4) [x = −1, x = 1]

Nos centraremos ahora con la funcion g. Para estudiar los puntos de corte con el eje de abscisas,planteamos la siguiente ecuacion:

13

2.2. ESTUDIO DE LAS ASINTOTAS. CALCULO DE LIMITES 14

(%i5) solve(g(x)=0,x);

( %o5) [x = −2]por lo que concluimos que (−2, 0) es el unico punto de corte de la grafica de la funcion g(x) con eleje x. En cuanto a los posibles punto de corte con el eje vertical, simplemente tendrıamos que verel valor de la funcion cuando x = 0,

(%i6) g(0);

( %o6) − 2Por tanto, el punto de corte se encuentra en el punto (0,−2).

2.2. Estudio de las Asıntotas. Calculo de lımites

Si un punto (x, y) se desplaza continuamente por una funcion y = f(x) de tal forma que, porlo menos, una de sus coordenadas tienda al infinito, mientras que la distancia entre ese punto yuna recta determinada tiende a cero, esta recta recibe el nombre de asıntota de la funcion.

Para ello necesitamos conocer los lımites de una funcion. Para calcular los lımites de una funcionse utiliza la orden limit. Con ella podemos calcular los lımites de funciones en un numero, en +∞o en −∞. Tambien podemos usar el menu ‘Analisis > Calcular lımite ’. Ahı podemos escogertambien de a que funcion les estamos calculando el lımite, a que tiende la variable incluyendo losvalores especiales como π, e o ∞. Tambien podemos marcar si queremos calcular unicamente ellımite por la derecha o por la izquierda. Ası pues,

Con limit(expr,x,a) estamos calculando lımx→a expr.

Con limit(expr,x,a,plus) estamos calculando lımx→a+ expr.

Con limit(expr,x,a,minus) estamos calculando lımx→a− expr.

inf designa a +∞.

minf designa a −∞.

Maxima tiene dos formas de indicar indeterminacion. Una es ind, para indicar que esta acotado,y la otra es und, para indicar la indeterminacion a secas, pero mucho cuidado con pensar que eneste caso la funcion no es acotada. Esto puede ser cierto como por ejemplo en el siguiente caso,

(%i1) limit(1/x,x,0);

( %o1) undo no serlo como es el caso

(%i2) limit(abs(x)/x,x,0);

( %o2) undEn este caso, Maxima no sabe si es cierta o no es cierta la acotacion, por lo que directamente

responde und pero esto no quiere decir que la funcion a la que les estamos calculando el lımite no

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

15 2.2. ESTUDIO DE LAS ASINTOTAS. CALCULO DE LIMITES

este acotada, solamente que Maxima no sabe si lo esta o no. En este ultimo caso si calculamos loslımites laterales

(%i3) limit(abs(x)/x,x,0,plus);

( %o3) 1

(%i4) limit(abs(x)/x,x,0,minus);

( %o4) − 1Por tanto, no existe el lımite puesto que los lımites laterales no coinciden.

Las asıntotas verticales son paralelas al eje OY, para ello tendrıamos que ver si existe un numeroa tal que en el lımite de la funcion por la derecha o por la izquierda sea +∞ o −∞. En nuestrocaso, la funcion g(x) tendrıa dos asıntotas verticales, porque su denominador se anularia en x = −1y x = 1. En este caso, tendrıa sentido calcular los lımites cuando x tiende a −1 y 1 por la derechay por la izquierda.

(%i1) limit(g(x),x,-1,plus);

( %o1) −∞

(%i2) limit(g(x),x,-1,minus);

( %o2) ∞

(%i3) limit(g(x),x,1,plus);

( %o3) ∞

(%i4) limit(g(x),x,1,minus);

( %o4) −∞Las asıntotas horizontales son paralelas al eje OX, para ello tendrıamos que ver si existe el

lımite de la funcion cuando x tiende a +∞ o a −∞.

(%i5) limit(g(x),x,minf);

( %o5) 0

(%i6) limit(g(x),x,inf);

( %o6) 0

Podemos comprobarlo viendo la grafica de la funcion. Cuando el salto es infinito o, lo que eslo mismo, cuando la funcion tiene una asıntota vertical, la primera dificultad que se encuentraMaxima es escoger un rango adecuado para representarla. Ver figura 2.1-izquierda.

(%i1) plot2d(g(x),[x,-5,5]);

En estos casos tenemos que ayudar nosotros al Maxima restringiendo el rango donde represen-tamos la funcion, ver figura 2.1-derecha.

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

2.3. SERIES NUMERICAS 16

(%i2) plot2d(g(x),[x,-5,5],[y,-5,5]);

-3000

-2500

-2000

-1500

-1000

-500

0

500

1000

-4 -2 0 2 4

g

x

-4

-2

0

2

4

-4 -2 0 2 4

g

x

Figura 2.1: Representacion de la funcion g(x) = x+2x2−1

2.3. Series numericas

Maxima nos permite definir sumas, de finitos o infinitos sumandos mediante el comando sum,o bien desde el menu mediante ‘ Analisis ¿Calcular suma ’. Ası pues los comandos utilizados eneste caso serian los siguientes:

Con sum(expr,n,a,b) y nusum(expr,n,a,b), calcularıamos∑n=b

n=a expr.

Si anadimos a la expresion anterior , simpsum o bien en la ventana del menu marcando[Simplificar] en ese caso obtendrıamos el resultado simplificado.

La diferencia entre sum y nusum radica en el hecho que la primera es la orden generica paracalcular una suma, sea finita o infinita, indicando la variable que hace de ındice y entre los valoresque varıa dicha variable. En cambio, nusum utiliza algunas reglas de sumacion para obtener unaexpresion mejor del resultado.

(%i1) sum(k,k,0,n);

( %o1)

n∑k=0

k

(%i2) %,simpsum;

( %o2)n2 + n

2(%i3) nusum(k,k,0,n);

( %o3)n (n+ 1)

2

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

Capıtulo 3

Derivadas

En esta practica vamos a aprender a calcular y evaluar derivadas, representar graficamenterectas tangentes y normales a la grafica de una funcion; calcular extremos de funciones realesde una variable y, por ultimo, calcular polinomios de Taylor y representarlos graficamente paraaproximar una funcion.

3.1. Calculo de Derivadas

Para el calculo de la derivada de una funcion se utiliza el comando diff de la siguiente forma:

diff(f(x),x) para el calculo de la derivada de la funcion f(x) en funcion de la variable x.

diff(f(x),x,n) para el calculo de la derivada n-esima de la funcion f(x) en funcion de la variablex.

A este comando tambien podemos acceder utilizando el menu mediante ‘Analisis > Derivar’.Veamos un ejemplo, para ello consideramos la funcion definida a trozos

f(x) = x cos(x)

(%i1) f(x):=x*cos(x);

( %o1) f (x) := x cos(x)

(%i2) diff(f(x),x);

( %o2) cos(x) − x sin(x)

La orden diff considera como constantes cualquier otra variable que aparezca en la expresiona derivar, salvo que explıcitamente manifestemos lo contrario.

(%i3) diff(y*sin(x),x);

( %o3) cos(x) y

17

3.2. INTERPRETACION GEOMETRICA DE LA DERIVADA 18

Ası pues para calcular la segunda derivada de f la hallariamos de la siguiente forma:

(%i4) diff(f(x),x,2);

( %o4) − 2sin(x) − cos(x)xLas derivadas sucesivas de una funcion nos dan mucha informacion sobre la funcion original y

con frecuencia nos hace falta utilizarlas de nuevo, ya sea para calcular puntos crıticos, evaluar paraestudiar monotonıa o extremos relativos, etc. Es por ello que es comodo escribir la derivada comouna funcion. Hay varias formas en las que podemos hacerlo. Podemos utilizar la orden define

(%i5) define(df(x),diff(f(x),x));

( %o5) df (x) := cos(x) − x sin(x)o bien, usando dos comillas ” ( las correspondientes a la tecla ? )

(%i6) df(x):=’’diff(f(x),x);

( %o6) df (x) := cos(x) − x sin(x)El uso de las comillas, o bien, el uso del comando define obligan a una evaluacion de la expresion

que le sigue. En otro caso, no podrıamos realizar una evaluacion de la expresion anterior.

3.2. Interpretacion geometrica de la derivada

Geometricamente la derivada de una funcion f(x) en el punto x = a es la pendiente de la rectatangente a esta curva en el punto (a, f(a)). Por tanto, la ecuacion de la recta sera de la forma

y = f(a) + f ′(a)(x− a),

donde f ′ designa a la derivada de la funcion f(x).Consideramos la funcion f(x) = x5− 3x4 +x2− 2x+ 1 y su derivada a la que denotaremos por

df

(%i1) f(x):=x^5-3*x^4 + x^2 -2*x + 1;

( %o1) f (x) := x5 − 3x4 + x2 + (−2) x+ 1

(%i2) define(df(x),diff(f(x),x));

( %o2) df (x) := 5x4 − 12x3 + 2x− 2Definimos la recta tangente de la funcion f en un punto a como

(%i3) tangente(x,a):=f(a)+df(a)*(x-a);

( %o3) tangente (x, a) := f (a) + df (a) (x− a)Podemos pues calcular la recta tangente de la funcion en el punto x = 1 y dibujarla conjunta-

mente con la funcion obteniendo la figura 3.1.

(%i4) tangente(x,1);

( %o4) − 7(x− 1)− 2

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

19 3.3. MONOTONIA Y EXTREMOS RELATIVOS

(%i5) plot2d([f(x),tangente(x,1)], [x,0,2],

[gnuplot_preamble, "set grid;"])$

-15

-10

-5

0

5

0 0.5 1 1.5 2

x

x5-3*x

4+x

2-2*x+1

-7*(x-1)-2

Figura 3.1: Funcion y tangente de la funcion en x = 1

3.3. Monotonıa y extremos relativos

En esta seccion trataremos el crecimiento y decrecimiento de una funcion f(x), que depende delsigno de su derivada. Para ello, es necesario localizar los extremos relativos, que son las solucionesde la ecuacion de punto crıtico f ′(x) = 0.

Lo ilustraremos mejor considerando un ejemplo, sea f(x) = x4 − 2x2:

(%i1) f(x):=x^4-2*x^2;

( %o1) f (x) := x4 − 2x2

Calculamos los puntos crıticos de f , para resolver la ecuacion de punto crıtico utilizamos elcomando solver :

(%i2) define(df(x),diff(f(x),x));

( %o2) df (x) := 4x3 − 4x

(%i3) p_criticos:solve(df(x)=0,x);

( %o3) [x = −1, x = 1, x = 0]

por lo que esos tres puntos son los puntos crıticos de la funcion, veamos si se trata de maximos,mınimos o puntos de inflexion. Para ello calculamos la segunda derivada de la funcion, la cual latenemos que evaluar en los tres puntos.

(%i4) define(d2f(x),diff(f(x),x,2));

( %o4) d2f (x) := 12x2 − 4

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

3.3. MONOTONIA Y EXTREMOS RELATIVOS 20

(%i5) [d2f(-1),d2f(1),d2f(0)];

( %o5) [8, 8,−4]

Lo que nos dice es que x = −1, 1 son mınimos relativos y que x = 0 es un maximo relativo.Finalmente, y para ver el crecimiento y decrecimiento de la funcion tenemos que saber el signo dela primera derivada en cada uno de los subintervalos. Para ello, utilizaremos los comandos assume,is, forget ya vistos en capıtulos anteriores. Por tanto, por ejemplo en el subintervalo de (−∞,−1)harıamos:

(%6) assume(x<-1);

( %o6) [x < −1]

(%i7) is(df(x)>0);

( %o7) false

(%i8) is(df(x)<0);

( %o8) true

(%i9) forget(x<-1);

( %o9) [x < −1]

Por lo que la funcion f(x) es decreciente en el intervalo (−∞,−1). De forma analoga para elresto de subintervalos obtenemos

(%i10) assume(x>-1 and x<0);

( %o10) [x > −1, x < 0]

(%i11) is(df(x)>0);

( %o11) true

(%i12) forget(x>-1 and x<0);

( %o12) [x > −1, x < 0]

(%i13) assume(x>0 and x<1);

( %o13) [x > 0, x < 1]

(%i14) is(df(x)<0);

( %o14) true

(%i15) forget(x>0 and x<1);

( %o15) [x > 0, x < 1]

(%i16) assume(x>1);

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

21 3.4. POLINOMIO DE TAYLOR

( %o16) [x > 1]

(%i17) is(df(x)>0);

( %o17) true

(%i18) forget(x>1);

( %o18) [x > 1]por tanto, f decrece en (−∞,−1) y (0, 1) y crece en (−1, 0) y (1,∞). Finalmente dibujamos la

grafica de la funcion y nos aseguramos que efectivamente es ası.

-100

0

100

200

300

400

500

600

-4 -2 0 2 4

x4-2

*x

2

x

-1

0

1

2

3

4

5

6

7

8

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

x4-2

*x

2

x

Figura 3.2: Grafica de la funcion f(x) = x4 − 2x2

En la grafica 3.2-izquierda aparentemente podrıa llevarnos a confusion y pensar que solo existeun mınimo alrededor de 0, aunque se aprecia el maximo en x = 0 en un intervalo mas pequeno3.2-derecha.

3.4. Polinomio de Taylor

Utilizaremos el polinomio de Taylor de orden n de una funcion f en un punto a como herra-mienta para aproximar funciones. El cual se define como

tn(x) = f(a) + f ′(a)(x− a) +f ′′(a)

2!(x− a)2 + . . .+

fn)

n!(x− a)n.

Mediante el comando

taylor(f(x),x,a,n), el programa nos calcula el polinomio de Taylor de la funcion f en el puntoa y de orden n.

Ahora bien, la expresion obtenida mediante el comando taylor, el wxMaxima no lo consideracomo un polinomio “normal”, por lo que debemos utilizar el comando

subst(t=x,taylor(f(t),t,a,n)) que convierte el polinomio de Taylor en polinomio.

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

3.4. POLINOMIO DE TAYLOR 22

Ası pues, si queremos calcular el polinomio de Taylor de orden 3 de la funcion exponencialf(x) = ex alrededor de x = 0, hacemos:

(%i1) f(x):=exp(x);

( %o1) f (x) := exp (x)

(%i2) p3(x):=subst(t=x,taylor(f(t),t,0,3))$

(%i3) p3(x);

( %o3)x3

6+x2

2+ x+ 1

(%i4) plot2d([f(x),p3(x)],[x,-5,5]);

-20

0

20

40

60

80

100

120

140

160

-4 -2 0 2 4

x

%ex

x3/6+x

2/2+x+1

Figura 3.3: Grafica de la funcion f(x) = ex y su aproximacion utilizando el polinomio de Taylorde orden 3.

y observamos en la figura 3.3 que efectivamente el polinomio cerca del valor a = 0 producevalores cercanos a los de la funcion f(x).

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

Capıtulo 4

Programar con wxMaxima

4.1. Nociones previas

Hemos visto como Maxima es un programa destinado al caculo de operaciones matenaticas, lascuales las podemos realizar a traves de la ventana de wxMaxima. Ahora veremos las aplicacionesde Maxima como lenguaje de programacion, escribiendo programas que podremos editar y ejecutardesde el entorno de wxMaxima.

La programacion consiste en la escritura de ciertas instrucciones ejecutables por Maxima, enun orden adecuado, de manera que al ejecutarlas obtengamos un objetivo predeterminado. Veamosalgunos de estos comandos.

Comenzaremos conociendo algunos comandos, que aunque no son comandos propios de progra-macion son de bastante utilidad en el momento de interaccionar entre la maquina y el usuario, enparticuar nos sirven para mostrar datos a traves de la ventana del ordenador. Veremos el comandodisplay(var), que muestra el valor de una variable var, o bien el comando print, el cual evalua ymuestra por pantalla los argumentos que recibe.

(%i1) a:3;

( %o1) 3

(%i2) display(a)$

a = 3

(%i3) print("Hola, buenas tardes a todos")$

Hola, buenas tardes a todos

(%i4) print("este es el resultado de sumar 3+a=",3+a)$

este es el resultado de sumar 3+a=8

23

4.2. CONDICIONALES 24

4.2. Condicionales

Un comando basido en todo lenguaje de programacion son los condicionales que sirven paraevaluar alguna condicion logica (cuya respuesta sea verdadero o falso) y ejecutar los comandos osentencias que siguen. La estructura general sera la que sigue:

if (condicion1) then

sentencias1

elseif (condicion2) then

sentencias2

else

sentencias

Vemos un ejemplo del comando if, conjuntamente con el comando block, con el cual podremosdefinir funciones que incorporan secuencias de expresiones. Creemos una funcion que nos determineel signo de un nmuero:

(%i5) signo(x):=block(if(x>0) then print(x," es un valor positivo")

elseif (x<0) then print(x," es un valor negativo")

else print("no puedes dividir por x=",x))$

(%i6) signo(7)$

7 es un valor positivo

(%i7) signo(-4)$

-4 es un valor negativo

(%i8) signo(0)$

no puedes dividir por x=0

4.3. Bucles

Otros comandos basidos en cualquier lenguaje de programacion son los ciclos o bucles. Veremosdos variantes del comando for, las cuales solo se diferencian en las condiciones de parada. Vemosla estructura basida del comando for en Maxima.

La primera variante es:

for indice: valor-inicial step incremento thru valor-final do

sentencias

Esta instruccion tiene el siguiente efecto: Se ejecutan las sentencias indicadas para los diferentesvalores de la variable indice desde un valor inicial valor-inicial, donde en cada etapa del ciclo elvalor de la variable indice se actualiza sumandole el valor del incremento, hasta que se verifique eltest de parada: Hasta que el valor de indice sea mayor que valor-final.

La segunda variante del comando for es

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

25 4.3. BUCLES

for indice: valor-inicial step incremento while condicion do

sentencias

Esta instruccion tiene un efecto similar: Se ejecutan las sentencias indicadas para los diferentesvalores de la variable indice desde un valor inicial valor-inicial, donde en cada etapa del ciclo elvalor de la variable indice se actualiza sumandole el valor del incremento, hasta que se verifique eltest de parada: Hasta que deje de verificarse la condicion.

Vemos algunos ejemplos. Contruir un sucesion de numeros desde el cero hasta cien, distanciadosveinte unidades.

(%i9) for a:0 thru 100 step 20 do display(a)$

a = 0a = 20a = 40a = 60a = 80a = 100

Sumar todos los numeros comprendidos entre 20 y 50.

(%i10) s:0$

(%i11) for i: 20 while i <= 50 do s: s+i$

(%i12) display(s)$

s = 1140Escribir la raız cuadrada de los 7 primeros numeros naturales,

(%i13) for i:1 thru 7 do print( "la raiz cuadrada de ",i," vale ",sqrt(i)),numer$

la raiz cuadrada de 1 vale 1,0la raiz cuadrada de 2 vale 1,414213562373095la raiz cuadrada de 3 vale 1,732050807568877la raiz cuadrada de 4 vale 2,0la raiz cuadrada de 5 vale 2,23606797749979la raiz cuadrada de 6 vale 2,449489742783178la raiz cuadrada de 7 vale 2,645751311064591

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

4.3. BUCLES 26

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.

Capıtulo 5

Integracion

En esta practica vamos a aprender a calcular integrales de una variable.

5.1. Calculo de Primitivas

La orden utilizada por el Maxima para calcular integrales es integrate que se utiliza de lasiguiente forma:

integrate(f(x),x) para el calculo de la primitiva de la funcion f(x).

integrate(f(x),x,a,b) para el calculo de la integral de la funcion f(x) entre a y b.

Disponemos tambien de la siguiente opcion en el menu para calcular integrales ‘Analisis >Integrar’, sin necesidad de escribir el comando correspondiente en la ventana de entradas. Veamosun ejemplo, para ello consideramos que queremos calcular∫ √

ln(x)

xdx

(%i1) f(x):=sqrt(log(x))/x;

( %o1) f (x) :=

√log (x)

x(%i2) integrate(f(x),x);

( %o2)2 log (x)

32

3

En las integrales pueden aparecer parametros y en ese caso, el programa te puede preguntaracerca de ese valor:

(%i3) integrate(sin(n*x),x);

( %o3) − cos (nx)

n

27

5.1. CALCULO DE PRIMITIVAS 28

(%i4) integrate(x^n,x);

Is n+1 zero or nonzero?nonzero;

( %o4)xn+1

n+ 1En el caso, de querer calcular una integral definida simplemente indicarıamos

los extremos:

(%i5) integrate(1/x,x,a,b);

Is b-a positive, negative, or zero?positive;Is b positive, negative, or zero?positive;Is a positive, negative, or zero?positive;

( %o5) log (b)− log (a)

Practicas de Matematicas Generales Aplicadas a la Bioquımica. Curso 2011/12.T. Chacon Rebollo, F. Maestre Caballero.