Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Maple UPC, Apuntes de Matemáticas

Asignatura: Matematicas Laboratorio, Profesor: , Carrera: Ingeniero en Electrónica, Universidad: UMA

Tipo: Apuntes

2013/2014

Subido el 09/12/2014

jokermoreno
jokermoreno 🇪🇸

1 documento

1 / 27

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Introducción a Maple
Proyecto e-Math 1
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
INTRODUCCIÓN A MAPLE
Autores: María Teresa Pérez Rodríguez ([email protected]), Oscar Arratia García
MAPA CONCEPTUAL____ ________
INTRODUCCIÓN ___________________
En los últimos años los ordenadores han incrementado de forma drástica su capacidad para resolver
grandes problemas procedentes de los más diversos campos de la Ciencia debido, de un lado al
portentoso avance que ha sufrido el hardware (ordenadores más potentes y rápidos) y de otro al
reciente desarrollo de software con un elevado nivel de sofisticación. Como parte de este software
están los sistemas de Cálculo Científico que permiten llevar a cabo no sólo cálculos numéricos
complicados sino manipulaciones analíticas y tratamientos gráficos de los problemas.
Son múltiples los sistemas de este tipo, mencionaremos algunos como DERIVE, REDUCE,
MACSIMA, Mathematica, Maple. MuPAD o AXIOM, que están entre los de propósito general.
Citamos también otros, más dirigidos al cálculo numérico, como Mathcad o Matlab que han
incorporado el núcleo algebraico de Maple para manipulaciones analíticas.
Debido a la gran utilidad y aplicabilidad de estos programas es una ventaja el contar con
conocimientos sobre el manejo de alguno o varios de ellos. Por esto, en este bloque pretendemos
dar las nociones básicas que permitan comenzar a manejar el manipulador simbólico Maple y que
MAPLE
¿qué es Maple?
La hoja de
trabajo La ayuda
en línea
Matemáticas
con Maple PROGRAMACIÓN
GRÁFICOS
Los paquetes de
Maple
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Vista previa parcial del texto

¡Descarga Maple UPC y más Apuntes en PDF de Matemáticas solo en Docsity!

Proyecto e-Math 1

INTRODUCCIÓN A MAPLE

Autores: María Teresa Pérez Rodríguez ([email protected]), Oscar Arratia García

([email protected]).

MAPA CONCEPTUAL____ ________

INTRODUCCIÓN ___________________

En los últimos años los ordenadores han incrementado de forma drástica su capacidad para resolver grandes problemas procedentes de los más diversos campos de la Ciencia debido, de un lado al portentoso avance que ha sufrido el hardware (ordenadores más potentes y rápidos) y de otro al reciente desarrollo de software con un elevado nivel de sofisticación. Como parte de este software están los sistemas de Cálculo Científico que permiten llevar a cabo no sólo cálculos numéricos complicados sino manipulaciones analíticas y tratamientos gráficos de los problemas.

Son múltiples los sistemas de este tipo, mencionaremos algunos como DERIVE, REDUCE, MACSIMA, Mathematica, Maple. MuPAD o AXIOM, que están entre los de propósito general. Citamos también otros, más dirigidos al cálculo numérico, como Mathcad o Matlab que han incorporado el núcleo algebraico de Maple para manipulaciones analíticas.

Debido a la gran utilidad y aplicabilidad de estos programas es una ventaja el contar con conocimientos sobre el manejo de alguno o varios de ellos. Por esto, en este bloque pretendemos dar las nociones básicas que permitan comenzar a manejar el manipulador simbólico Maple y que

MAPLE

¿qué es Maple?

La hoja de

trabajo

La ayuda

en línea

Matemáticas

con Maple GRÁFICOS PROGRAMACIÓN

Los paquetes de

Maple

Proyecto e-Math 2

dejen al lector en situación de explorar por si mismo otras opciones diferentes de las que aquí se presentan.

Sería imposible una descripción detallada del sistema, por lo que nos restringimos a mostrar la amplia gama de posibilidades que ofrece realizando una pequeña introducción para aquellas que juzgamos más relevantes. La aplicación del manipulador a los distintos campos de las Matemáticas se deja para los bloques específicos en los que se presentan problemas resueltos con Maple y se describen en detalle los comandos relacionados.

El sistema Maple es esencialmente un sistema interactivo. Por ello es muy interesante que el lector tenga acceso al propio programa de modo que pueda experimentar inmediatamente todo lo que se

comente en las secciones siguientes. Desde la dirección http://www.maplesoft.com/trial.shtml se

puede descargar una copia gratuita con la que explorar las posibilidades del manipulador. En lo que sigue, la versión 8 de Maple será la base sobre la que se explique el comportamiento del sistema.

OBJETIVOS ________________________

  • Entender lo que es el sistema Maple
  • Adquirir las nociones básicas del trabajo con Maple.
  • Manejar la ayuda y la interfaz del programa.
  • Formarse una idea global de las múltiples capacidades de este manipulador.

CONOCIMIENTOS PREVIOS ___________________________________

Es recomendable estar familiarizado con entornos gráficos de ordenadores. También es necesario el conocimiento de las Matemáticas a nivel elemental y en particular es aconsejable conocer cómo se representan los números reales en coma flotante.

CONCEPTOS FUNDAMENTALES ______________________________

 ¿Qué es Maple?

Maple es un sistema de cálculo simbólico o algebraico. Ambas expresiones hacen referencia a la habilidad que posee Maple para trabajar con la información de la misma manera que lo haríamos nosotros cuando llevamos a cabo cálculos matemáticos analíticos. Mientras que los programas matemáticos tradicionales requieren valores numéricos para todas las variables, Maple mantiene y manipula los símbolos y las expresiones. Estas capacidades simbólicas permiten obtener soluciones analíticas exactas de los problemas matemáticos: por ejemplo se pueden calcular límites, derivadas e integrales de funciones, resolver sistemas de ecuaciones de forma exacta, encontrar soluciones de ecuaciones diferenciales, etc. Como complemento a las operaciones simbólicas existe un amplio conjunto de rutinas gráficas que permiten visualizar información matemática compleja, algoritmos numéricos que dan soluciones en precisión arbitraria de problemas cuya solución exacta no es calculable y un lenguaje de programación 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 núcleo , formado por rutinas escritas y compiladas en lenguaje C, donde se realizan la mayor parte de los cálculos básicos hechos por el sistema. La segunda parte es un conjunto de librerías , donde se encuentra la mayoría de los comandos de Maple, y que están escritas en su propio lenguaje de programación (interpretado no compilado), lenguaje que permite al usuario crear sus propios comandos y añadirlos a la librería estándar (es por tanto un sistema extensible). Y finalmente la interfaz del programa a través de la cual es posible comunicarse con el sistema.

Proyecto e-Math 4

Debajo de estas tres barras hay un área en blanco en la que se desplegará la hoja de trabajo: es la región donde el usuario va a introducir comandos de Maple, texto, etc. Por último, en la parte inferior de la pantalla se encuentra la barra de estado.

La hoja de trabajo, componente especial de la interfaz de Maple, es un entorno integrado en el que, interactivamente, se resuelven problemas y se documenta el trabajo. Contiene no solamente texto sino también comandos matemáticos vivos que generan resultados automáticamente. La resolución de problemas interactivamente se reduce a ejecutar los comandos adecuados de Maple y recibir sus respuestas. En la hoja de trabajo, el cambio de la secuencia de comandos y su re-ejecución es muy sencilla. También permite controlar la forma en que se dan los comandos y sus salidas. Finalmente el contenido de la hoja de trabajo se puede guardar en un archivo con extensión mws o exportar en distintos formatos. Las opciones para llevar a cabo estas acciones se encuentran en el menú File.

Como se observa en la imagen, en la parte superior de la hoja de trabajo en blanco aparece un símbolo con el siguiente aspecto [>. Este símbolo es el prompt de comandos e indica que lo que espera el editor es una instrucción del sistema Maple: cualquier cosa que se escriba a continuación aparecerá en rojo, color reservado a los comandos, mientras que el texto utiliza el color negro. Las instrucciones de Maple han de finalizar con ; (característica esta común con el lenguaje de programación C) o con :. La diferencia entre ambas opciones es que la primera genera una salida en la pantalla (en azul) mientras que la segunda evita que ésta aparezca aunque, por supuesto, en ambos casos el comando se ejecuta cuando se pulsa la tecla de retorno de carro.

Este es el icono que se asigna a un fichero generado con Maple a

partir de una hoja de trabajo.

Proyecto e-Math 5

La hoja de trabajo de la imagen superior muestra una sección titulada Algunas operaciones elementales (creada con la opción Section del menú Insert ). La sección se puede plegar pinchando en el cuadrado a la izquierda del título, desplegándose después de la misma forma. Los tres primeros comandos pretenden conseguir la suma de dos números enteros: 2+2. Observemos las salidas que generan: en el primer caso como el comando termina en ; aparece la suma 4 en azul, el segundo no tiene salida pues finaliza con : , en el tercer comando la salida es un aviso indicando que falta el símbolo de final de instrucción. En la cuarta línea simplemente se escribe un polinomio. Nótese hasta aquí que suma, resta, producto y exponenciación se designan por + , - , ***** y ^ ; para completar los operadores aritméticos diremos que la división se designa por / y que, alternativamente, la exponenciación también admite la representación ******. En la quinta línea tenemos la función coseno

evaluada en  cuyo resultado, –1, aparece al ejecutar el comando. Finalmente el comando factor

factoriza la expresión que aparece entre paréntesis.

Existe la posibilidad, como ya hemos indicado antes, de escribir texto en la hoja de trabajo. El texto aparece en negro y para cambiar de modo comando a modo texto y viceversa se pueden utilizar los

botones de la barra de herramientas. El segundo botón, con una T, cambia de modo comando a modo texto mientras que el tercero botón, con [>, hace aparecer un prompt en el momento que se pincha. Por último, el primer botón, con una , permite introducir fórmulas matemáticas dentro de texto con un formato similar al que tienen en las salidas de los comandos. En el menú Insert se encuentran estas mismas acciones junto con otras posibilidades de edición que permiten estructurar la hoja de trabajo mediante secciones y subsecciones o crear hipervínculos a otra hoja de trabajo o a una página de ayuda.

Si el usuario está familiarizado con programas cuya interfaz esté desarrollada en un entorno gráfico no tendrá ningún problema en lograr un ágil manejo de la hoja de trabajo de Maple, puesto que la mayoría de las acciones de edición son estándar y aquellas especificas del manipulador son bastante intuitivas.

Proyecto e-Math 7

La opción New User’s Tour accede a un conjunto de páginas de ayuda a través de las cuales se presentan los comandos fundamentales que todo usuario debe conocer así como una breve introducción a la hoja de trabajo y a la ayuda en línea.

Using Help remite a una página en la que aparece información sobre el uso de la ayuda.

Topic Search permite encontrar los tópicos que comiencen de la manera especificada (véase la figura siguiente). De esta forma se puede investigar si existe un comando que lleve a cabo ciertas acciones y cuyo nombre esperamos que esté relacionado con su acción.

Full Topic Search permite encontrar las páginas de ayuda en las que aparecen la palabra o palabras especificadas.

Proyecto e-Math 8

Finalmente comentaremos que la opción History permite revisitar cualquiera de las páginas de ayuda que se hayan invocado durante la sesión de Maple.

 Matemáticas con Maple

Los cálculos más básicos que se pueden realizar con Maple son numéricos. Maple opera como una calculadora convencional con enteros y números en coma flotante. Además es capaz de realizar cálculos exactos con números racionales: el resultado de la operación 2+1/2 es 5/2 que para Maple es un objeto totalmente diferente del número en coma flotante 2.5.

Sin embargo, Maple no sólo trabaja con números racionales sino también con expresiones, variables, conjuntos, listas, sucesiones, polinomios, matrices y muchos otros objetos matemáticos. Además es un lenguaje de programación completo que contiene procedimientos, tablas y otras estructuras.

Los cálculos se llevan a cabo utilizando los llamados operadores aritméticos ya mencionados con

anterioridad, que son + , - , * , / , ^ ( **). Su orden de prioridad es justamente inverso al que hemos

usado para enumerarlos. De esta forma una exponenciación será siempre la primera operación que se realice seguida de los productos y las divisiones (ambas con la misma prioridad) y finalmente las sumas y restas indistintamente. La prioridad se cambia por medio de paréntesis de igual forma que en los cálculos a mano.

En la siguiente imagen vemos algunos ejemplos. En la cuarta línea de comandos ilustramos las dos posibles representaciones del operador exponencial. En las líneas quinta y sexta se constata cómo los paréntesis alteran la prioridad de los operadores aritméticos, lo que conduce a resultados diferentes. Nótese que el resultado que obtiene Maple es, en ambos casos, el que obtendríamos nosotros si realizásemos estos mismos cálculos con lápiz y papel.

Los números 1, 2, 1/ 2 son, para Maple, números en aritmética exacta mientras que si los escribimos como 1., 2., 1./ 2. pasan a ser números en coma flotante. Obsérvese la diferencia que existe entre la salida que proporciona el comando 28/3 y la que proporciona el comando 28./3. en la penúltima instrucción: en el primer caso Maple trabaja en aritmética exacta y como 28 no es divisible entre 3 se queda con el número racional 28/3, mientras que en el segundo trabaja con aritmética de punto flotante (con 10 dígitos significativos y redondeo) dando una aproximación al resultado de la división, como haría una calculadora.

Proyecto e-Math 10

MANIPULACIÓN DE EXPRESIONES. VARIABLES Y SU ASIGNACIÓN.

En la imagen siguiente se pueden ver algunos cálculos simbólicos con expresiones y varios comandos que permiten su manipulación.

La instrucción expand desarrolla la expresión que va entre paréntesis, factor la factoriza, y

simplify la simplifica. El comando normal pone el mismo denominador a las fracciones que

aparezcan en la expresión entre paréntesis y elimina factores comunes del numerador y denominador. Como se observa en el ejemplo sirve también para simplificar la expresión racional

obteniendo el mismo resultado que simplify.

Maple puede trabajar con variables. Los nombres de variables se forman con letras, números y el signo underscore y han de ser distintos de las palabras reservadas del sistema. A las variables se les puede asignar valores. Las asignaciones en Maple se hacen con el símbolo := ( mientras que = es el operador relacional de igualdad).

En la imagen siguiente:

  1. Asignamos el valor  a la variable que hemos llamado expr1; comprobamos que esta asignación se ha realizado invocando el nombre de la variable: la salida es la deseada (instrucciones 1 y 2).
  2. Sin embargo en la tercera línea hemos usado el operador = para llevar a cabo la asignación

de la expresión ( 1 )( 1 )

2

+ y − y a la variable expr2. La asignación, lógicamente, ha fallado lo

que constatamos invocando la variable en la siguiente línea. A continuación realizamos, ahora sí, la asignación.

  1. Finalmente intentamos utilizar como nombre de variable la palabra log que es una palabra clave del sistema: se usa para nombrar la función logarítmica. Como vemos Maple devuelve una línea de error en la que se nos advierte de tal eventualidad evitando redefinir el

significado de la expresión log. Este comportamiento es de agradecer puesto que es

prácticamente imposible conocer todas las palabras reservadas.

Proyecto e-Math 11

Nótese que para formar expresiones se utilizan variables: en las expresiones de los ejemplos y es una variable no asignada, ya que si previamente a su aparición en la expresión se le hubiese asignado un valor Maple sustituiría y por ese valor en todos los lugares en los que apareciera. De esta forma si ese valor fuese numérico, al ejecutar la expresión, obtendríamos el resultado de las operaciones que aparecen en ella. Este es el caso en la hoja de trabajo siguiente.

Para desasignar variables se utiliza el comando unassign(‘var’) donde var es la variable que se

quiere vaciar. Durante una sesión de trabajo Maple guarda en memoria todas las asignaciones realizadas hasta que ésta se cierra. Por ello en algunos momentos puede resultar conveniente vaciar

la memoria: el comando restart realiza esta acción. Es aconsejable iniciar la hoja de trabajo con este

comando.

OTROS OBJETOS MANIPULABLES Maple, además de números, variables y expresiones, puede manipular estructuras más complejas. Entre ellas tenemos las sucesiones de expresiones que se crean usando la coma: por ejemplo el comando

[> 1, 2+x, 3*x^2, 5;

crea una sucesión con cuatro elementos que son las expresiones 1 , 2 + x , 3 x^2 , 5. También se

pueden crear sucesiones utilizando el operador de repetición $ ( x$3 genera la sucesión x,x,x ) o

llamando al comando seq : por ejemplo seq(f(i), i=1..3) generará la sucesión f(1) , f(2) , f(3), donde

f(i) es una expresión donde aparece la variable i (que no ha sido asignada previamente).

Proyecto e-Math 13

Como se observa en las salidas que aparecen en la imagen, Maple da cada solución de la ecuación o del sistema de ecuaciones como un conjunto, es decir, entre llaves. Además, si no se especifican las incógnitas respecto a las que se quiere resolver Maple resuelve para todas; éste es el caso en la última instrucción.

El comando subs sustituye una variable var en una expresión expr por un valor determinado val.

Como primer argumento se pasa la igualdad var=val ; el segundo argumento será la expresión en la

que se desea hacer la sustitución. La instrucción queda subs( var=val , expr ). Véase su uso en la

pantalla siguiente en la que se resuelve un sistema de ecuaciones y se verifica la solución obtenida.

Proyecto e-Math 14

En la imagen:

  • A las variables ecua y var se les asignan sendos conjuntos: el de ecuaciones a resolver y el de incógnitas.
  • En la variable sol guardamos las soluciones del sistema.
  • Para comprobar de forma efectiva que las soluciones calculadas por Maple realmente lo son, sustituimos los valores obtenidos para x e y en las ecuaciones.
  • Como después de realizar la sustitución los cálculos quedan indicados utilizamos el comando

simplify para que se lleven a cabo las operaciones.

El comando fsolve es el equivalente en aritmética de punto flotante a solve. Así, este comando

obtiene una aproximación numérica a la solución de una ecuación o un sistema de ecuaciones (mediante un método numérico). En general calcula sólo una solución; sin embargo para ecuaciones polinómicas busca todas las raíces reales.

 Gráficos con Maple

Maple incluye potentes capacidades gráficas que permiten realizar representaciones bidimensionales, tridimensionales e incluso animaciones. El programa es muy flexible en lo que a la entrada de datos se refiere de tal forma que es posible representar funciones dadas en forma explícita, curvas y superficies especificadas a través de expresiones paramétricas e incluso se pueden manejar lugares geométricos definidos en forma implícita. Por otra parte, el sistema otorga al usuario control total sobre el resultado de modo que, por ejemplo, es posible cambiar desde los colores de los distintos objetos hasta las fuentes utilizadas en los títulos o las etiquetas de los ejes.

GRAFICOS 2D

El comando básico para la representación de funciones en el plano es plot. En la siguiente figura se

ilustra el empleo de dicho comando a través de tres ejemplos. El primero de ellos muestra la sintaxis básica de la instrucción: su primer argumento es la función que deseamos representar, en este caso

se trata de

x

sen x

f x

( )=. El segundo argumento especifica la variable independiente y su rango

de variación.

La segunda llamada a plot ilustra cómo representar curvas dadas en forma paramétrica. El primer

argumento es ahora una lista con tres elementos: los dos primeros constituyen la expresión paramétrica de la curva espiral

t

sent

yt

t

t

xt

cos()

y el tercero especifica el parámetro y su rango de variación. El resto de los argumentos que aparecen en la expresión son optativos y simplemente especifican opciones que modifican el aspecto de la

gráfica. Así, la opción scaling con el valor CONSTRAINED especifica que deben usarse las

mismas unidades en los dos ejes. La opción color indica el color que debe usarse para la gráfica de

la función. Obsérvese que la instrucción completa para la realización de esta gráfica ocupa dos líneas. En general, si se desea escribir varias líneas de entrada antes de que el kernel de Maple las

Proyecto e-Math 16

valor una lista que contiene los colores que se utilizarán en la representación de cada una de las

funciones especificadas en el primer argumento (f(t)azul y g(t)rojo). Por último, la opción title

añade un título explicativo a la gráfica.

Existen multitud de opciones para el comando plot aparte de las que han aparecido en los ejemplos

anteriores, con ellas es posible controlar aspectos tan variados del dibujo como el tipo de ejes que deben aparecer, la separación de las marcas sobre los mismos o el tipo de trazo que se usará en la representación de la gráfica.

El paquete plots (Ver la sección Los paquetes de Maple , situada más adelante, para una

descripción más detallada del concepto de paquete ) incluye varios comandos avanzados para la

realización de gráficos más específicos. De entre ellos destacamos dos: animate e implicitplot.

Del primero nos ocuparemos al final de esta sección, en cuanto al segundo hay que decir que permite representar funciones dadas en forma implícita o, dicho de forma más rigurosa, es posible representar lugares geométricos definidos a través de una ecuación. En la siguiente figura se utiliza

este comando para representar la circunferencia dada por x^2 + y^2 = 1. Si bien el rango de variación

especificado para x e y es el intervalo [-π,π], Maple sólo representa la región de plano [-1,1]x[-1,1]

en la que está incluida toda la circunferencia. El comando with(plots) , situado en la primera línea,

sirve para cargar todas las funciones del paquete permitiendo de esta forma la utilización de

implicitplot.

GRAFICOS 3D

La versión tridimensional del comando plot es la instrucción plot3d con una sintaxis muy similar a la

de aquél. En la siguiente figura se ilustra el empleo de plot3d en la representación de funciones

dadas en forma explícita y superficies expresadas en forma paramétrica.

En el primer caso se ha representado la función f ( x , y )= sen x^2 + y^2. Como puede observarse

la función constituye el primer argumento en la llamada a plot3d. En el segundo y tercer argumento

se especifican las variables independientes y sus rangos de variación. Por último hemos empleado la

ya conocida opción scaling para mantener las mismas unidades a lo largo de los tres ejes.

Proyecto e-Math 17

En el segundo ejemplo el comando plot3d se utiliza para representar la superficie dada por

zt z

yt e sent

xt e t

z

z

() cos()

Nótese que el primer argumento lo constituye una lista que incluye la expresión paramétrica de cada una de las tres coordenadas. Los dos argumentos siguientes indican los parámetros y sus rangos de variación.

Proyecto e-Math 19

Señalemos que para poder visualizar la animación es necesario seleccionar el dibujo creado por

animate pinchando sobre el mismo. Es en ese momento cuando aparece en la barra contexto los

botones con los que se controla la animación.

Finalizamos la sección indicando que es posible realizar animaciones de objetos 3D usando el

comando animate3d , también incluido en el paquete plots.

 Programación en Maple

Maple no es un programa diseñado sólo para el uso interactivo. Los comandos e instrucciones que se utilizan de manera individual desde la línea de comandos pueden agruparse formando programas que facilitan la realización de tareas repetitivas y nos proveen a su vez de nuevos comandos. A continuación se comentan, a modo de introducción al tema de la programación en Maple, las principales construcciones usadas en el desarrollo de programas. El lector interesado en una información más amplia puede consultar [3] como punto de partida.

CONSTRUCCIONES BÁSICAS

1.-Bucle for

Los bucles for se emplean para realizar tareas repetitivas un cierto número de veces. En la figura

siguiente se pueden observar tres ejemplos concretos.

El primer caso presenta un bucle for que realiza tres iteraciones sobre la variable i. Dicha

variable comienza tomando el valor 1 ( from 1 ) y en cada ciclo incrementa su valor en una unidad

hasta alcanzar el valor 3 ( to 3 ). Obsérvese la palabra reservada do que aparece al final de la

primera línea y que es la que marca el inicio de las instrucciones sobre las que debe actuar el bucle.

El cuerpo del bucle lo constituye una llamada a la función printf la cual será ejecutada en cada

una de las tres iteraciones.

La función printf escribe expresiones en la salida de acuerdo con una cadena de formato. Su

sintaxis de llamada es la siguiente

printf(formato, x1, ..., xn)

Proyecto e-Math 20

donde formato es una expresión encerrada entre comillas que contiene los caracteres que van a

ser impresos junto con especificaciones de formato (que comienzan con el símbolo % ) y otras

secuencias de control de la salida. Las especificaciones de formato indican la forma en la que

deben ser impresas las variables x1, ..., xn. En los ejemplos aparece la especificación de

formato %d que indica que la variable i debe ser escrita como un número entero. La secuencia

de control \n introduce un retorno de carro al final de cada impresión. Para más información

acerca de printf puede consultarse la ayuda de Maple o cualquier manual que contenga

información sobre el comando homónimo del lenguaje C.

Finalmente, la expresión end do señala el alcance del bucle for , es decir marca cuáles son las

instrucciones a las que debe afectar la secuencia de iteraciones. El resultado final del bucle es la impresión de los tres valores que toma la variable i.

El segundo ejemplo es similar pero ahora el valor de la variable de iteración i se incrementa dos

unidades ( by 2 ) en cada ciclo, lo que hace que sólo se impriman los números impares de 1 a 5.

En el tercer caso el bucle for se utiliza para guardar los cien primeros números naturales dentro

de la variable a. Nótese que al finalizar con dos puntos después de end do se suprimen las cien

líneas de salida correspondientes a otras tantas asignaciones. La última instrucción comprueba

que el elemento indexado con el número 39 dentro de la variable a contiene efectivamente el

valor 39.

A continuación se presenta una aplicación del bucle for en la resolución de un problema

matemático. Supongamos que estamos interesados en calcular las soluciones de la ecuación cos(x)=x. Evidentemente las soluciones de esta ecuación coinciden con los ceros de la función f(x)= x-cos(x). Para obtener estos últimos emplearemos un algoritmo conocido como método de Newton-Raphson que genera, a partir de una aproximación inicial x 0 , una sucesión definida en forma recursiva como sigue

1 n

n n n

f x

f x

x + = x −

Bajo ciertas condiciones la sucesión obtenida converge hacia un cero de la función f.

La siguiente figura muestra una pantalla de Maple con la resolución del problema. En primer lugar

se ha efectuado la representación gráfica de la función f(x)= x-cos(x) usando el comando plot. A

la vista de la gráfica se hace evidente la existencia de una solución cercana a x 0 =1. Es fácil comprobar que, de hecho, la ecuación en la que estamos interesados sólo admite una solución: para ello basta notar que f(x) es monótona creciente y por lo tanto sólo puede cortar al eje de

abscisas una vez. Tras la gráfica hemos utilizado un bucle for para implementar cinco iteraciones

del método Newton-Raphson. Obsérvese que las dos últimas iteraciones arrojan el mismo resultado, lo que indica que el método ha sido convergente y proporciona la solución

x=0.7390851332. Por último hemos empleado el comando fsolve para resolver directamente el

problema y comprobar que obtenemos exactamente la misma solución.