Sie sind auf Seite 1von 66

Universidad Autnoma de Nayarit Unidad Acadmica de Ciencias e Ingenieras Introduccin Maple: Clculo Diferencial y Integral

0. Introduccin o 1. Qu es el Maple? o 2. Instrucciones y comandos bsicos del Maple 1.Primera parte - Introduccin con los principales comandos o 1. Manipulando nmeros o 2. Solucin de ecuaciones o 3. Como usar el HELP 2. Segunda parte - Nociones de clculo diferencial y integral o 1. Calculando Lmites o 2. Calculando Algunas Derivadas o 3. Un problema de Clculo Interesante. o 4. Series de Taylor o 5. Calculando Integrales o 6. Ecuaciones Diferenciales 3.Tercera parte - Graficando 0. Introduccin 1. Qu es el Maple? Maple es un sistema de clculo simblico o algebraico. Ambas expresiones hacen referencia a la habilidad que posee Maple para trabajar con la informacin de la misma manera que lo haramos nosotros cuando llevamos a cabo clculos matemticos analticos. Mientras que los programas matemticos tradicionales requieren valores numricos para todas las variables, Maple mantiene y manipula los smbolos y las expresiones. Estas capacidades simblicas permiten obtener soluciones analticas exactas de los problemas matemticos: por ejemplo se pueden calcular lmites, derivadas e integrales de funciones, resolver sistemas de ecuaciones de forma exacta, encontrar soluciones de ecuaciones diferenciales, etc. Como complemento a las operaciones simblicas existe un amplio conjunto de rutinas grficas que permiten visualizar informacin matemtica compleja, algoritmos numricos que dan soluciones en precisin arbitraria de problemas cuya solucin exacta no es calculable y un lenguaje de programacin completo y comprensible que permite al usuario crear sus propias funciones y aplicaciones. Internamente Maple se estructura en tres partes. En primer lugar est el ncleo, formado por rutinas escritas y compiladas en lenguaje C, donde se realizan la mayor parte de los clculos bsicos hechos por el sistema. La segunda parte es un conjunto de libreras, donde se encuentra la mayora de los comandos de Maple, y que estn escritas en su propio lenguaje de programacin (interpretado no compilado), lenguaje que permite al usuario crear sus propios comandos y aadirlos a la librera estndar (es por tanto un sistema extensible). Y finalmente la interfaz del programa a travs de la cual es posible comunicarse con el sistema. Esta interfaz de Maple tiene un aspecto muy similar a la de otros programas usados en sistemas operativos con entorno grfico y permite el acceso a todas las

M. en C. Hctor Martnez Rubin Celis

1 / 66

funciones y capacidades del manipulador. Bsicamente lo que aparece al invocar el programa Maple (haciendo doble clic en su icono, por ejemplo) es una ventana ms o menos convencional en la que se encuentra integrado lo que en ingls se denomina worksheet y que nosotros traduciremos como hoja de trabajo. La flexibilidad de la hoja de trabajo permite tanto la investigacin en ideas matemticas como la creacin de artculos tcnicos sofisticados. De esta manera Maple presenta grandes posibilidades de aplicacin y uso tanto en la investigacin como en el trabajo profesional y por supuesto en la enseanza de las Matemticas. 2. Instrucciones y comandos bsicos del Maple Instrucciones Bsicas 1) Una vez ingresado a Maple se encontrar con una hoja de trabajo en blanco en la que aparecer un puntero seguido de una barra vertical. 2) Cada vez que finalice una frase deber escribir punto y coma (si desea que su resultado aparezca explcitamente) dos puntos (si desea que no aparezca el resultado). 3) Puede abandonar Maple por dos vas: eligiendo Exit del men File o bien escribiendo el comando quit. Si usa Exit, Maple le preguntar si desea respaldar su trabajo (usted deber decidir entre Si, No Cancelar). Si usa el comando quit, Maple no le har consulta alguna. Despus de haber ingresado dicho comando, simplemente deber presionar la tecla enter. Con sta accin usted abandona su hoja de trabajo y el programa Maple, perdiendo la informacin que tena en la hoja de trabajo. 4) Maple le ofrece ayuda en lnea mediante los comandos ?, ?? y ??? . El comando ? seguido de algn tpico, har que Maple le d una explicacin detallada de se tpico, de sus secuencias de llamada y de algunos ejemplos. Si usa ?? seguido de algn tpico, Maple slo le indicar qu y cmo escribir adecuadamente el comando relacionado con el tpico en cuestin. Si usa ??? seguido de algn tpico, Maple le ofrecer solamente ejemplos relacionados con el tpico consultado, omitiendo toda explicacin. Para salir de cualquiera de stas ayudas en lnea oprima las teclas Alt y F4 simultneamente. 5) Usted puede detener un clculo que considere que es demasiado largo y demoroso para Maple. Para ello puede usar el icono Stop que aparece en el men de Maple y que se enciende cada vez que Maple est procesando un clculo. El proceso se detiene haciendo un click con el mouse sobre dicho icono. 6) Al ingresar comandos y frases en su hoja de trabajo tome en consideracin que los errores ms comunes son los siguientes: (1) Olvidar al final de cada frase el punto y coma (2) No escribir los parntesis necesarios

(3) (4) (5)

Escribir una coma para nmeros decimales en lugar de un punto Olvidar de escribir el smbolo de multiplicacin Dos operaciones en la misma fila no requieren parntesis.

M. en C. Hctor Martnez Rubin Celis

2 / 66

7)

Antes de intentar realizar las tareas, le sugerimos que desarrolle previamente todos los ejemplos que aparecen en los Laboratorios.

8) El comando restart, reinicia la pgina de trabajo, reinicia los valores de las variables asignadas, dejndolas libres.
COMANDOS DE MAPLE COMANDOS BASICOS PARA ARITMETICA Y ALGEBRA

x+y; x - y; x*y; x/y; x ^ y; abs(x); x :=2 ; x = x; subs(x=a, f); evalf(expr); evalf(expr,n); evalc(imagin, expr); evalm(matr,expres); collect(expression,x); collect(f,[p,q]);

suma x e y resta x e y multiplica x e y divide x por y eleva x a y valor absoluto de x asigna a x el valor 2 suprime un valor asignado a x, quedando x libre sustituye la variable x en f por a evala una expresin usando decimales evala hasta n dgitos evala nmeros complejos evala una expresin matricial agrupa expresiones segn la potencia de x en f, agrupa todos los trminos con p, y todos los trminos con q expand(expr); desarrolla una expresin algebraicamente factor(expr); factoriza un polinomio fsolve(f(x)=0, x); soluciona numricamente la ecuacin en x, f(x) =0 fsolve(f(x)=0, x, a..b) soluciona numricamente en x, f(x)=0, entre a y b fsolve(f(x)=0, x ,complex); halla numricamente todas las races de una ecuacin polinomial en x, f(x) = 0 Pi ; (debe escribirse con mayscula) simplify(expresin); reduce expresiones , ms o menos solve(f(x)=0, x); resuelve simblicamente la ecuacin en x, f(x)=0 solve({f(x,y)=0, g(x,y)=0},{x,y}); resuelve simblicamente sistemas de ecuaciones sqrt(x); raz cuadrada de x I; nmero complejo i (%); da el resultado obtenido en el paso anterior coeff(expression,x,2); coeficiente de x 2 en la expresin with(student); carga la librera student completesquare(expr,[x,y]); completa cuadrados de binomio en x e y en la expresin expr completesquare(quad,[x,y,z]); completa cuadrados de binomio en x,y,z

M. en C. Hctor Martnez Rubin Celis

3 / 66

COMANDOS RELACIONADOS CON FUNCIONES Y GRAFICAS EN 2D

1) En Maple, al igual que en Matemticas, existe una diferencia entre una expresin y una funcin. Una funcin toma argumentos y retorna valores. Una expresin es un objeto. Una funcin es activa y una expresin es pasiva. La sintaxis bsica para definir una funcin es: nombre:= variable -> expresin Para escribir la flecha con el teclado se usa primero la tecla - y despus la tecla > sin dejar espacio entre ambas. 2) El comando para realizar grficas es plot. Hay varios tipos de sintaxis para ste comando, dependiendo si se trata de funciones o expresiones: (I) plot(f(x), x= a..b); (II) plot(f, x=a..b); (III) plot(f, a..b); sintaxis tanto para funciones como expresiones sintaxis slo para expresiones sintaxis slo para funciones

3) Una vez que Maple est en la ventana de grficas, el mouse maneja un cursor en forma de flecha que sirve para determinar las coordenadas de cualquier punto de la grfica. Para ello se conduce la punta de la flecha hacia el punto cuyas coordenadas se desea determinar, se hace un click y aparecer en la parte inferior de la ventana las coordenadas del punto que se est apuntando. 4) La sintaxis para graficar varios grficos simultneamente y controlar adems la escala del eje vertical es: (IV) (V) (VI) plot({f(x), g(x)} , x = a..b, c..d); sintaxis para funciones y expresiones plot({ f, g }, x = a..b, c..d); sintaxis slo para expresiones plot({f , g}, a..b, c..d); sintaxis slo para funciones

5) Para representar una funcin a trozos, o sea una funcin que presenta un dominio dividido en diferentes partes pudiendo ser diferente el proceso que se aplica en cada una de ellas se usa la estructura if - then - else. Hay dos alternativas: a) Si tan slo se trata de una condicin la sintaxis es: s:= proc(x) if (condicin) then (expresin) else (expresin) fi end: (El comando proc(x) quiere decir procedure (procedimiento para x)) b) Si hay varias condiciones la sintaxis es: s:=proc(x) M. en C. Hctor Martnez Rubin Celis 4 / 66

if (condicin) then (expresin) elif (condicin) and (condicin) then (expresin) elif (condicin) then (expresin) elif (depende si hay ms condiciones) fi end: (El comando elif es una abreviatura para else if que significa de otra manera si...) 6) Dos funciones a trozos importantes para los que no se requiere el procedimiento anterior son la funcin valor absoluto para la cual se usa el comando abs (y que se vio en el laboratorio anterior) y la funcin parte entera (que da el mayor de los nmeros enteros menores que un nmero dado) para la cual se usa el comando floor (nmero). 7) Para hacer en Maple una tabla de valores se puede usar dos vas: a) usando el comando seq que se aplica a una funcin f ya definida mediante la sintaxis: seq(f(i), i = a..b) (Produce una secuencia de valores horizontal)

b) usando el comando array que se aplica a una funcin ya definida mediante la sintaxis: array( [seq( [i, evalf(f(i))], i = a..b) ] ) (Produce una secuencia de valores verticales) 8) Una de las caractersticas de Maple son sus libreras (paquetes especiales) packages. Los packages son libreras de programas dentro de Maple con comandos especiales que se llaman slo cuando se necesitan. As se logra tener en la memoria Ram del computador slo lo que se necesita y no se recarga dicha memoria consciente intilmente. Es as como Maple contiene libreras de geometra, de lgebra lineal, de series de potencia, de estadstica, de geometra tridimensional, etc. Todos stos programas se ingresan con el comando with. En ste laboratorio hay inters por graficar; en particular por graficar funciones que vienen definidas implcitamente. Este tipo de grfica se obtiene ingresando el package plots. El ingreso se har entonces con la sintaxis: with(plots): implicitplot( f(x,y)=0, x = a..b, y = c..d); 9) Para transformar una expresin en una funcin se usa el comando unapply mediante la sintaxis: g:= unapply(nombre de la expresin, x); 10) Para transformar una funcin en una expresin se usa la sintaxis:

M. en C. Hctor Martnez Rubin Celis

5 / 66

y := f(x) 11) Para graficar los puntos (a , b) , (c, d ) , (e, f ) en dos dimensiones: pointplot ({ [a , b ] , [c , d ] , [e , f ] }); 12) piecewise(x < a , f(x) , x >= b , g(x) , u(x)); define una funcin a trozos

COMANDOS PARA FUNCIONES LOGARITMICAS, EXPONENCIALES Y TRIGONOMETRICAS Y GRAFICOS CON ANIMACION

exp(x); funcin exponencial e x ln(x); logaritmo natural de x log[a](x); logaritmo de x en base a sin(x); seno de x radianes cos(x); coseno de x radianes tan(x); tangente de x radianes cot(x); cotangente de x radianes sec(x); secante de x radianes csc(x); cosecante de x radianes arcsin(x); arcoseno de x ; funcin inversa de sen(x) arccos(x); arcocoseno de x; funcin inversa de cos(x) arctan(x); arcotangente de x; funcin inversa de tan(x) arcsec(x); arcosecante de x; funcin inversa de sec(x) arccsc(x); arcocosecante de x; funcin inversa de cosec(x) arccot(x); arcocotangente de x; funcin inversa de cot(x) convert(*degrees, radians); convierte grados sexagesimales a radianes convert(, degrees); convierte b radianes a grados sexagesimales combine(expresin, trig); transforma frmulas trigonomtricas animate(F(x,t),x =a..b,t=c..d);produce grficos con animacin

2)

Para usar las funciones trigonomtricas tome en cuenta que todos los argumentos 180 Pi deben estar en radianes (1 radian = grados sex. ; 1 grado sex. = radianes) Pi 180 3) Usted puede simplificar o desarrollar identidades trigonomtricas y Maple tiene rutinas que le permitirn convertir expresiones trigonomtricas a otras formas. Por ejemplo, usted puede convertir cualquier expresin trigonomtrica en una expresin que contenga slo trminos en seno y coseno. Para lograr esas transformaciones tendr que usar tanto algunos comandos y operadores estudiados en guas anteriores como expand, factor y simplify , como algunos nuevos tales como combine[trig], simplify[trig], y convert. 4) Debe observarse que para convertir grados sexagesimales a radianes, Maple usa degrees (grados) como una unidad que se nombra explcitamente y por la cual hay que

M. en C. Hctor Martnez Rubin Celis

6 / 66

multiplicar el ngulo . En cambio para convertir radianes a grados Maple exige no escribir radians, ni tampoco especificar una multiplicacin por radianes. 5) Para producir grficos con animacin se requiere introducir primero el package de grficas. Luego la sintaxis para producir animacin es: > with(plots): > animate( F(x,t), x = a..b, t = c..d); donde F es una funcin real en x y en t y en donde a..b especifica el rango real horizontal (abscisas) en el cual se grafica F, mientras que c..d especifica de qu manera se desea que vare el cuadro coordenado de un cuadro al siguiente. 6) Descripcin de la ventana de grficos con animacin: Una vez que se ha obtenido la ventana de Maple para grficos con animacin es posible notar que aparecen dos filas de iconos en lugar de la clsica fila en las ventanas de Maple para grficas sin animacin. Al usar el mouse en la segunda fila sobre el segundo icono de izquierda a derecha (el que se parece a Play en un tocacintas), y hacer un click la grfica comenzar a moverse desde abajo hacia arriba. Al poner la flecha del mouse sobre el segundo icono de derecha a izquierda en un icono que exhibe una flecha y hacer un click, la flecha del icono cambiar de sentido, de izquierda a derecha a derecha a izquierda. Esto significar que la curva comenzar a moverse de principio a fin pero en sentido contrario. Si, en lugar de hacer un click sobre el Play, se hace un click sobre el tercer icono que aparece de izquierda a derecha, que exhibe una flecha con una raya vertical en su punta, se lograr que la curva se mueva un cuadro por vez: uno por cada click. Si se realiza ste acto lentamente se descubrir que la curva bajar de comienzo a fin despus de haber presionado 15 veces el mouse,o sea con un total de 15 clicks. Esto significa que Maple ofrece, por defecto, un total de 16 cuadros de principio a fin. Se puede variar la cantidad de 16 cuadros que Maple ofrece por defecto usando la siguiente sintaxis: animate(F(x,t), x=a..b, t= c..d, frames = n);

Si se hace un click sobre el primer icono de la derecha de la segunda fila se observar que dicho icono cambia de una figura de dos semiflechas a una figura cerrada. Si se hace un click ahora sobre el Play (segundo icono de izquierda a derecha), la figura se mover ininterrumpidamente un sin fin de veces. Para detener el movimiento de la figura se hace un click sobre el primer icono de la izquierda (similar al stop de un tocacintas). Quedan aun dos iconos: son los que se parecen al retroceso y avance rpido en los tocacintas. Aqu hacen las veces de disminucin o aumento de cuadros por segundo. Observe que al hacer un click sobre uno de ellos aparece en la parte inferior de la pantalla una indicacin con un valor de fms, que significa frames per second (cuadros por segundo). A medida que se contina haciendo clicks sobre el mismo icono se ver que variar la cantidad de fms (aumentar o disminuir segn el icono que se est ocupando). 7) Una opcin interesante que posee el comando plot es el que permite poner ttulo a una grfica. Para ello se usa la siguiente sintaxis: M. en C. Hctor Martnez Rubin Celis 7 / 66

> animate( F(x,t), x = a..b, t = c..d, frames = n, title = nombre); 8) Otra opcin interesante del comando plot es la posibilidad en algunos casos de eliminar las asntotas de la grfica. Se usa la sintaxis: >plot( f(x), x= a..b, y=c..d, discont=true); Lamentablemente en la versin 3 de Maple esto no da siempre el resultado esperado. 9) Para calcular logaritmos en base 10 en Maple es necesario primero introducir el package readlib(log10)

COMANDOS RELACIONADOS CON LIMITES DE SUCESIONES

seq(a(n), n = a..b); limit(a(n), n = infinity); Limit(a(n), n = infinity); seq([n, a(n)], n = a..b]; style = point;

sucesin de nmeros a(n) para n de a hasta b calcula el lmite de la sucesin da la notacin del lmite de la sucesin sucesin de pares ordenados de la sucesin da el tipo de punto usado en grfica

COMANDOS RELACIONADOS CON LMITES DE FUNCIONES

for k from a to b do...od; limit(f(x), x=c); limit(f(x), x=c, right);

procedimiento que repite un proceso un determinado nmero de veces lmite de f(x), cuando x tiende al valor c lmite de f(x), cuando x tiende a c por la derecha

limit(f(x), x=c, left);

lmite de f(x), cuando x tiende a c por la izquierda limit(f(x), x=infinity); lmite de f(x), cuando x tiende a infinito piecewise(x < a , f(x) , x >= b , g(x) , u(x)); define una funcin a trozos

COMANDOS PARA DERIVADAS

diff(expr,x); diff(f(x),x); D(f); showtangent(f(x), x=c,a..b);

derivada de la expresin con respecto a x derivada de f(x) con respecto a x derivada de la funcin f, retorna una funcin grafica f(x) y una recta tangente en x = c

M. en C. Hctor Martnez Rubin Celis

8 / 66

COMANDOS PARA FUNCIONES POLINOMICAS Y RACIONALES

normal numer denom quo rem

forma bsica para simplificar funciones racionales elige el numerador de una funcin racional despus de haber usado el comando norm elige el denominador de una funcin racional despus de haber usado el comando norm retorna el cuociente del numerador dividido por el denominador retorna el resto del numerador dividido por el denominador

COMANDOS PARA INTEGRACION

int(f(x),x); int(f(x),x=a..b); Int(f(x),x); sum(k, k=1..3); Sum(k, k=1..3); with(student); integrand(Int(f,x)); leftbox(f(x), x=a..b,n);

integral indefinida (antiderivada de f(x)) integral definida de f(x) entre a y b integral inerte, no evaluada retorna 1 + 2 + 3 retorna el signo sumatoria para la suma de 1+2+3 carga la librera student retorna el integrado de f dx da el grfico de f(x) en [a,b], dibujando n rectngulos bajo f(x) con puntos iniciales para aproximar el rea suma exacta de reas de rectngulos de leftbox da el grfico de f(x) en [a,b], dibujando n rectngulos bajo f(x) con puntos terminales para aproximar rea suma exacta de reas de rectngulos de rightbox descomposicin en fracciones parciales de una fincin racional f(x) suma fracciones va comun denominador fuerza a Maple a usar la transformacin
x2 > x carga la librera student realiza un cambio de variable definido por eqnen la integral inerte Int,resultando en una integral con una n ueva variable t

leftsum(f(x),x=a..b,n); rightbox(f(x),x=a..b,n);

rightsum(f(x), x=a..b,n); convert(f,parfrac,x); normal(expression); simplify(expression, symbolic); with(student); changevar(eqn,Int,t);

M. en C. Hctor Martnez Rubin Celis

9 / 66

intparts(Int,u); simpson(f,x=a..b,n); trapezoid(f,x=a..b,n); int(f,x=a..b, Cauchy Principal Value);

da uv v du para la integral inerte


Int = u dv

aproximacin por Regla de Simpson con n paneles aproximacin por la Regla del Trapezoide con n paneles da el Valor Principal de Cauchy de las integrales impropias

COMANDOS PARA SERIES

taylor(f,x=a,n); mtaylor(f(x,y),[x=a,y=b],n); convert(taylor(f,x=a,n),polynom);

polinomio de Taylor de orden n-1, en x=a, para f calcula un polinomio de Taylor multivariable de grado n , en el punto (x,y)=(a,b) convierte resultados del comando taylor en polinomios

COMANDOS PARA COORDENADAS POLARES Y ECUACIONES PARAMETRICAS

plot([x(t),y(t),t=a..b]); grafica la curva paramtrica x = x(t) , y = y(t) plot( [r(t), t , t = a..b], coords=polar ); grfico polar de r = r(t) plot( [r(t), t , t = a..b], c..d , e..f, coords=polar ); grafica polares y regula el tamao de los ejes horizontal y vertical, donde c..d son para eje horizontal y e..f para eje vertical

COMANDOS PARA VECTORES Y GRAFICOS EN ESPACIO 3D

plot3d(f(x,y),x=a..b, y=c..d; with(linalg); crossprod(v1,v2); det(A); dotprod(v1,v2); normalize(v); stack(v1,v2); matrix(2,3,[a,b,c,d,e,f]) vector([a,b,c]);

grafica en 3D la superficie z=f(x,y) carga la librera de lgebra lineal calcula el prodicto cruz de los vectores v1 y v2 calcula el determinante de la matriz A calcula el producto punto de los vectores v1 y v2 da el vector unitario v/(longitud de v) forma matrices cuyas filas son vectores v1, v2 crea una matriz 2 x 3 cuyos entradas son las filas a,b,c; y; d,e,f crea el vexctor ai+bj+ck

M. en C. Hctor Martnez Rubin Celis

10 / 66

with(plots); plot3d(f(x,y),x=a..b, y=c..d; implicitplot3d(f(x,y,z),x=a..b,y=c..d,z=p..q);

carga la librera plots grafica en 3D la superficie z=f(x,y) grafica la superficie z=z(x,y)definida implcitamente por f(x,y,z) spacecurve([x(t),y(t),z(t)],t=a..b); grafica la curva 3D x=x(t), y=y(t), z=z(t) display3d({l1,l2}); grafica simultneamente dos entes 3D definidos previamente por l1:=plot3d(etc...): y l2:=plot3d(etc...): pointplot3d({[a,b,c],[d,e,f],[p,q,r]}); grafica puntos en 3D cylinderplot(r(t,z),t=a..b,z=c..d); grafica r(t,z) en coordenadas cilndricas sphereplot(r(t,f),t=a..b,f=c..d); grafica la superficie 3D r(t,f) en coordenadas esfricas contourplot(f(x,y), x=a..b,y=c..d); genera una coleccin de curvas de nivel contourplot(f(x,y), x=a..b,y=c..d,contours=[p,q,r]); genera curvas de nivel para constantes z=p,q,r carga la librera de lgebra lineal evala una matriz aritmtica, dividiendo el vector v por el escalar c calcula la norma euclidiana (longitud) del vector v

with(linalg); evalm(v/c); norm(v,2);

M. en C. Hctor Martnez Rubin Celis

11 / 66

1. Primera parte Introduccin a los principales comandos En esta seccin de trabajo veremos los principales recursos del Maple V para operaciones algbricas (numricamente y simblicamente). Al final de una instruccin teclear "punto y coma" o "dos puntos". Descubra la diferencia entre ellas.
> > # Este es un smbolo de comentario. El Maple ignora todo lo que sigue a #. Smbolos

de operaciones +,*, -,/,**=^ 1. Manipulando Nmeros Teclea la siguiente cuenta > 32*12^13; # teclee [enter]
> # Calcular el fatorial de 20 > 20!; > # Decomponer un nmero en factores primos > ifactor(%);

> # Expandir un nmero > expand(%);

Trabajando con aritmtica EXACTA. > (2^30/3^20)*sqrt(3);

No aparece ningn redondeo. El valor es excato. Para ver una aproximacion en decimales ejecutamos evalf (evaluation with floating point) > evalf(%);

Otro ejemplo: > sin(sqrt(2/3)*Pi);

> evalf(%); >

M. en C. Hctor Martnez Rubin Celis

12 / 66

Otro ejemplo: > 20*root[5](Pi);


> # Cuantos dgitos usados? > Digits;

Si quiere una respuesta con mas dgitos. > Digits:= 30: evalf(sin(sqrt(2/3)*Pi)); Cambiando a 10 digitos. > Digits:= 10: Haciendo sumatorias. Descubra a diferencia entre los comandos Sum y sum > Sum((1+i)/(1+i^4), i=1..10);

> value(%);

> Sum(1/n^2,n=1..40);

> value(%);

> evalf(%);

Productos, como una sumatoria, descubra la diferencia entre los comandos Product y product > Product(((i^2+3*i-11)/(i+3)), i=0..10);

> value(%);

M. en C. Hctor Martnez Rubin Celis

13 / 66

> evalf(%,50);

Repita los comandos de somatoria y produtos, iniciando con letra minscula para ver un que ocorre . > sum((1+i)/(1+i^4), i=1..10);

> product(((i^2+3*i-11)/(i+3)), i=0..10);

Nmeros Complejos: > (3+5*I)/(7+4*I); # dividiendo ...

> (2-4*I)*(1+I); > sqrt(4*I); > (sqrt(4*I))^2;

> evalc(%);

Funciones famosas y constantes famosas: > evalf(exp(1),40); #constante con 40 decimales


> evalf(Pi,50); #constante Pi con 50 decimales

Un Maple ms poderoso con clculos simblicos. Operaciones Simblicas: > (x+y)^3*(x+y)^2;


> expand(%);

Factorizar un polinomio > factor(%);


> simplify(cos(x)^5 + sin(x)^4 + 2*cos(x)^2 - 2*sin(x)^2 - cos(2*x));

Normalizar formas racionales > normal((x^3-y^3)/(x^2+x-y-y^2));

M. en C. Hctor Martnez Rubin Celis

14 / 66

2.Trabajando con nombres: > A:= (41*x^2+x+1)^2;

> B:= expand(A);

> C:= 32*x^3-4;

> # Dividir A entre C > A/C;

Escribir A/C como fracciones parciales. > convert(A/C, parfrac,x);

Escribir la funcin cot en trminos de exponenciales. > convert(cot(x) , exp);

Ms cosas importantes, raz de polinomio con la multiplicidad. > solve(a*x^2+b*x+c,x);

> polinomio:=9*x^3-37*x^2+47*x-19;

> solve(polinomio,x);

Derivando un polinomio > p:=x->9*x^3-37*x^2+47*x-19;

M. en C. Hctor Martnez Rubin Celis

15 / 66

> D(p);

> D(p)(1);

Para determinar mas raices (reales o complejas) numericamente de un polinomio > fsolve(p(x)=0,x); Resolviendo un sistema > eqns := {7*x-14*y=1.111, -14*x+140*y=-0.642};
> sols := solve( eqns );

2. Solucin de Ecuaciones: Solucionar una ecuacin es encontran los valores para los cuales dicha ecuacin es verdadera. Las soluciones ms usadas son aquellas que buscan las raices de una expresin polinmica. Para tal efecto usaremos el comando: fsolve( expresin ) Orden ........: solve Sintxis ......: solve( expresin , x , a..b) Propsito ...: Calcula la solucin de expresin . Las raices del polinomio. Sobre la variable x en el intervalo a..b .
> restart;

f1:=x^2+1; solve(f1,x); f2:=a*x^2+b*x+c; solve(f2,x);

Lo que nos arroja, incluso, una expresin algebrica para la solucin de una funcin cuadrtica.

M. en C. Hctor Martnez Rubin Celis

16 / 66

Cuando la funcin la definimos nosotros mismos, podemos usar el comando fsolve. Vamos a solucionar una expresin definida por nosotros y ubica los puntos de la solucin en un grfico.
> with(plots):

f3:=x^4+2*x^2+x; raices:=fsolve(f3,x,-2..2); puntos:=([raices[1],0],[raices[2],0]); p1:=plot(f3,x=-1..1): p2:=plot([puntos],x=-1..1,style=point,color=blue,thickness=3,symbol=circle): display({p1,p2});


Warning, the name changecoords has been redefined

Supongamos ahora que deseamos calcular los puntos de interseccin de una recta y una cuadrtica:
> Linea:=2*x+4;

Cuadratica:=x^2+2*x+3; Sol:=fsolve(Linea=Cuadratica,x); #subs( x=2, x^2+x+1 ); digits:=2;

M. en C. Hctor Martnez Rubin Celis

17 / 66

Puntos:=([Sol[1],subs(x=Sol[1],Linea)],[Sol[2],subs(x=Sol[2],Linea)]); plot({Linea,Cuadratica,[Puntos]},x=5..5,style=[point,line,line],color=[red,blue,black]);

Hemos usado la opcin de remplazar o sustituir una variable en una ecuacin. La sintxis es la siguiente: Orden ........: subs Sintxis ......: subs( x=a,expresin) Propsito ...: Remplaza el valor de la variable x en la expresin .
> subs(x=a,x^2+3*x+4);

Como usar el HELP Usted puede ver cuales son los paquetes del Maple V y sus comandos consultando el help.

M. en C. Hctor Martnez Rubin Celis

18 / 66

El help del Maple es muy amigable. Es interesante saber usrlo. El help tiene tres nveles de ayuda con una ? interrogacin o con dos ?? interrogaciones o con tres ??? interrogaciones. Descubra la diferencia entre ellas. Para ver los paquetes del Maple teclee ?index[package]; > ?index[package]; Cada paquete es acompaado con un comando with. > #with(student); #ejemplo > #?index[functions]; #ejemplo > #with(linalg); #ejemplo

2. Segunda parte - Nociones de clculo diferencial y integral

1 . Calculando Lmites

Lmites:
El lmite de una sucecin o de una funcin se calcula en Maple con la orden limit Orden ........: limit Sintaxis ......: limit (expresion, variable= a , opcin) Propsito ...: Calcular el lmite de la expresin , cuando variable tiende a..: a . Veamos algunos ejemplos: Definiendo una expresin > restart: f1:=(n^2)/(n+1); limit(f1,n=infinity);

> f2:=(x^2-sqrt(x))/(sqrt(x)-1);

limit(f2,x=1);

M. en C. Hctor Martnez Rubin Celis

19 / 66

> f3:=(cos(x))/(sqrt(1-sin(x)));

limite:=limit(f3,x=0);

> f4:=(x+2)/(x^2-4*x+3);

limit(f4,x=3,left); limit(f4,x=3,right); limit(f4,x=3); limit(f4,x=2); limit(f4,x=4);

Como se puede observar, los lmites laterales de la funcin no son iguales, por tanto el lmite no existe. Intentemos ver estos resultados en un grfico
> with(plots):

plot(f4,x=0..6,y=-100..100,title=`Limite x-->3`);
Warning, the name changecoords has been redefined

M. en C. Hctor Martnez Rubin Celis

20 / 66

> # Funciones por Tramos

Podemos definir tambin una funcin cuya expresin muda con las condiciones sin argumento. Por ejemplo: > f:=x ->piecewise(1<=x and x<2, x^2,2*x+10);
> f(x);

> f:=piecewise(x<-1,7*x,x<4,x^2-2,4*x-2); 7x f := x 2 2 4x2

x < -1 x<4 otherwise

> f:=x->piecewise(x<-1,7*x,x<4,x^2-2,4*x-2); f := x piecewise ( x < -1, 7 x, x < 4, x 2 2, 4 x 2 ) > plot(f(x),x=-4..6,discont=true,color=red);

M. en C. Hctor Martnez Rubin Celis

21 / 66

> f:=piecewise(x<4,3*x+244,(x^3-64)/(sqrt(x)-2));
3 x + 244 f := x 3 64 x 2 x<4 otherwise

> f:=x->piecewise(x<4,3*x+244,(x^3-64)/(sqrt(x)-2)); x 3 64 f := x piecewise x < 4, 3 x + 244 , x 2 > plot(f(x),x=3..5,discont=true);

> # Funciones Discontinuas > f:=x->x-floor(x);

f := x x floor( x )

> plot(f(x),x=-3..4,y=-1..5,discont=true);

M. en C. Hctor Martnez Rubin Celis

22 / 66

> g:=x->x*floor(x);

g := x x floor( x )

> plot(g(x),x=-3..4,discont=true);

> Limit(x*cos(1/x^2), x=0, left); #un limite dificil??

> value(%);

0 Definindo una funcin. > f1:=(x,y) -> (x^2-5*y)/(x^3+2*x);

> limit(f1(x,y),x=1);

M. en C. Hctor Martnez Rubin Celis

23 / 66

Vamos ver un grfico de una funcin. Tomemos como ejemplo la funcin intervalo [-2,2]. > plot((x^2-5)/(x^2+1),x=-2..2);

x2 5 , en el x3 + 2 x

Haga otros grficos. Experimente funciones conocidas por usted tal como seno, coseno, etc... Otra forma de definir una funcin es por medio del llamado procedimiento. Un procedimiento tiene la forma: P : = proc(argumentos) local (variables locales) instrucciones a ser ejecutadas end; Vamos a ver un ejemplo, mas tarde volveremos a este punto. En este ejemplo, definimos una funcin salto > salto:=proc(x); > if 1<=x then x^2+1 else cos(x) fi; > end;
> salto(-1); > salto(2);

Otro ejemplo. > pp:=proc(x); > x^3; > end;


> pp(sqrt(2));

M. en C. Hctor Martnez Rubin Celis

24 / 66

> pp((2)^(1/3));

Ahora vamos cambiar los limites y escribir Limit en lugar de limit . > Limit(f1(x,2), x=1);

> value(%);

Si un comando comienza con letra mayscula, entonces el es "inerte". Esto es, se escribe mas no calcula . > A:=sin(2*x)/x;

Observar que A no es del tipo A:=x -> sin(2*x)/x, funcin. Por lo tanto, A no es funcin (es una expresin). > Limit(A, x=0);

> value(%); > Limit(A, x=infinity);

> value(%);

Ahora veamos dos limites infinitos. > Limit(1/x, x=0, left);

> value(%);

Siguiente, usamos "limit" con minscula. > limit(1/x, x=0, right);


> limit(1/x, x=0, left);

> f4:=(x+2)/(x^2-4*x+3);

limit(f4,x=3,left); M. en C. Hctor Martnez Rubin Celis 25 / 66

limit(f4,x=3,right); limit(f4,x=3); limit(f4,x=2); limit(f4,x=4);

El Maple puede calcular lmites para funciones de ms de una variable. Vamos ver ejemplos. > limit(x^2-y^3+z^4,{x=1,y=2,z=3});
> limit(x^2/(x^2+y^2+z^2+1),{x=1,y=2});

> limit(limit(x/(x^2+y^2),{x=y^2}),y=0);

Veamos algunos ejemplos en que el Maple no consigue dar una respuesta satisfactoria y en ejemplos donde un limite es calculado en vrios puntos. > F2:=(x,y,z)-> (x^2+y^2+z^2)/ (x^2+y^2+z^2+1);

> limit(F2(x,y,z),{x=1,y=2,z=3});### observe, un punto est entre llaves.

> limit((x^2-y^2)/(x^2+y^2), {x=0,y=0}); > limit(sin(x^2+y^2)/(x^2+y^2),{x=0,y=0});

M. en C. Hctor Martnez Rubin Celis

26 / 66

2 . Calculando Algunas Derivadas Tal ves uno de los conceptos ms importantes del Clculo, en todos los niveles, inicialmente trataremos de calcular algunas derivadas y luego intentaremos estudiar el concepto de Derivada de una funcin desde el punto de vista grfico: Orden ........: diff Sintaxis ......: diff (expresin, variable) Propsito ...: Calcular la derivada de expresin en trminos de variable .

> f2:=x -> sin(2*x);

Derivando una vez, > diff(f2(x),x); Derivando 3 veces, > diff(f2(x),x,x,x); Observe que para derivar 3 veces podemos usar x, x, x, o x$3. > diff(f2(x),x$3);

Calculando derivadas con operador diferencial "D". Una salida (output) es siempre una funcin > h:=x -> x^2;
> h(x);

> D(h); # Va a salir una Funcin ! > D(h)(x);# aqu calculamos a derivada en un punto x > D(h)(1);# aqui calculamos a derivada en un punto x=1 > diff(R(x)*S(x),x); # derivada del producto

> f1:=sin(x);

diff(f1,x); f2:=3*x^2+5*x+5; diff(f2,x);

M. en C. Hctor Martnez Rubin Celis

27 / 66

> f3:=(sin(x))/(1+cos(x));

df3:=diff(f3,x); simplify(%);

> f4:=(x^2+3*x)*(2*sin(2*x));

diff(f4,x); simplify(%);

Tambin podemos calcular derivadas de funciones de ms de una variable, es decir, derivadas parciales:
> diff(T(x,y(x)),x); # derivada total de T(x,y(x))

> f1:=(x^2+y^2);

diff(f1,x);

M. en C. Hctor Martnez Rubin Celis

28 / 66

diff(f1,y); diff(f1,x,y),diff(f1,x,x),diff(f1,y,y);

Los anteriores ejemplos calculan: - Derivada de f ( x , y ) respecto a x. - Derivada de f ( x , y ) respecto a y. - Derivada de f ( x , y ) respecto a y respecto a y. - Derivada de f ( x , y ) respecto a x respecto a x - Derivada de f ( x , y ) respecto a y respecto a y. Podemos calcular derivadas parciales de orden superior, para lo cual usamos el operador $ en la variable.
> f1:=x^4-y^5;

diff(f1,x$3); diff(f1,y$3);

> f2:=x^2*sin(x);

diff(f2,x$10);

Podemos derivar parcialmente en orden superior, es decir:


> f4:=exp((x/y));

diff(f4,x$3,y$2); simplify(%);

M. en C. Hctor Martnez Rubin Celis

29 / 66

Hemos calculado:

f x y

Ahora, el operador de diferenciacin D, se usa para que al calcular la derivada de una funcin, Maple interprete este resultado como otra funcin y no como una expresin.
> f:=8*sin(3*x);

df:=diff(f,x); evalf(subs(x=2,df));

> f:=x->8*sin(3*x);

D(f); evalf(D(f)(2));

Podemos utilizar el operador D[](f) , para calcular derivadas parciales de orden superior. Orden ........: D Sintaxis ......: D [ ndices ] (expresin)

M. en C. Hctor Martnez Rubin Celis

30 / 66

Propsito ...: Calcular la derivada parcial de expresin, de acuerdo a los ndices, los cuales representan el orden de las variables tal como aparecen en la definicin.
> f:=(x,y)->x^3+y^3;

D[1](f); # Dx(f) D[2](f); # Dy(f) D[1,1,1](f); # Dxxx(f)

> f:=sin(2*x);

g:=diff(f,x); plot({f,g},x=-Pi..Pi,title=`Una Funcin y su derivada`);

Ahora vamos a presentar grficamente el concepto de Derivada. Trazaremos varias rectas tangentes a un conjunto de puntos de una funcin y formaremos con las derivadas, la grfica de dicha funcin.

M. en C. Hctor Martnez Rubin Celis

31 / 66

De la librera student usamos la opcin showtangent, que nos permite ubicar la derivada de una funcin en un punto. Orden ........: showtangent Sintaxis ......: showtangent ( funcin, variable = a) Propsito: Presenta la recta tangente a la curva funcin , en el punto correspondiente a la ordenada x = a
> with(student):with(plots):

f1 := 15*x^2+3*x; lista := seq(showtangent(f1, x = i),i=-8..8): display(lista,title=`Derivadas de la Cuadrtica`);


Warning, the name changecoords has been redefined

Ahora una animacin de la recta tangente alrededor de la curva.


> display(lista,insequence=true,title=`Derivadas en un punto`);

M. en C. Hctor Martnez Rubin Celis

32 / 66

Podramos hacer un programa para presentar las rectas tangentes del tamao que deseemos de tal forma que estas generen la curva. Las siguientes rdenes generan un nmero de rectas tangentes a una curva. 1- Un cantidad de rectas tangentes que forman la curva. 2- Una recta tangente que se desplaza por la curva. 3- Un segmento de recta tangente a la curva que se desplaza por la misma en una animacin. Las rdenes calculan: 1- Un conjunto de valores para x e y de acuerdo a la definicin de la funcin. 2- Un conjunto de rectas tangentes a la curva, teniendo en cuenta: y = mx+b b = y-mx
> restart:

with(plots): F := x^2; #sin(.6*x); #-.5*x^2+2*x+2; pF :=plot(F,x=-10..10): m := diff(F,x); cantidad :=40: X := [seq(-10+i/2,i=0..cantidad)]: Y := [seq(eval(F,x=X[i]),i=1..nops(X))]: Pendientes := [seq(eval(m,x=i),i=X)]: Cortes := [seq((Y[i]-Pendientes[i]*X[i]),i=1..nops(X))]: M. en C. Hctor Martnez Rubin Celis 33 / 66

Rectas := [seq((Pendientes[i]*x+Cortes[i]),i=1..nops(X))]: Tangentes :=seq((plot(Rectas[i], x=-10..10)), i=1..nops(X)): display(Tangentes, insequence=true); display(Tangentes); largo :=.8; Segmentos :=seq((plot([[(X[i]-largo), eval(Rectas[i], x=(X[i]-largo))], [(X[i]+largo), eval(Rectas[i], x=(X[i]+largo))]], x=-10..10,color=magenta)), i=1..nops(X)): display(Segmentos,insequence=true);
Warning, the name changecoords has been redefined

M. en C. Hctor Martnez Rubin Celis

34 / 66

3. Un problema de Clulo Interesante. Dado un punto P=(a,b) y un grfico de una funcin f, calcular a distancia de P al grfico de f. Al comenzar un nuevo problema acostmbrese a "liberar" la memoria. Hacemos esto con un comando siguiente. > restart: Por definicin, la distancia de P al grfico de f es la menor distancia entre los puntos Q del grfico y un punto P. Vamos entonces a definir: Distancia =|| P-Q || A este ejemplo tomamos f ( x) = Cos( x) y P= (2,3). Un punto del grfico de f es de forma (x, cos(x)), as mismo a distancia del punto P a un punto del grfico es dada por > dist:=sqrt( (2-x)^2 + (3-cos(x))^2 ); Queremos a menor distancia. De la frmula anterior vemos que distancia es una funcin de x. Por lo tanto, del Clculo, concluimos que la menor distancia debe ser dada por una x que anula a derivada de dist. Vamos ver un grfico de Funcin dist. > plot( sqrt( (2-x)^2 + (3-cos(x))^2),x=0..2);

M. en C. Hctor Martnez Rubin Celis

35 / 66

> derivada:=diff(dist,x);

Resolviendo la ecuacin derivada =0 para "x" en [0,2]. D un grfico. > x[min]:=fsolve(derivada, x ,0..2 );
> evalf(%);

Escribiendo la respuesta utilizando un comando subs. (Sustituir un valor de x por X min la expresin dist) . > menor[dist]:=subs(x=x[min], dist);

> respuesta:=evalf(%); > # Descubra lo que ha hecho (siguiente) > L:=[ [2,3], [x[min] , cos(x[min]) ]]; > plot({cos(x), L }, x=0..3 , scaling=constrained);

M. en C. Hctor Martnez Rubin Celis

36 / 66

4 - Series de Taylor La funcin "series" describe la serie de Taylor de funciones analticas. En general, la respuesta es dada en trminos de una expansin de orden 6. > S:=exp(x)*x^2;
> S1:=series( S, x=0 ); # En torno de x=0.

Queremos ahora una expansin de orden 10. > S2:=series( S , x=0, 10 );

Convertir la srie en un polinomio. > S3:=convert(S2, polynom );

> S3(2); # intil

> value(%); #intil

M. en C. Hctor Martnez Rubin Celis

37 / 66

Vamos a transformar la expresin S3 en una funcin de verdad. > P:=unapply( S3 , x );

> evalf( P(1) ); > evalf( subs(x=1, S) );

Otro ejemplo > f := x -> arctan(x); c := 0;

f := arctan

c := 0
> series( D(f)(x), x = c, 3); convert(int(%, x), polynom); g := unapply( %,x); 1 x 2 + O( x 4 )
x 1 3 x 3 1 3 x 3

g := x x

> series( D(f)(x), x = c, 15); convert(int(%, x), polynom); h := unapply( %,x); 1 x 2 + x 4 x 6 + x 8 x 10 + x 12 x 14 + O( x 16 )


x 1 3 1 5 1 7 1 9 1 11 1 13 1 15 x + x x + x x + x x 3 5 7 9 11 13 15 1 3 1 5 1 7 1 9 1 11 1 13 1 15 x + x x + x x + x x 3 5 7 9 11 13 15

h := x x

> plot( [f(x),g(x), h(x) ], x = -5..5, y = -4..4, color = [red, blue, green], thickness = [3,1,2] );

M. en C. Hctor Martnez Rubin Celis

38 / 66

Graficando series de diferente orden > plot({exp(x),convert(series(exp(x), x=0, 2 ),polynom),convert(series(exp(x), x=0, 3 ),polynom),convert(series(exp(x), x=0, 4 ),polynom),convert(series(exp(x), x=0, 5 ),polynom),convert(series(exp(x), x=0, 6 ),polynom),convert(series(exp(x), x=0, 7),polynom),convert(series(exp(x), x=0, 8 ),polynom)},x=5..5);

M. en C. Hctor Martnez Rubin Celis

39 / 66

5. Calculando Integrales Indefinidas:


La integral est definida como la antiderivada, como un lmite de una sumatoria como el rea bajo la curva de una funcin en un intervalo [a , b] . Inicialmente trabajaremos el concepto de Antiderivada, es decir, S F( x ) es una funcin cuya derivada es f ( x ) entonces:

Orden ........: int Sintaxis ......: int (expresin, variable) Propsito ...: Calcular la integran (antiderivada) de la expresin en trminos de la variable
> Int(ln(x),x); # Con I maiscula

> int(ln(x),x); # Con i minscula > int(tan(x),x); # Con i minscula > Int(1/ sqrt(1-x^2),x); # Con i minscula

> value(%); > diff(%,x);

> restart;

F:=x^2; f:=diff(F,x); int(f,x);

M. en C. Hctor Martnez Rubin Celis

40 / 66

> F:=sin(x^2)*cos(x);

f:=diff(F,x); int(f,x); expand(%);

> f:=(x^4+1)/(x^4-1);

F:=int(f,x);

> int(1/(x^5+1),x); # Un Poco complicado !!

M. en C. Hctor Martnez Rubin Celis

41 / 66

Definidas:
Cuando interpretamos la integral como el rea bajo la curva de una funcin en un intervalo [ a ,b] entonces necesitamos calcular la integran definida. Orden ........: int Sintaxis ......: int (expresin, variable=a..b) Propsito ...: Calcular la integran definida de la expresin en trminos de la variable , que varia desde a hasta b . > restart; f:=x; Int(f,x=0..2);
x dx 0
2

> int(f,x=0..2);

> f1:=sin(x);

> Int(f1,x=0..Pi);

sin( x ) dx 0

> int(f1,x=0..Pi);

> AA:=Int(x^2*exp(x^2),x=0..1);

M. en C. Hctor Martnez Rubin Celis

42 / 66

> resp:=value(AA);

Maple utiliz la Funcin error "erf" que es definida por el mismo: erf(x) = 2 / sqrt(Pi) * int( exp(-t^2), t=0..x ). As mismo podemos tener una aproximacin de integral utilizando evalf(AA ). > evalf(AA);

Observe que el resultado de una integral indefinida es un nmero, que representa el rea. Los ejemplos anteriores nos han permitido calcular el rea bajo la curva de las funciones x+2, y sin ( x ), en los intervalos especficos. Vamos a observar la grfica de la funcin f ( x ) = x+2, en el intervalo [0,2], intente evaluar el area por debajo de esta curva.
> plot(x,x=0..2,title=`Funcin x`);

Ahora, vamos a calcular el rea comprendida entre dos curvas que se intersectan. M. en C. Hctor Martnez Rubin Celis 43 / 66

> f1:=x+2;

f2:=x^2; cortes:=solve(f1=f2); area:=int(f1-f2,x=-1..2); X := [seq( i, i=-1..2)]; Y1 := [seq( x+2, x=X)]; Y2 := [seq( x^2, x=X)]; Puntos1 := [seq([X[i],Y1[i]],i=1..nops(X) )]; Puntos2 := [seq([X[i],Y2[i]],i=1..nops(X) )]; plot({f1,f2,Puntos1,Puntos2},x=-1..2,style=[line,line,point,point],title=`Area entre las curvas`);

M. en C. Hctor Martnez Rubin Celis

44 / 66

Los prximos ejemplos son conocidos. Vamos a ver algo sobre Integrales mltiples. Podemos calcular integrales doble o triples usando el comando int tantas veces como sea necesario.
> f1:=x^3+x^2+x;

df1:=diff(f1,x); df2:=diff(df1,x); int(int(df2,x),x);

> Int( Int(x^2+y^2, y=0..2 ),x=0..2 );

> value(%);

> Int( Int( Int( z*cos(x), x=0..2*y ), y=0..2 ), z=1..2 );

> value(%);

> evalf(%);

Veremos algunos ejemplos de Integrales impropias. > f8:= exp(-u*x)*ln(x)*sqrt(x);


> int(f8,x=0..infinity):

M. en C. Hctor Martnez Rubin Celis

45 / 66

Definite integration: Can't determine if the integral is convergent. Need to know the sign of --> u Will now try indefinite integration and then take limits.

Como nada es conocido sobre u, Maple no puede determinar una respuesta. Podemos usar el comando ASSUME para informar al Maple sobre u. > assume(u<0); int(f8,x=0..infinity); Esta integral diverge. Por otro lado, se u>0 tenemos convergencia y una respuesta simblica. > assume(u>0);int(f8,x=0..infinity);

> Int(1/x^2 , x=1..infinity);

> value(%);

Otro ejemplo. > int(1/x, x=0..1); Otro ejemplo simple (???). > int(1/(x^3), x=a..b);

> subs(a=-1, b=4, %);

Uno mas: > int(1/(x^3), x=-1..4, 'CauchyPrincipalValue' );

Un ejemplo sobre transformada de Laplace. Vamos usar el paquete inttrans. > restart; with(inttrans): > laplace(t**3-cos(t)=y(t), t, s);

> laplace(t^(1/2)-exp(-t)+sinh(a*t), t, s);

M. en C. Hctor Martnez Rubin Celis

46 / 66

Existe un comando para aproximar graficamente el rea bajo la curva de una funcin por rectngulos, el cual usa la librera student. Orden ........: middlebox, leftbox, rigthbox Sintxis ......: middlebox (expresion, variable=a..b, n, shading, <options>) Propsito ...: Genera, n cantidad de rectngulos por debajo de la curva de expresion, Tomados en la distancia media, por la izquierda y por la derecha. El color de los rectangulos lo da la opcin shading. Adems la orden leftsum, calcula la sumatoria de las areas de dichos rectngulos.
> restart:with(student):

f1 := sin(x)*x+sin(x); n:=8; leftsum(f1, x=0..2*Pi, n): # Sumatorias value(%): suma:=convert(evalf(%),name): leftbox(f1, x=0..2*Pi, n, shading=cyan,title=`Area..: `||suma);

Ahora intentaremos presentar una "pelcula", aproximando el rea bajo la curva de una funcin desde un intervalo a hasta b, y presentando el valor del rea en la medida en que esta cambia.

M. en C. Hctor Martnez Rubin Celis

47 / 66

> with(plots):

f1 := sin(x)+cos(x); suma:=seq((evalf(value(leftsum(f1, x=Pi/4..2*Pi, i)))),i=4..25): area:=seq((convert(suma[i],name)),i=1..22): lista:=seq((leftbox(f1, x=0..2*Pi, i, shading=cyan,title=`Area..: `)),i=8..25): display(lista,insequence=true,title=`Aproximaciones del Area`);
Warning, the name changecoords has been redefined

La funcin leftbox en el paquete student produce una aproximacin a el rea bajo la curva de una funcin f(x) en el intervalo a<x<b usando rectngulos. El rango de valores de x esta dividido en un nmero n de subintervalos. La altura de los rectngulos esta dada por el valor de f en el lmite izquierdo de cada subintervalo. El llamado de la funcin es leftbox es: leftbox(f(x),x=a..b,n); Si no se da el valor de n, se usa el valor por omisin de n = 4. Por ejemplo: > leftbox(x^2,x=0..2);

M. en C. Hctor Martnez Rubin Celis

48 / 66

> leftbox(x^3+3*x^2-2*x+5,x=0..2,10);

El rea de los rectngulos puede ser calculada usando la funcin leftsum. Por ejemplo: > leftsum(x^3+3*x^2-2*x+5,x=0..2,10);
1 1 3 3 2 2 125 i + 25 i 5 i + 5 5 i= 0
9

> evalf(%);

16.48000000
> # El valor exacto de la integral es: > int(x^3+3*x^2-2*x+5,x=0..2);

18
El paquete student tambin incluye las funciones middlebox, rightbox, middlesum, y rightsum para calcular aproximaciones a la integral usando rectngulos con la altura del rectngulo dada por f(x) evaluada en el punto medio o el lado derecho de los intervalos. Por ejemplo:

M. en C. Hctor Martnez Rubin Celis

49 / 66

> rightbox(exp(0.1*x),x=0..10,10);

> simpson(exp(0.1*x),x=0..10,10);evalf(%);
( 0.2 i 0.1 ) ( 0.2 i ) 4 2 + e 1.239427276 + e 3 3 i= 1 i= 1 5 4

17.18282782
> int(exp(0.1*x),x=0..10);

17.18281828
> middlebox(1/x,x=1..2,8);

M. en C. Hctor Martnez Rubin Celis

50 / 66

3.Tercera parte - Graficando


GRFICANDO Vamos iniciar con grficos simples. A veces no es necesario escribir el argumento x > plot(sin,-Pi..Pi);

Graficar

con x en [0,2Pi]

Es necesario escribir un argumento x > plot(sin(2*x), x=0..2*Pi);

Vamos a graficar con discontinuidades:

M. en C. Hctor Martnez Rubin Celis

51 / 66

> plot(1/(x-1), x=-3..3, -5..5, discont=true);

Aadiendo un titulo al segundo grafico. Usamos la opcin "title" > plot(ln(x), x=0..3 , title=`Logaritmo Natural`);

Usando la opcin "scaling=constrainded": escala 1-1. > plot(exp(-x^2), x=-2..2 , scaling=constrained);

M. en C. Hctor Martnez Rubin Celis

52 / 66

Podemos graficar dos o mas grficos juntos. Este es un recurso muy til. Juntando dos Grficos: use llaves- plot({f(x),g(x)}, x=a..b) > plot({arctan, sqrt}, 0..5);

Graficando una curva parametrizada: use corchetes con t en [0,2Pi] > plot( [cos(t), sin(2*t), t=0..2*Pi] );

M. en C. Hctor Martnez Rubin Celis

53 / 66

Un recurso del Maple es la animacin de grficos. Vamos a animar un grfico? Parece un video-cassete. Despus de hecho un grfico, de click encima de la figura para iniciar a animacin. > with(plots): animate( x^2*sin(x*t),x=-10..10,t=1..2,frames=50);

Los procedimientos en "plot" requieren bastantes recursos de la computadora. Es costumbre "cerrar la memoria" a 10 grficas. > restart;

M. en C. Hctor Martnez Rubin Celis

54 / 66

Dos Problemas interesantes. PROBLEMA 1 Un cardiide es una curva parametrizada en coordenadas polares ( , ) . . Consulte el help del grfico para realizar la grafica del cardiide .

> plot([5*(1-cos(t)) ,t , t=0..2*Pi], coords=polar);

PROBLEMA 2 Un cierto algoritmo genera una lista de puntos x, y una lista de puntos y de la forma siguiente:
> X:=[seq( .1*k , k=0..10 ) ]: > Y:=[seq( 5*( (.1*k)^2-(.1*k)^3 ) , k=0..10 ) ]: > L:=[ seq( [ X[k], Y[k] ], k=1..11) ];

> plot(L, scaling=constrained, title=`Graficando dados`);

M. en C. Hctor Martnez Rubin Celis

55 / 66

Veremos ahora a grficos mas complicados. Grficos tridimensionales > restart; Para graficar en tres dimensiones precisamos llamar un paquete para grficos, Hacemos esto tecleando "with(plots)".Un comando es plot3d. Clique sobre un grfico y grelo. Explore los recursos del Maple. > with(plots): > plot3d(sin(x^2+y^2)*cos(x^2+y^2),x=-1..1,y=-1..1);

M. en C. Hctor Martnez Rubin Celis

56 / 66

> plot3d(-3.6+0.3599*x-0.0027*x^2-0.00166*y,x=15..107,y=0..70,title=`akira`);

> plot3d(exp(-x^2-y^2),x=-2..2,y=-2..2);

> animate3d({cos(t*x)*sin(t*y),-cos(t*x)*sin(t*y)},x=-Pi..Pi, y=-Pi..Pi,t=1..2);

M. en C. Hctor Martnez Rubin Celis

57 / 66

> animate3d(x*cos(t*u),x=1..3,t=1..4,u=2..4,coords=spherical);

Ms ejemplos > restart; > with(plots): > f:=(x,y) -> -(x^2+y^2);

M. en C. Hctor Martnez Rubin Celis

58 / 66

> plot3d(f(x,y), x=-2..2, y=-2..2, scaling=constrained);

Graficando algo ms bonito > plot3d(sin(x)*cos(y), x=-Pi..Pi, y=-Pi..Pi );

Observe las funciones especiales que este paquete tiene. Para se saber sobre alguna de ellas ejecute ?nombre, o ??nombre o ???nombre. Veremos ejemplos de "gradplot",

M. en C. Hctor Martnez Rubin Celis

59 / 66

> f :=(x,y) -> x*exp(-x^2-y^2);

> plot3d( f(x,y), x=-2..2, y=-2..2);

Vamos ver un GRADIENTE DE CAMPO de f con "gradplot" y "countourplot" > contourplot(f(x,y),x=-2..2,y=-2..2);

M. en C. Hctor Martnez Rubin Celis

60 / 66

> plot3d(sin(x^2+y^2), x=-2..2, y=-2..2);

> contourplot(sin(x^2+y^2),x=-1..1,y=-1..1);

M. en C. Hctor Martnez Rubin Celis

61 / 66

> gradplot(f(x,y), x=-2..2, y=-2..2);

> gradplot3d(x^2+2*y^2+z+1,x=-1..1,y=-1..1,z=-1..1);

M. en C. Hctor Martnez Rubin Celis

62 / 66

Vamos disear la esfera, dada implcitamente. > implicitplot3d(x^2+y^2+z^2=4, x=-2..2, y=-2..2, z=-2..2 , scaling=constrained );

Coordenadas cilndricas > cylinderplot(z+ 3*cos(2*theta),theta=0..Pi,z=0..3);

> f := (5*cos(y)^2 -1)/3;

M. en C. Hctor Martnez Rubin Celis

63 / 66

> cylinderplot(f, x=0..2*Pi,y=-Pi..Pi,style=PATCH, color = f);

Un ejemplo tubular con "tubeplot" > c:=[(t- 5*Pi)*sin(t)/3,(t-5*Pi)*cos(t)/3,(t-5*Pi)*.9, t=0..5*Pi]: > tubeplot( c, radius=(t-5*Pi)*.2, orientation=[-37,81],tubepoints=25, style=hidden);

Ejercicios > # Lea "?plots[spacecurve]" y disee una espiral. > # DIGA: use la opcin "color=black" > # plot([5*(1-cos(t)) ,t , t=0..2*Pi], coords=polar); > # X:=[seq( .1*k , k=0..10 ) ]: > # Y:=[seq( 5*( (.1*k)^2-(.1*k)^3 ) , k=0..10 ) ]: > # L:=[ seq( [ X[k], Y[k] ], k=1..11) ]; > # plot(L, scaling=constrained,title=`Graficando datos`);

M. en C. Hctor Martnez Rubin Celis

64 / 66

6. Ecuaciones Diferenciales Una ecuacin diferencial es de la forma...: Orden ........: dsolve Sintaxis ......: dsolve(expresin, variables) Propsito ...: Resuelve una ecuacin diferencial, expresin , en termino de las variables, variables Aqu debemos tener en cuenta el orden de la derivada a la cual nos estamos refiriendo, por ejemplo: 1- diff ( f , x ) Se refiere a la primera derivada de f respecto a x. 2- diff ( f , x$n ) Se refiere a la n-esina derivada de f respecto a x. Adems al resolver una ecuacin diferencial aparecern distintas constantes que representan las familias de soluciones. La ecuacin:
dy =a dx

Es una ecuacin diferencial que podemos escribir dy = adx y solucionarla para y integrando, es decir:

esto es.. y = ax + c .: Obsrvelo ahora, escrito a manera de la solucin de una Ecuacin Diferencial, para un valor inicial de y(0) = v .
> ecuacion:=D(y)(t)=a;

dsolve(ecuacion,y(t)); dsolve({ecuacion,y(0)=v},y(t));

> ec:=diff(y(t),t$2)=-g;

cond:=y(0)=3,D(y)(0)=5; dsolve(ec,y(t)); dsolve({ec,cond},y(t));

M. en C. Hctor Martnez Rubin Celis

65 / 66

M. en C. Hctor Martnez Rubin Celis

66 / 66

Das könnte Ihnen auch gefallen