Você está na página 1de 6

Programación con DERIVE de métodos

numéricos

Ricardo Garcı́a-Ródenas a , Marı́a Luz López Garcı́a a


a Escuela Superior de Informática de Ciudad Real. Universidad de Castilla La
Mancha.

Resumen

En este documento se describe algunas posibilidades que presenta el programa DE-


RIVE para la implementación de métodos numéricos

Key words: DERIVE, programación, Análisis numérico

1. Introducción al uso del DERIVE

Figura 1. pantalla

Preprint submitted to Elsevier Science 26 de febrero de 2007


1.1. Funciones DERIVE

El usuario puede definir nuevas funciones a partir de las funciones existentes


en DERIVE. La estructura de cualquier función derive es:

NOMBRE-FUNCION(a, b, c, . . . , k) :=

NOMBRE-FUNCION: es el nombre elegido por el usuaurio de la función


a, b, c, . . . , k: son los argumentos (datos) que emplea la anterior función. La
naturaleza de estos argumentos puede ser variada tratándose de un número
real, número complejo, vector, matriz, otra función etc.
:= los dos puntos y el igual indica que se está definiendo la función

Explicación: El usuario a partir de los datos a, b, c, . . . , k, de las funciones


DERIVE ya definidas y otras que haya podido definir construirá la nueva
función. Cuando desee utilizarla tendrá que escribir el nombre de la función
con un conjunto determinado de argumentos y posteriormente simplificar

Ejemplos:

"ejemplo 1: definición de una función real. Una parábola"


f(x):=x^2
"a partir de este momento para el programa DERIVE cuando "
"se escribe f(x) se está refiriendo a la parábola"
"para usar dicha función se escribe su nombre, f, con un "
"conjunto de argumentos dado, en este caso solo depende de x."
"Por ejemplo, se escribe "
f(2)
"se simplifica y se obtiene el valor"
4

"Ejemplo 2: una función con más argumentos"


"Definimos una función para calcular el área de un triaángulo de base a "
"y altura h"
Area-triangulo(a,h):=a*h/2
"Si quisiéramos calcular el área de un triángulo de lado a=10 y altura h=20,"
" introducirı́amos"
Area-triangulo(10,20)
"simplificarı́amos y obtendrı́amos"
20

2
2. Resolución numérica de ecuaciones

2.1. Resolución de ecuaciones con DERIVE

El programa DERIVE implementa dos funciones para la el cálculo de raı́ces

SOLVE(f (x), x)

f(x): función dependiente de la variable x


x: variable de la función f sobre la que resolver la ecuación f (x) = 0

Explicación: Al aproximar la anterior expresión se obtiene las raı́ces reales


y complejas de la función f (x).

La siguiente función obtiene las raı́ces numéricamente e incorpora un intervalo


donde buscar las raı́ces

NSOLVE(f (x), x, a, b)

f(x): función dependiente de la variable x


x: variable de la función f sobre la que resolver la ecuación f (x) = 0
a: extremo inferior del intervalo donde realizar la búsqueda
b: extremo superior del intervalo donde realizar la búsqueda

Explicación: Al aproximar la anterior expresión se obtiene una raı́z real de


la función f (x) en el intervalo [a, b].

Ejemplos:

"Cálculo algebraico de las raı́ces. Se introduce en la lı́nea de autor"


SOLVE(x^3+x^2+x+1,x)
"se simplifica la anterior expresión y se obtiene la raı́z real x=-1 y
"las complejas x=i y x=-i"
"Cálculo numérico de la anterior raı́z "
NSOLVE(x^3+x^2+x+1,x,-10,10")
"Al simplificar se obtiene la raı́z x=-1 pero si hubiéramos"
"cambiado el intervalo"
NSOLVE(x^3+x^2+x+1,x,0,1")
"al aproximar la anterior expresión devuelve el valor false
que indica que no existe raı́ces"

3
2.2. Método de punto fijo

El programa DERIVE tiene la función

ITERARES(g, x, x0, n)

g: función DERIVE
x: argumento de la función f sobre la que iterar
x0: valor incial que toma el argumento x
n: número de iteraciones a realizar

Explicación: Esta función genera el siguiente n + 1-vector:

[x0, g(x0), g(g(x0)), g(g(g(x0))), · · · ]

Esta función permite programar el método de punto fijo.

2.3. Método de Newton

El método de Newton es un método de iteración funcional donde la función


de iteración es:
f (x)
g(x) := x − !
f (x)
El programa DERIVE permite definir la anterior función del siguiente modo

"definición de una función arbitraria"


f(x):=
"definición de la función de iteración"
g(x):=x-f(x)/dif(f(x),x,1)

Una vez definida la función de iteración g(x) la implementación del método de


Newton coincide con la del algoritmo de iteración funcional para dicha función
particular de iteración.

Tarea 1.a) Un ejercicio previo. El problema de acotar una función en un


intervalo aparece en múltiples problemas del análisis numérico. En este tema
este problema aparece cuando se desean verificar las hipótesis de convergencia
del método de punto fijo o el del método de Newton. Este problema consiste
en encontrar un k cumpliendo

g(x) ≤ k, para todo x ∈ (a, b)

4
Si g(x) es una función continua en [a, b] se puede obtener una cota k resolviendo
el siguiente problema de optimización:

k = Maximizar x∈[a,b] g(x)

Los candidatos a máximos globales son los siguientes puntos:

1. Extremos del intervalo a y b


2. Raı́ces de g(x) en el intervalo (a, b)
3. Puntos de no derivabilidad de g(x) en (a, b)

"Ejemplo.Maximizar la siguiente función en [-1,2]"


"Definición de la función"
g(x):=x^3-3x^2+x+1
"calculo de la derivada"
dif(g(x),x,1)
"simplificamos"
3x^2-6x+1
"calculamos sus raı́ces"
SOLVE(3x^2-6x+1,x)
"se simplifica la anterior expresión y se obtiene las raı́ces"
x=1-sqrt 6/3 x=1+ sqrt 6/3
"Observar que las dos raı́ces están en el intervalo de interés (-1,2)"
"La función es derivable por lo que no tenemos candidatos del tipo 3."
"Evaluamos la función en los candidatos"
g(-1)
"simplificamos y obtenemos
-4
"calculamos las imágnes del resto de candidatos"
g(2)
-1
g(1-sqrt 6/3)
4 (sqrt 6)/9
g(1+ sqrt 6/3)
-4 (sqrt 6)/9
"y se comprueba que el valor mı́nimo se alcanza en x=-1"
" y el valor de k=g(-1)=-4"

Ejercicios propuestos: Acotar las siguientes funciones en el intervalo que se


indica:

1. g(x) = −x5 − 6x + 1 en el intervalo [−0.57142, 2]


2. g(x) = −|x − 1|e−|x| en el intervalo [−2, 2]
3. g(x) = mı́n{x2 − 1, x, x3 + x} en [−2, 2]

5
Tarea 1.b:

1. Programar el método de Newton y el de punto fijo.


2. Aplicar ambos métodos para calcular las raı́ces de las siguientes funciones:
a)
x3 − x − 1 = 0
con una precisión de 10−5
b)
3x2 − ex = 0
con una precisión de 10−5
3. Analizar teóricamente la convergencia de ambos métodos.
El programa DERIVE también es de ayuda en este apartado. El pro-
grama permite representar gráficamente la función f (x) y visualmente
localizar sus raı́ces (f (x) = 0), teniendo visualmente un cierto intervalo
donde intentar verificar las hipótesis de convergencia de los métodos.

Você também pode gostar