You are on page 1of 160

Notas de la materia de

Mtodos Numricos

Dr. Antonio Ramos Paz


Facultad de Ingeniera Elctrica
U.M.S.N.H.

UMSNH

Mtodos Numricos

FIE

Introduccin
A continuacin se presenta una recopilacin de las notas de la materia de Mtodos Numricos que se
ofrece dentro de la currcula de las carreras de Ingeniera Elctrica, Electrnica y en Computacin en la
Facultad de Ingeniera Elctrica. Estas notas no pretenden reemplazar a los textos que sobre la materia
han sido escritos, sin embargo si pretenden ser un material de apoyo para los estudiantes de esta
materia. En estas notas el lector encontrar el material completo que corresponde al curso de Mtodos
Numricos. El material contenido en estas notas est organizado en 8 Unidades
El contenido de estas notas se ha formado por medio de la recopilacin de materiales de varios autores,
los cuales son citados en la Bibliografa de este texto, adems de mi aportacin de problemas
relacionados con las reas de Ingeniera Elctrica y Electrnica.
Este texto no pretende sustituir a los textos de mtodos numricos que existen actualmente, sus
objetivos de este texto son
Objetivos

Que el estudiante tenga un documento en el cual pueda encontrar todos los temas y
subtemas que contiene el programa vigente de la materia de Mtodos Numricos en la
Facultad de Ingeniera Elctrica de la Universidad Michoacana de San Nicols de Hidalgo.

Que el estudiante cuente con un material de apoyo en dnde pueda ver y analizar una gran
cantidad de problemas resueltos y propuestos, los cuales le permitan afianzar los
conceptos tericos analizados en clase.

Que el estudiante ejercite la programacin de computadoras a travs de ejemplos sencillos


en los cuales se muestra una alternativa de la programacin de los diversos mtodos
numricos analizados en este texto.

Que el lector de estas notas vea que los mtodos numricos son una herramienta muy
poderosa en el anlisis, diseo y planeacin de los sistemas que son utilizados en las reas
de Ingeniera, en particular en las ingenieras: elctrica, electrnica y en computacin.

Que estas notas se conviertan en un futuro en un libro de texto de Mtodos Numricos


para Ingenieros.

Espero que estas notas sean de utilidad para el lector.


Atte.
Dr. Antonio Ramos Paz
Profesor e Investigador Asociado
Facultad de Ingeniera Elctrica
UMSNH
Candidato a Investigador Nacional (2008-2010)
Sistema Nacional de Investigadores

Morelia Michoacn a 1 de agosto de 2008

Dr. Antonio Ramos Paz

ii

UMSNH

Mtodos Numricos

Contenido

1. Introduccin a la programacin en Matlab ..................................................................................... 1


2. Modelos, computadoras y errores .................................................................................................. 32
3. Solucin de Ecuaciones No Lineales ................................................................................................ 41
4. Solucin de Sistemas de Ecuaciones Lineales y No lineales ............................................................ 66
5. Optimizacin ................................................................................................................................... 79
6. Ajuste de curvas .............................................................................................................................. 105
7. Diferenciacin e integracin ............................................................................................................ 118
8. Ecuaciones diferenciales ordinarias ................................................................................................ 132
9. Ecuaciones diferenciales parciales .................................................................................................. 146
Bibliografa........................................................................................................................................... 152

Dr. Antonio Ramos Paz

iii

FIE

UMSNH

Mtodos Numricos

FIE

Unidad I
Introduccin a la programacin en Matlab
Introduccin
La computadora es un elemento que da con da es usada ms y ms en diversos mbitos de nuestra
sociedad. El uso de la computadora en el entorno acadmico y cientfico nos permite aprovechar sus
caractersticas de precisin y rapidez con el objeto de poder resolver problemas de mayor grado de
dificultad.
Matlab es un programa de cmputo que nos permite realizar operaciones tales como sumas, restas,
multiplicaciones y divisiones as como utilizar una amplia gama de funciones.
Todo nmero que es utilizado en Matlab es representado conceptualmente por el programa como una
matriz, por ejemplo, la suma,

22
sera representada en Matlab como:

2 2
Operadores matemticos
Matlab utiliza los siguientes operadores aritmticos:
+

/
\
*
^
()

Por ejemplo, la operacin

Suma
Resta
Divisin a la derecha
Divisin a la izquierda
Multiplicacin
Potenciacin
Agrupacin

2 1
se representara en matlab como 2/3 + 1/3
3 3

El uso de los parntesis es de suma importancia, debido a que permiten agrupar operaciones, por
ejemplo, la operacin:

1 3 4
3
se representa en matlab como:

1 3 4 / 3
El smbolo ^ es muy til para el clculo de cualquier tipo de raz, por ejemplo
mediante el uso de una potencia como:

Dr. Antonio Ramos Paz

81 puede calcularse

UMSNH

Mtodos Numricos

FIE

81^(1/4)
Recordar que:

xm / n n xm

Operaciones con matrices


Consideremos la siguiente matriz:

1 2 3
A 4 5 6
7 8 9
Su representacin en matlab es:
A = [1 2 3;4 5 6;7 8 9]
La matriz se introduce a matlab por medio del uso de corchetes cuadrados. La introduccin de los
elementos es por rengln. El smbolo ; representa el final de los elementos del rengln.
Considrese la matriz

1 2 4 6
B

8 7 4 3
Su representacin en matlab es:
B = [1 2 4 6;8 7 4 3]
Ejemplo: considrense las matrices:

3 6 2
A 1 0 4
2 7 5

8 5 3
B 4 6 7
1 4 3

la representacin de estas matrices en matlab se realiza por medio las siguientes instrucciones,
introducidas desde la lnea de comandos:
A = [-3 6 2; -1 0 4; 2 7 5]
B = [8 5 -3;4 -6 7;-1 4 3]
Consideremos ahora la realizacin de algunas operaciones entre las matrices A y B, tales como: A+B, AT
-1
-1
-1
-1
B, AB, BA, A , A , B , AA y BB
Las operaciones se realizaran de la siguiente forma,

A B

Dr. Antonio Ramos Paz

A+B
ans =
5 11 -1
3 -6 11
1 11 8

UMSNH

Mtodos Numricos

A B

AB

BA

A'

A1

AA1

FIE

A-B
ans =
-11 1 5
-5 6 -3
3 3 2
>> A*B
ans =
-2 -43
-12 11
39 -12
>> B*A
ans =
-35 27
8 73
5 15

57
15
58

21
19
29

>> A'
ans =
-3 -1 2
6 0 7
2 4 5
>> inv(A)
ans =
-0.1892 -0.1081
0.0878 -0.1284
-0.0473 0.2230
>> A*inv(A)
ans =
1.0000 0.0000
-0.0000 1.0000
0.0000 -0.0000

0.1622
0.0676
0.0405

-0.0000
-0.0000
1.0000

Solucin de sistemas de ecuaciones usando Matlab


Considrese el siguiente sistema dos ecuaciones con dos incgnitas:

x1 x2 1
x1 x2 7
La representacin matricial del sistema de ecuaciones anterior es:

1 1 x1 1
1 1 x 7

2
en forma compacta se tiene:

AX B
resolviendo para

X tomando en cuenta que A , B y X son matrices se tiene que:

X A1B
de aqu se puede apreciar que la solucin est dada por el producto de la inversa de la matriz
matriz B .

A con la

Utilizando matlab la solucin del sistema de ecuaciones se puede obtener por medio de la siguiente
secuencia de instrucciones:

Dr. Antonio Ramos Paz

UMSNH

Mtodos Numricos

FIE

>> A = [1 -1;1 1]
A=
1 -1
1 1
>> B = [1;7]
B=
1
7
>> X = inv(A)*B
X=
4
3

Del valor obtenido para la matriz

X se tiene que:

x1 4
x 3
2
Otra alternativa para la solucin del sistema de ecuaciones anterior puede ser utilizando la divisin
izquierda definida en Matlab. Esta divisin realiza implcitamente la inversa de una matriz y la multiplica
por un vector de trminos.
>> A = [1 -1;1 1]
A=
1 -1
1 1
>> B = [1;7]
B=
1
7
>> A \ B
ans =
4
3

Manejo de elementos contenidos en una matriz


Estos pueden ser manipulados en forma independiente al resto de sus elementos compaeros, por
ejemplo, consideremos la siguiente matriz,

A 4
7

2 3

5 6
8 9

Los elementos que estn dentro del recuadro pueden ser representados como otra matriz, de la
siguiente manera:
B = A(2:3,2:3), aqu se dice que la matriz B est formada por las filas 2 a 3 y las columnas 2 a 3 de la
matriz A, por lo que entonces, la matriz B tendr los elementos:

Dr. Antonio Ramos Paz

UMSNH

Mtodos Numricos

FIE

5 6
B

8 9
Consideremos ahora la matriz,

1 2 3 4 5
A

6 7 8 9 10
Los elementos contenidos en el recuadro pueden formar otra matriz, la cual se puede definir como:
B = A(1:1,2:5)
La instruccin anterior especifica que la matriz B est formada por el rengln 1 de la matriz B y de las
columnas 2 a 5, por lo que entonces la matriz B es,

B 2 3 4 5
X(:,2) = []

borra la columna 2 de la matriz X

Funciones con matrices elementales


zeros

ones

genera una matriz de ceros, del orden que se especifica,

A = zeros(3)

0 0 0
A 0 0 0
0 0 0

A = zeros(3,4)

0 0 0 0
A 0 0 0 0
0 0 0 0

genera una matriz de unos, del orden que se especifica,

A = ones(3)

1 1 1
A 1 1 1
1 1 1

A = ones(3,4)

1 1 1 1
A 1 1 1 1
1 1 1 1

Si quisiramos tener una matriz de orden 3x4 con todos sus elementos iguales a 4, podemos hacer lo
siguiente.
A = ones(3,4)*4

Dr. Antonio Ramos Paz

UMSNH

Mtodos Numricos

FIE

4 4 4 4
A 4 4 4 4
4 4 4 4
Lo que hace la instruccin es generar una matriz de 3x4 y multiplicar cada uno de sus elementos por 4.
eye

genera una matriz identidad del orden que se especifica por el parmetro,

1
0
A
0

A = eye(4)

0 0 0
1 0 0
0 1 0

0 0 1

Si queremos tener una matriz diagonal de orden 4 cuyos elementos sean iguales a 5, podemos hacer lo
siguiente,

5
0
A
0

A = eye(4)*5

0 0 0
5 0 0
0 5 0

0 0 5

El comando magic(n) genera un cuadrado mgico de n n (un cuadrado mgico es una matriz de
n n en dnde los elementos de todas sus filas, columnas y diagonales suman una misma cantidad).

8 1 6
A 3 5 7
4 9 2

A = magic(3)

En este caso la cantidad que suman es 15.


Graficacin en Matlab
Para realizar la grafica de una funcin se deben de introducir en forma matricial los conjuntos

x e y.

Ejemplo: consideremos la grafica de la funcin y 3x 2


Para realizar la graficacin de la funcin anterior, primeramente se debe de definir una matriz rengln
que contenga el rango de valores para la variable x . Si utilizamos un rango de -3 a 3, la forma en la que
se define este rango es:
>> X = -3:3
X=
-3 -2 -1

A continuacin se define el valor de las variables


x e y de la siguiente manera:

Dr. Antonio Ramos Paz

y por medio de la funcin que relaciona a las variables

UMSNH

Mtodos Numricos

FIE

>> Y = 3*X+2
Y=
-7 -4 -1

8 11

Finalmente se procede a dar la instruccin realizar la grfica de los vectores


manera:

x e y de la siguiente

>> plot(X,Y)

El resultado es la grfica que se muestra en la Figura siguiente,


12
10
8
6
4
2
0
-2
-4
-6
-8
-3

-2

-1

Se pueden adicionar elementos a la grfica anterior en base a los siguientes comandos:

title:
xlabel
ylabel
grid

establece el ttulo de la grfica


establece la etiqueta en el eje de las abscisas
establece la etiqueta en el eje de las ordenadas
establece la retcula o cuadrcula en la grfica

Al adicionar algunos de estos elementos a la grfica anterior se obtiene,


Title
y = 3x+2
12
10
8
6

ylabel
4
2
0
-2
-4
-6
-8
-3

Ejemplo: sea la funcin


la funcin

xlabel
-2

-1

0
x

y x 2 x 6 , la secuencia de comandos utilizados para realizar la grfica de

y x 2 x 6 son:

Dr. Antonio Ramos Paz

UMSNH

Mtodos Numricos

FIE

x = -4:3;
y = x.^2+x-6;
plot(x,y)

-2

-4

-6
-4

-3

-2

-1

El resultado obtenido es una parbola, sin embargo se aprecia que debido a los pocos puntos que la
definen, se pierde un poco la caracterstica curva de la parbola. Realicemos la grfica con un mayor
nmero de puntos, utilizando ahora un incremento de 0,1 entre los elementos que definen el rango, de
la siguiente manera;
6

x = -4:0.1:3;
y = x.^2+x-6;
plot(x,y)

-2

-4

-6

-8
-4

-3

-2

-1

Adicionando algunos elementos se tiene


Y = 3X+2
6

grid on
xlabel(x)
ylabel(y)
title(y = 3x+2)

-2

-4

-6

-8
-4

-3

-2

-1

Grfica de dos o ms funciones en un mismo plano


Considrese que se tienen que graficar las funciones

y x 1
y

y x2 x 6
La secuencia de instrucciones utilizadas para la realizacin de las grficas de las funciones son:

Dr. Antonio Ramos Paz

UMSNH

Mtodos Numricos

FIE

6
y = x+1
y = x*x-x-6

x = -3:0.01:4;
y1 = x+1;
y2 = x.^2-x-6;
plot(x,y1,x,y2,'--');
grid on
legend('y = x+1','y = x*x-x-6');
xlabel('x');
ylabel('y');

-2

-4

-6

-8
-3

-2

-1

Mltiples grficas en una misma ventana


Consideremos ahora que se tienen que graficar varias funciones, sin embargo deben hacerse en
diferentes grficas.

Por ejemplo, las funciones

y sen x , y cos x
f(x) = seno(x)
1

x = 0:0.01:2*pi;
y1 = sin(x);
y2 = cos(x);
subplot(2,1,1);
plot(x,y1);
title('f(x) = seno(x)');
grid on
subplot(2,1,2);
plot(x,y2);
title('f(x) = coseno(x)');
grid on

0.5
0
-0.5
-1

f(x) = coseno(x)
1
0.5
0
-0.5
-1

Grafica en un mismo plano de funciones de diferentes magnitudes


En ocasiones es necesario graficar en un mismo plano el comportamiento de funciones que tienen
rdenes de magnitud diferentes. Para es utilizado el comando plotyy.
Ejemplo: graficar las funciones

200e0.05 xsenx y 0.8e-0.5 x sen 10x .

Solucin

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
plotyy(x,y1,x,y2,'plot');

200

0.8

150

0.6

100

0.4

50

0.2

0
-50

-0.2

-100

-0.4

-150

-0.6

-200

Dr. Antonio Ramos Paz

10

12

14

16

18

-0.8
20

UMSNH

Mtodos Numricos

FIE

Algunos comandos tiles en matlab

who: despliega el pantalla el nombre de las variables que se encuentran definidas.


version: despliega en pantalla la versin de matlab.
clear: borra todas las variables definidas en memoria.
clc: borra la pantalla del rea de trabajo
quit: termina la sesin en matlab.
clock: regresa la hora
date: regresa la fecha

Formato numrico
format: define el formato numrico de salida de matlab.

FORMAT SHORT
formato con 5 dgitos.
FORMAT LONG
formato con 15 dgitos.
FORMAT SHORT E
formato de punto flotante con 5 dgitos.
FORMAT LONG E
formato de punto flotante con 15 dgitos.
FORMAT HEX
formato hexadecimal
FORMAT RAT
Hace una aproximacin racional de las cantidades
FORMAT +
Los smbolos +, - y espacio en blanco son representan elementos positivos,
negativos y cero. Las partes imaginarias se desprecian.

Ejemplo: considrese que se desea encontrar una representacin fraccionaria de la raz cuadrada del
nmero 3.
>> format rat
>> sqrt(3)
ans = 1351/780
>>

Solucin de ecuaciones de segundo grado y orden superior


El comando roots determina la races (roots) de una ecuacin cuadrtica, la cual se especifica por medio
de un vector el cual contiene los coeficientes de la ecuacin cuadrtica, los cuales deben de estar
ordenados en base a la forma general,

ax2 bx c 0
Ejemplo, si quisiramos resolver la ecuacin,

x2 3x 10 0
podramos seguir la siguiente secuencia de instrucciones en matlab,

Dr. Antonio Ramos Paz

10

UMSNH

Mtodos Numricos

FIE

Primeramente definimos un vector con los coeficientes de la ecuacin cuadrtica,


A = [1 3 -10]
A continuacin utilizamos el comando roots, dndole como parmetro el vector que contiene los
coeficientes de la ecuacin cuadrtica,
roots(A)
El resultado sern las races de la ecuacin de segundo grado, las cules son:
ans =
-5
2
Este comando tambin permite encontrar las races de ecuaciones de orden superior, simplemente es
necesario formar un vector que contenga los coeficientes de la ecuacin. En caso de que algn
coeficiente sea cero, ste se debe de poner, por ejemplo, consideremos la ecuacin,

x4 16 0

El vector que representa los coeficientes de esta ecuacin es:


A = [1 0 0 0 -16]
Si aplicamos el comando roots,
roots(A)
el resultado ser:
ans =
-2.0000
0.0000 + 2.0000i
0.0000 - 2.0000i
2.0000
El resultado indica que existen dos races reales y dos races imaginarias como solucin de esta ecuacin
de cuarto grado.
Evaluacin de polinomios
Sea el polinomio

y 3x 4 7 x 3 2 x 2 x 1
c = [3 -7 2 1 1]
c=

3 -7

xi = 2.5
xi = 2.5000
yi = polyval(c,xi)

Dr. Antonio Ramos Paz

11

UMSNH

Mtodos Numricos

yi = 23.8125

Funciones adicionales con polinomios


conv:

Multiplicacin de polinomios

deconv:

divisin de polinomios

poly:

Polinomio en base a sus races

polyder:

Derivada de un polinomio

polyval:

Evaluacin de un polinomio

residue:

Expansin en fracciones parciales

roots:

Races de un polinomio

Ejemplo: considrese los polinomios

f x x 3 3x 2 8 x 2
y

g x 3x3 8x 2 2 x 10

Calcular con la ayuda de matlab:


a)

f x g x

b)

f ' x

c)

f 3

d)

f 2 g 2

Solucin
Considere la siguiente secuencia de instrucciones

>> f = [1 3 8 2];
>> g = [-3 8 -2 10];
>> h = conv(f,g)
h = -3 -1 -2 62 30 76 20
>> derivada_f = polyder(f)
derivada_f =

>> f_evaluada_en_3 = polyval(f,3)


f_evaluada_en_3 = 80
>> producto = polyval(f,2)*polyval(g,2)
producto = 532

Dr. Antonio Ramos Paz

12

FIE

UMSNH

Mtodos Numricos

FIE

>>

Funciones Elementales en Matlab


Funciones trigonomtricas
sin
cos
tan
cot
sec
csc

calcula el seno del argumento


calcula el coseno del argumento
calcula la tangente del argumento
calcula la cotangente del argumento
calcula la secante del argumento
calcula la cosecante del argumento

Ejemplo: realizar la grafica de las funciones

t 2 .

y1 sent con la funcin y2 cost desde t 0 hasta

Solucin
Considere la siguiente secuencia de instrucciones.
1
Seno(t)
Coseno(t)

0.8
0.6
0.4

t = 0:0.01:2*pi;
y1 = sin(t);
y2 = cos(t);
plot(t,y1,t,y2,'--')
legend('Seno(t)','Coseno(t)')

0.2
0
-0.2
-0.4
-0.6
-0.8
-1

Funciones trigonomtricas inversas


asin
acos
atan
acot
asec
acsc

calcula el seno inverso del argumento


calcula el coseno inverso del argumento
calcula la tangente inversa del argumento
calcula la cotangente inversa del argumento
calcula la secante inversa del argumento
calcula la cosecante inversa del argumento

Ejemplo: utilizar las funciones trigonomtricas para determinar el valor de los lados a y b para el
tringulo rectngulo siguiente.

30
Solucin
Se tiene que,

a 5tan 30

Dr. Antonio Ramos Paz

13

UMSNH

Mtodos Numricos

FIE

5
cos 30

Utilizando matlab se tiene que,


>> a = 5*tan(30*pi/180)
a = 2.8868
>> b = 5/cos(3*pi/180)
b = 5.0069
>>

Funciones exponenciales y logartmicas


exp
log

realiza la operacin
realiza la operacin

e x donde x es el argumento
log x
donde x es el argumento y log es el logaritmo
natural

log10

realiza la operacin

log x
donde x es el argumento y log es el logaritmo en
base 10.

Funciones de nmeros complejos


abs
angle
conj
imag
real

calcula el valor absoluto de un nmero complejo


calcula el ngulo de fase de un nmero complejo
calcula el conjugado de un nmero complejo
determina la parte imaginaria de un nmero complejo
determina la parte real de un nmero complejo

La introduccin de un nmero complejo se puede hacer de varias maneras:


EDU z1 = 1+2i
z1 = 1.0 + 2.000i

Otra alternativa es la siguiente:


EDU z1 = 1+2j
z1 = 1.0 + 2.0000i

Una tercera alternativa es:


EDU z1 = 1+2*sqrt(-1)
z1 = 1.0000 + 2.0000i

Dr. Antonio Ramos Paz

14

UMSNH

Mtodos Numricos

FIE

Algunas otras funciones de matlab

cumprod:

calcula el promedio acumulado de los valores en un arreglo

cumsum:

calcula la suma acumulada de los valores en un arreglo

factor:

encuentra los factores primos


Ejemplo:

factorial:

factor(15)

ans =

ans =

24

calcula el factorial

Ejemplo:

factorial(4)

gcd:

encuentra el mximo comn divisor

isprime:

determina si un nmero es primo. Regresa un uno si es primo, en caso


contrario cero.
Ejemplo:

isprime(4)

lcn:

ans =

encuentra el mnimo comn denominador

length:

determina la mayor dimensin de un arreglo

Ejemplo:

A = [12.3 23.2 1.2 4.3];


length(A)

max:

ans =

encuentra el mximo valor de un arreglo y determina cul elemento

Ejemplo:
[elemento posicion] = max(A)
elemento =

mean:

23.2000

posicion =

calcula el promedio de los elementos de un arreglo

Ejemplo:
mean(A)

Dr. Antonio Ramos Paz

ans =

10.2500

15

UMSNH

Mtodos Numricos

median:

FIE

encuentra la mediana de los elementos contenidos en un arreglo

Ejemplo:
median(A)

ans =

8.3000

min:

encuentra el mnimo valor de un arreglo y determina cul elemento

Ejemplo:
[elemento posicion] = min(A)
elemento =

1.2000 posicion =

prod:

multiplica los valores en un arreglo

Ejemplo:
prod(A)

ans =

1.4725e+003

rand:

calcula nmeros aleatorios

Ejemplo:
rand()

ans =

0.8147

rats:

convierte la entrada a una representacin fraccional

Ejemplo:
rats(1.2)

ans =

6/5

size:

determina el nmero de filas y columnas de un arreglo

Ejemplo:
[filas columnas] = size(A)

std:

filas =

determina la desviacin estndar de los nmeros contenidos en un arreglo

Ejemplo:
std(A)

columnas =

ans =

Dr. Antonio Ramos Paz

9.8185

16

UMSNH

Mtodos Numricos

sum:

FIE

suma los elementos contenidos en un arreglo

Ejemplo:
sum(A)

ans =

41

var:

calcula la varianza de los elementos de un arreglo

Ejemplo:
var(A)

ans =

96.4033

Ejemplo: utilizando las funciones de nmeros complejos definidas por Matlab, encontrar la impedancia
equivalente en las terminales a-b para el circuito de la figura siguiente.

1 2 j

2 3 j

4 2 j
b
Solucin
z1 = 1+2j;
z2 = 2+3j;
z3 = 4+2j;
zequi = z1+z2+z3
zequi = 7.0000 + 7.0000i
Ejemplo: utilizando las funciones de nmeros complejos definidas por Matlab, encontrar la suma de los
4 vectores que se muestran en la tabla siguiente.

F3 10 90N

F2 8 45N

F1 10 0N
Solucin
suma_componentes_x = 10*cosd(0)+8*cosd(45)+10*cosd(90)
suma_componentes_y = 10*sind(0)+8*sind(45)+10*sind(90)
magnitud_resultante = sqrt(suma_componentes_x^2+suma_componentes_y^2)
magnitud_resultante =

22.1421

angulo_resultante = atand(suma_componentes_y/suma_componentes_x)
angulo_resultante = 45

Dr. Antonio Ramos Paz

17

UMSNH

Mtodos Numricos

Funciones Numricas
fix

redondea hacia el elemento ms cercano al cero

ejemplo:

fix(0.6) = 0
fix(-0.6) = 0
fix(1.6) = 1

floor

redondea hacia el entero ms cercano al infinito negativo

ejemplo:

floor(2.1) = 2
floor(-2.9) = -3

ceil

redondea hacia el infinito positivo

ejemplo:

ceil(2.3) = 3
ceil(2.99) = 3

round

redondea hacia el entero ms cercano

ejemplo:

rem

round(2.3)

=2

round(4.5)

=5

regresa el residuo de la divisin de sus argumentos


ejemplo:

rem(2,2) = 0
rem(3,2) = 1

sign

regresa el signo de la cantidad que se ingresa como argumento.


ejemplo.

sign(-1) = -1
sign(3) = 1
sign(0) = 0

Manejo simblico en Matlab


Creacin de Variables y expresiones simblicas
Con el objeto de crear variables simblicas se utilizan el comando sym, por ejemplo
x = sym(x)
a = sym(alpha)
Consideremos la siguiente expresin

Dr. Antonio Ramos Paz

18

FIE

UMSNH

Mtodos Numricos

1 5
2

rho = sym((1 + sqrt(2))/2)


consideremos la siguiente operacin
>> rho = sym('(1 + sqrt(5))/2')
rho = (1 + sqrt(5))/2

>> f = rho^2-rho-1
f=
(1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)

>> simplify(f)
ans =0
>>

Solucin de ecuaciones
>> syms a b c x
>> s = a*x^2+b*x+c
s = a*x^2+b*x+c
>> solve(s)
ans =
1/2/a*(-b+(b^2-4*a*c)^(1/2))
1/2/a*(-b-(b^2-4*a*c)^(1/2))

Consideremos ahora la solucin para b


>> sol_b = solve(s,b)
sol_b =
-(a*x^2+c)/x

Aplicaciones al Clculo Diferencial e Integral


Consideremos la siguiente expresin simblica
>> syms a x
>> f = sin(a*x)
f = sin(a*x)
>> df = diff(f)
df = cos(a*x)*a
>>

Si se quiere encontrar la derivada de la funcin con respecto a la variable a se tiene que,

Dr. Antonio Ramos Paz

19

FIE

UMSNH

Mtodos Numricos

>> df = diff(f,a)
df = cos(a*x)*x
>>

Consideremos la segunda derivada de una funcin


>> syms x
>> f = x^2+x+1
f = x^2+x+1
>> d_1 = diff(f,x)
d_1 = 2*x+1
>> d_2 = diff(d_1,x)
d_2 = 2
>> d_2 = diff(f,x,2)
d_2 = 2

Limites
Consideremos el siguiente lmite

cos x h cos x
h 0
h

lim

>> syms h x
>> dc = limit((cos(x+h)-cos(x))/h,h,0)
dc =
-sin(x)
>>
Resumen sobre lmites
Operacin Matemtica

Comando de Matlab
limit(f)

lim f x
x 0

lim f x

limit(f,x,a)
limit(f,a)
limit(f,x,a,left)

x a

lim f x

x a

lim f x

limit(f,x,a,right)

x a

Integracin
>> syms x
>> f = x^2+3*x+5
f = x^2+3*x+5
>> int(f)

Dr. Antonio Ramos Paz

20

FIE

UMSNH

Mtodos Numricos

ans = 1/3*x^3+3/2*x^2+5*x
>>

Resumen sobre integrales


Operacin Matemtica

x
/2

n 1

Comando de Matlab
int(x^2)
int(x^2,x)

sin 2 x dx 1

int(sin(2*x),0,pi/2)
int(sin(2*x),x,0,pi/2)

x
n 1

g cos at b

g t dt

sin at b
a

Dr. Antonio Ramos Paz

g = cos(a*t+b)
int(g)
int(g,t)

21

FIE

UMSNH

Mtodos Numricos

FIE

Programacin en Matlab
Existen dos clases de archivos M

Archivos de instrucciones
Archivos de funciones

Caractersticas:
Archivos de Instrucciones

No aceptan argumentos de entrada ni regresan argumentos de salida.


Operan con datos de la hoja de trabajo
Son tiles para automatizar una serie de pasos que son realizados de manera
comn

Archivos de funciones

Aceptan argumentos de entrada y regresan argumentos de salida


Las variables internas son locales

Ejemplo de archivo de instrucciones


% serie de instrucciones utilizadas para graficar la funcin seno en un
% intervalo de tiempo de 0 a 2pi
t = 0:0.01:2*pi
y = sin(t);
plot(t,y);

Nota : el signo % se utiliza para colocar comentarios en el programa.


Ejemplo de archivo de funciones
% funcin que aceptan como argumentos dos valores a y b y regresa su
% producto
function c = producto(a,b)
c = a*b;

Control de flujo
Comando if, and elseif
Este comando se utiliza cuando el flujo de un programa o una funcin dependen de una condicin que
puede ser falsa o verdadera.
if expresin_logica
Instrucciones
end

Ejemplo: considere una funcin que devuelva el valor absoluto de una cantidad x.

Dr. Antonio Ramos Paz

22

UMSNH

Mtodos Numricos

FIE

Operadores de relacin
Estos operadores generalmente acompaan a las estructuras de seleccin y de repeticin para
especificar condiciones de relacin entre dos o ms elementos.
==
>
<
>=
<=
~=

igual
Mayor que
Menor que
Mayor o igual que
Menor o igual que
Diferente que

Operadores lgicos
Estos operadores generalmente acompaan a las estructuras de seleccin y de repeticin para
especificar condiciones lgicas entre dos o ms elementos.
and y
or o

&
|

Ejemplo: el siguiente programa determina si un nmero es par o impar


numero = 10;
if rem(numero,2)== 0
disp 'Es un numero par'
else
disp 'Es un numero impar'
end

Consideremos el siguiente ejemplo:


n = 4;
if n<0
disp ('es un valor negativo');
elseif rem(n,2) == 0
disp ('es un valor positivo par');
else
disp ('es un valor positivo impar');
end

El diagrama de flujo asociado con el cdigo anterior se muestra a continuacin,

Dr. Antonio Ramos Paz

23

UMSNH

Mtodos Numricos

FIE

Inicio
n=4

Si
Nmero
negativo

n<0

No
Si
rem(n,2) == 0

Nmero
positivo par

No
Nmero
positivo
negativo

Fin

Comando switch
El comando switch se utiliza para realizar una secuencia de instrucciones en base a una seleccin de
varias alternativas.
La sintaxis de la instruccin switch
switch expresin
case valor_1
instrucciones
case valor_2
instrucciones
case valor_n
instrucciones
otherwise
instrucciones
end

Ejemplo: consideremos un programa que reciba una calificacin de 5 a 10 y muestre en pantalla una
palabra asociada con la calificacin,
10
8
6

=>
=>
=>

Excelente,
Bien,
Suficiente,

9
7
5

=>
=>
=>

calificacion = 6;
switch calificacion
case 5
disp('Muy mal');
case 6
disp('Suficiente');
case 7
disp('Regular');
case 8
disp('Bien');
case 9
disp('Muy Bien');
case 10
disp('Excelente');
otherwise
disp('Valor fuera de rango');
End

Dr. Antonio Ramos Paz

24

Muy bien
Regular
Muy mal

UMSNH

Mtodos Numricos

FIE

Estructuras de repeticin
for
La estructura de repeticin for repite una secuencia de instrucciones un nmero predeterminado de
veces. Su sintaxis es,
for indice=inicio:incremento:fin
instrucciones
end

el incremento por default es 1.


Por ejemplo, si se desea almacenar en un vector x los valores de 1 a 10 existen diversas alternativas, una
de ellas es por medio de ciclo, tal y como se muestra en el siguiente cdigo
for i=1:10
x(i) = i;
end

while
La estructura de repeticin while repite una secuencia de instrucciones en tanto una expresin es
verdadera.
La sintaxis de la estructura de repeticin while es,
while expresin
instrucciones
end

Ejemplo: ahora utilicemos la instruccin while para llenar el arreglo x con los elementos del 1 al 10.
i = 1;
while i<=10
x(i) = i;
i = i +1;
end

break
La instruccin break termina la ejecucin de un ciclo for o while.
Consideremos un juego, en el cual el usuario intentar adivinar un numero entre 1 y 100.
intentos = 10;
numero = round(rand()*100+1);
for i=1:intentos
valor = input('Dame la aproximacin:');
if valor == numero
disp 'Felicidades'
disp 'Atinaste en '
i
break
else

Dr. Antonio Ramos Paz

25

UMSNH

Mtodos Numricos

FIE

if valor > numero


disp 'mas pequeo'
else
disp 'mas grande'
end
end
End

return
La instruccin return termina la ejecucin de una secuencia de comandos y regresa el control a la
funcin que invoc a la secuencia de comandos o a la lnea de comandos.
Partes de un archivo de funciones

Lnea de definicin de la funcin


Lnea H1
Texto de ayuda
Cuerpo de la funcin
Comentarios

Lnea de definicin de la funcin

function y = promedio(x)
Argumento de entrada
Nombre de la funcin
Argumento de salida
Palabra reservada

Si la funcin tiene varios valores de salida, stos deben ser especificados entre corchetes cuadrados, por
ejemplo, consideremos una funcin que recibe como argumento dos nmeros a y b y da como resultado
su suma, su producto, su diferencia y su cociente,

function [suma, resta, producto, cociente] = operaciones(a,b)


suma = a + b;
resta = a - b;
producto = a*b;
cociente = a/b;

Ejemplo: realizar una funcin que convierta grados Fahrenheit en grados Celsius
Solucin
Se sabe que:

TC

5
TF 32
9

Por lo que se propone la siguiente funcin

% funcion que convierte una temperatura expresada en grados Fahrenheit en grados centigrados
function celsius = far_en_cel(fahrenheit)
celsius = 5/9*(fahrenheit-32);

Dr. Antonio Ramos Paz

26

UMSNH

Mtodos Numricos

FIE

Ejemplo de utilizacin
>> a = far_en_cel(78)
a = 25.5556

Ejemplo: realizar un programa que contenga una funcin que sea capaz de determinar la magnitud y
direccin de un vector expresado en forma rectangular.
Solucin
Se sabe que la magnitud de un vector expresado en forma rectangular es:

M Cx2 C y2

Adems de que la direccin de un vector expresado en forma rectangular es:

tan 1

Cy

Cx

Por lo que se propone la siguiente funcin en matlab,


% funcion que determina la magnitud y direccin de un vector
% expresado en forma rectangular
function [magnitud direccion] = mag_dir(cx,cy)
magnitud = sqrt(cx^2+cy^2);
direccion = 180/pi*(atan(cy/cx));

Ejemplo de aplicacin
>> [magnitud direccion] = mag_dir(1,1)
magnitud = 1.4142
direccion = 45

Ejemplo: realizar una funcin que realice la grfica de una funcin polinomial de orden n en el rango
especificado. La funcin deber de recibir como parmetros un vector P que contenga los coeficientes
del polinomio as como el dominio de la funcin.
Se propone el siguiente cdigo,
% funcion que grafica una funcion polinomial
function grafica_polinomio(p,xmin,xmax)
[filas columnas] = size(p);
puntos = 1000;
y = zeros(puntos,1);
paso = (xmax-xmin)/puntos;
x = xmin:paso:xmax-paso;
for i=1:puntos
for j=1:columnas-1
y(i) = y(i) + p(j)*x(i)^(columnas-j);
end
y(i) = y(i) + p(columnas);
end
plot(x,y)
grid on
xlabel('x');
ylabel('y');

Dr. Antonio Ramos Paz

27

UMSNH

Mtodos Numricos

FIE

Ejemplo de aplicacin.
Considrese la grfica de la funcin

f x x2 x 6
>> p = [1 -1 -6]
p=

1 -1 -6

>> grafica_polinomio(p,-3,4)

Dando como resultado la grfica que se muestra en la figura siguiente.


6

-2

-4

-6

-8
-3

-2

-1

Ejemplo: realizar una funcin que muestre el comportamiento de un objeto que es lanzado con una
velocidad inicial v0 . La funcin debe de recibir como parmetros: v0 y theta.
Solucin
Se sabe que el tiempo de vuelo est dada por:

tvuelo

2vosen
g

La posicin en

x est dada por:

x t vo cos t

La posicin en

y est dada por:

1
y t vosen t gt 2
2

Se propone la siguiente funcin


% funcion que realiza la grfica de la posicin de un objeto que es lanzado
% en tiro parablico
function grafica_tiro_parabolico(vo,theta)
g = 9.81;
theta = (pi/180)*theta;
tiempo_vuelo = 2*vo*sin(theta)/g;
paso = tiempo_vuelo/512;
t = 0:paso:tiempo_vuelo-paso;
x = vo*cos(theta)*t;
y = vo*sin(theta)*t-0.5*g*t.^2;
plot(x,y);
grid on
xlabel('x');
ylabel('y');

Dr. Antonio Ramos Paz

28

UMSNH

Mtodos Numricos

FIE

Ejemplo de aplicacin
grafica_tiro_parabolico(15,60);

Dando como resultado la grfica que se muestra en la figura siguiente,


9
8
7
6

5
4
3
2
1
0

10
x

12

14

16

18

20

Ejemplo: realizar una funcin que calcule la traza de una matriz de nxn. La traza de una matriz cuadrada
A es la suma de los elementos de su diagonal.
Solucin
Se propone la siguiente funcin
% funcion que calcula la traza de una matriz
function tr = traza(A)
[filas columnas] = size(A);
if (filas == columnas)
tr = A(1,1);
for i=2:columnas
tr = tr+A(i,i);
end
else
disp 'No es una matriz cuadrada'
end

Ejemplo de aplicacin
>> A = [1 0 0;0 2 0;0 0 3]
A=
1
0
0

0
2
0

0
0
3

>> traza(A)
ans =

Dr. Antonio Ramos Paz

29

UMSNH

Mtodos Numricos

FIE

Ejercicios propuestos Unidad 1


1.

Realizar una funcin que convierta grados Celsius en grados Fahrenheit

2.

Hacer una funcin que determine la distancia entre dos puntos de coordenadas

x1 , y1 y

x2 , y2 .
3.

Hacer una funcin que determine el mayor de tres nmeros a, b, c.

4.

Realizar una funcin que devuelva la suma de los elementos de una matriz.

5.

Realizar una funcin que convierta grados sexagesimales en radianes

6.

Realizar una funcin que convierta radianes en grados sexagesimales

7.

Realizar una funcin que determine el promedio de los elementos contenidos en un vector

8.

Realizar una funcin que determine la desviacin estndar de los elementos contenidos en un
vector

9.

Realizar una funcin que encuentre el valor ms pequeo dentro de los elementos contenidos
en un vector

10. Realizar una funcin que reciba una matriz cuadrada devuelva cero si la matriz es no singular y
uno si la matriz es singular.

Dr. Antonio Ramos Paz

30

UMSNH

Mtodos Numricos

FIE

Autoevaluacin unidad 1

1.

Realizar una funcin que determine la magnitud de un vector expresado en forma rectangular.

M x2 y 2
2.

Realizar una funcin que convierta grados Celsius en grados Fahrenheit

9
TF C 32
5
3.

Hacer una funcin que determine la distancia entre dos puntos de coordenadas

x1 , y1 y

x2 , y2 .
x2 x1 y2 y1

a, b, c.

4.

Hacer una funcin que determine el mayor de tres nmeros

5.

Realizar una funcin que devuelva la suma de los elementos de una matriz de

6.

Realizar una funcin que calcule el producto de dos matrices. La funcin recibir como
parmetro dos matrices y devolver el producto. No se deber utilizar directamente el
producto de dos matrices.

7.

Realizar una funcin que determine el promedio de los datos contenidos en una matriz.
Recordar que el promedio de un nmero n de elementos se calcula como

n m .

x
8.

x
i 1

Realizar una funcin que devuelva el valor ms pequeo y el valor ms grande de los elementos
contenidos en un vector

Dr. Antonio Ramos Paz

31

UMSNH

Mtodos Numricos

FIE

Unidad II
Modelos, computadoras y errores
Introduccin
El anlisis del error en un resultado numrico es fundamental para cualquier computacin inteligente,
sea hecha a mano o con una computadora. Los datos de entrada rara vez son exactos, ya que a menudo
se basan en experimentos o son estimados, y los procesos numricos a su vez introducen errores de
varios tipos.
Considrese el clculo de las races de la ecuacin

x2 0.4002 x 0.00008 0
utilizando la formula general para la solucin de ecuaciones de segundo grado con una incgnita, se
tiene un resultado de

x 0.000015
esta formula se presenta usualmente en cursos de lgebra sin ninguna discusin de su precisin, sin
embargo, la aritmtica de punto flotante de cuatro dgitos introduce errores que hacen el resultado
errneo en 25%; la raz real, determinada con aritmtica de ocho dgitos es -0.0002.
En este caso la culpa fue de la aritmtica de cuatro dgitos, sin embargo, no se piense que los nmeros
de punto flotante de ocho dgitos resolvern todos los problemas. Considrese la serie de Taylor para el
seno:

senx x

x3 x5 x 7

3! 5! 7!

Esta serie se describe usualmente como vlida para cualquier ngulo finito, y el error por truncamiento
cometido al suspender la suma despus de un nmero finito de trminos se dice que es menor en valor
absoluto que el primer trmino despreciado. Estos postulados seran verdaderos si hubiera alguna
forma de conservar un nmero finito de dgitos en cada resultado aritmtico. Considrese que tratamos
de valuar el seno de 1470 = 25.7 radianes, usando aritmtica de punto flotante de ocho dgitos y
calculando los trminos hasta encontrar uno que sea menor que 10-8 en valor absoluto. El resultado
calculado ser de 24.25401855, que aparentemente tiene gran precisin, pero que por supuesto, carece
de sentido. An as usamos aritmtica de punto flotante de 16 dgitos, el seno de 2550 resulta 29.5.
Cifras significativas
Las cifras significativas de un nmero son aquellas que pueden utilizarse en forma confiable. Se trata del
nmero de dgitos que se ofrecen con certeza, ms uno estimado.
Definicin de errores
Valor exacto del error

Et = valor exacto del error = valor verdadero - valor aproximado

Dr. Antonio Ramos Paz

32

UMSNH

Mtodos Numricos

FIE

Error relativo fraccional verdadero

error verdadero
100%
valor verdadero

Ejemplo: se tiene que medir la longitud de una calle y la longitud de un clavo. Se obtienen las siguientes
mediciones:
Longitud de la calle
Longitud del clavo

9999 cms
9 cms

Si los valores verdaderos son de 10000 cms y 10 cms, respectivamente. Determinar:


a) El error verdadero
b) El error relativo porcentual en cada caso.
Solucin
a)

Et 10000 cm 9999 cm 1cm

1cm
100% 0.01%
10000cm

b)

Et 10 cm 9 cm 1cm

1cm
100% 10.0%
10cm

Error relativo porcentual

error aproximado
aproximacin actual - aproximacin anterior
100%
100%
valor verdadero
aproximacin actual

A menudo, cuando se realizan clculos, no importa mucho el signo del error, sino ms bien que su error
absoluto porcentual sea menor que una tolerancia porcentual prefijada s , por lo que los clculos se
repiten hasta que,

a s
Si se cumple la relacin anterior, entonces se considera que el resultado obtenido est dentro del nivel
aceptable fijado s .
Es posible demostrar que si el siguiente criterio se cumple, se tendr la seguridad que el resultado es
correcto en al menos n cifras significativas.

Dr. Antonio Ramos Paz

33

UMSNH

Mtodos Numricos

FIE

s 0.5 102n %
Tipos de errores

Errores Inherentes
Errores por truncamiento
Errores por redondeo

Errores Inherentes
Los errores inherentes son errores que existen en los valores de los datos, causados por la
incertidumbre en las mediciones, por verdaderas equivocaciones, o por la naturaleza necesariamente
aproximada de la representacin, mediante un nmero finito de dgitos, de cantidades que no pueden
representarse exactamente con el nmero de dgitos permisibles.
Una medicin fsica, tal como una distancia, un voltaje, o un periodo de tiempo, no puede ser exacta. Si
la medicin se da con muchos dgitos, tal como un voltaje de 6.4837569, se puede estar seguro de que
al menos algunos de los dgitos de la extrema derecha no tienen ningn sentido, porque los voltajes no
pueden medirse con esta precisin. Si la medicin se da con unos cuantos dgitos, tal como el intervalo
de tiempo de 2.3 segundos, podemos estar bastantes seguros de que hay algn error inherente, porque
slo accidentalmente el intervalo de tiempo sera exactamente 2.3 segundos. En tales casos se pueden
conocer algunos lmites razonables del error inherente, por ejemplo, decir que el tiempo es de
2.3 0.1 segundos.

Reloj Analgico

Reloj Digital

Voltmetro

Termmetro

Dr. Antonio Ramos Paz

34

UMSNH

Mtodos Numricos

FIE

Errores por truncamiento


Los errores por truncamiento se refieren a errores debido a la manera de efectuar los procesos
numricos. Consideremos la serie infinita de Taylor

senx x

x3 x5 x 7

3! 5! 7!

La cual puede ser utilizada para calcular el seno de cualquier ngulo x expresado en radianes. Es un
hecho que no pueden ser utilizados todos los trminos de la serie para el clculo, debido a que la serie
7

es infinita. Si se utilizan hasta los trminos x o x , los trminos omitidos introducen un error, debido
a un truncamiento de un proceso matemtico infinito.
Errores por redondeo
Supngase que se dispone de una computadora en la cual cada nmero contiene cinco dgitos y que se
desea sumar 9.2654 y 7.1625, los que se suponen exactos. La suma es 16.4279, que contiene seis dgitos
y que por lo tanto no puede ser almacenada en la computadora hipottica. La computadora debe
entonces redondear el resultado de seis dgitos a 16.428 y al hacerlos introduce un error por redondeo.
Debido a que el trabajo de una computadora se efecta con cantidades que tienen algn nmero fijo de
dgitos, la necesidad de redondear ocurre con frecuencia.
Lista de algunas recomendaciones para lograr mayor precisin
1. Cuando se van a sumar y/o restar nmeros, trabajar siempre con los nmeros ms pequeos
primero.
2. De ser posible, evitar la sustraccin de dos nmeros aproximadamente iguales. Una expresin
que contenga dicha substraccin a menudo puede ser reescrita para evitarla.

a b c puede reescribirse en la forma ab ac y a b / c puede


reescribirse como a / c b / c . Si hay nmeros aproximadamente iguales en el parntesis,

3. Una expresin del tipo

ejecutar la resta antes que la multiplicacin. Esto evitar complicar el problema con errores de
redondeo adicionales
4. Cuando no se aplica ninguna de las reglas anteriores, minimizar el nmero de operaciones
aritmticas.

Series de Taylor
El desarrollo de Taylor, que es una serie infinita de potencias, representa de manera exacta a una
funcin dentro de un cierto radio alrededor de un punto dado. Por lo tanto, mediante la comparacin
del desarrollo polinomial de la solucin numrica con la serie de Taylor de la solucin exacta, es posible
evaluar el error, el cual se conoce como error de truncamiento.
Desarrollo de Taylor para funciones unidimensionales

f x es analtica en x a si f x se puede representar por medio de una


serie de potencias en trminos de h x a dentro de un radio de convergencia,
Se dice que una funcin

D xa 0
Una condicin necesaria para que una funcin sea analtica es que todas sus derivadas sean continuas
tanto en x a como en alguna vecindad alrededor de ese punto.

Dr. Antonio Ramos Paz

35

UMSNH

Mtodos Numricos

Una punto en dnde una funcin

f x no es analtica recibe el nombre de punto singular. Si f x es

diferenciable en todas partes en la vecindad de


Por ejemplo

FIE

x0 excepto en x0 , entonces x0 es un punto singular.

tan x es analtica excepto en x n , n 0,1, 2,3,


2

, , los cuales son

puntos singulares. Los polinomios son analticos en todas partes.

f es analtica alrededor de x a , se puede representar f x de manera exacta en la vecindad de


x a por medio de una serie de Taylor, que es una serie de potencias dada por:

Si

f x f a hf ' a
Donde

h2
h3
f '' a
f ''' a
2
6

h m m
f a
m!

h xa

El desarrollo de Taylor de una funcin alrededor de x 0 recibe el nombre de serie de Maclaurin.

Ejemplo: Realizar el desarrollo de Taylor de


trminos de la serie)

e x alrededor de x 1 (Utilice los cuatro primeros

Solucin

f x e x
e

f ' x e x

f '' x e x

h2e1 h3e1
e he

2!
3!
1

Donde

h x 1

Ejemplo: Realizar el desarrollo de Maclaurin de

e x (Utilice los primeros 4 trminos de esta serie)

Solucin

f x ex

f ' x f '' x f ''' x e x

e x e0 xe0

x 2 e 0 x 3e 0

2!
3!

Realizando operaciones

x 2 x3
e 1 x
2 6
x

Dr. Antonio Ramos Paz

36

UMSNH

Mtodos Numricos

Ejemplo: Realizar el desarrollo de Maclaurin de

FIE

senx

Solucin

f x sen x
f ' x cos x
f '' x sen x
f ''' x -cos x

f iv x sen x
Se tiene entonces que,

senx sen0 x cos 0

x 2 sen0 x3 cos 0 x 4 sen0 x5 cos 0

2!
3!
4!
5!

Realizando operaciones y simplificando

x3 x5 x 7
senx x
3! 5! 7!

Ejemplo: Evale

e5 con el uso de dos mtodos:

e x 1

x x 2 x3 x 4

1! 2! 3! 4!

e x

ex

1
x x
x3 x 4
1
1! 2! 3! 4!
2

-3

Y comprelo con el valor verdadero de 6.737947x10 . Utilice 20 trminos para evaluar cada serie y
calcule los errores relativos aproximado y verdadero como trminos se agreguen.

Dr. Antonio Ramos Paz

37

UMSNH

Mtodos Numricos

FIE

Solucin. Se propone el siguiente cdigo en lenguaje C.


#include <stdio.h>
float factorial(int n)
{
if (n == 1.0)
return
1.0;
else
return n*factorial(n-1.0);
}
float serie(int n, float x)
{
int i;
float suma = 1.0;
for (i=1; i<=n; i++)
suma = suma + pow(x,i)*pow(-1.0,i)/factorial(i);
return suma;
}
float serie2(int n, float x)
{
int i;
float suma = 1.0;
for (i=1; i<=n; i++)
suma = suma + pow(x,i)/factorial(i);
return 1.0/suma;
}
int main(void)
{
int i;
float valor,et,er,ea,vp=0.0,vv = 6.737947e-3;
printf("N \t Aproximado \t et \t er \t ea \n");
for (i=1; i<=20; i++)
{
valor = serie2(i,5);
et = vv - valor;
er = et/vv*100;
ea = (valor - vp)/valor*100;
printf("%d\t%10.8f\t%10.8f\t%10.8f\t%10.8f\n ",i,valor,et,er,ea);
vp = valor;
}
}

Mtodo 1

Aproximacin

Et

-4.000000E+00

4.006738E+00

5.946526E+04

1.000000E+02

8.500000E+00

-8.493262E+00

-1.260512E+05

1.470588E+02

-1.233333E+01

1.234007E+01

1.831429E+05

1.689189E+02

1.370833E+01

-1.370160E+01

-2.033497E+05

1.899696E+02

-1.233333E+01

1.234007E+01

1.831429E+05

2.111487E+02

9.368056E+00

-9.361319E+00

-1.389343E+05

2.316531E+02

17

6.267910E-03

4.700400E-04

6.975955E+00

-3.422148E+01

18

6.863740E-03

-1.257900E-04

-1.866876E+00

8.680772E+00

19

6.706940E-03

3.101000E-05

4.601845E-01

-2.337818E+00

20

6.746140E-03

-8.190000E-06

-1.215788E-01

5.810568E-01

Dr. Antonio Ramos Paz

38

UMSNH

Mtodos Numricos

FIE

Mtodo 2

Aproximacin

Et

1.666667E-01

-1.599287E-01

-2.373553E+03

1.000000E+02

5.405406E-02

-4.731611E-02

-7.022333E+02

-2.083333E+02

2.542373E-02

-1.868578E-02

-2.773216E+02

-1.126126E+02

1.529637E-02

-8.558420E-03

-1.270182E+02

-6.620763E+01

1.093892E-02

-4.200980E-03

-6.234804E+01

-3.983428E+01

8.840320E-03

-2.102380E-03

-3.120202E+01

-2.373898E+01

17

6.737980E-03

-4.000000E-08

-5.321500E-04

-1.451310E-03

18

6.737960E-03

-1.000000E-08

-1.313100E-04

-4.008400E-04

19

6.737950E-03

0.000000E+00

-2.764000E-05

-1.036700E-04

20

6.737950E-03

0.000000E+00

0.000000E+00

-2.764000E-05

Ejemplo: evale el polinomio

y x3 7 x2 8x 0.75
En x 1.37 . Utilice aritmtica de 3 dgitos con corte. Evale el error relativo porcentual. Repita el
problema pero exprese y como:

y x 7 x 8 x 0.35

Dr. Antonio Ramos Paz

39

UMSNH

Mtodos Numricos

FIE

Autoevaluacin Unidad 2
1.

Se tiene que medir la longitud de un tramo de tubo conduit (utilizado en canalizaciones


elctricas) y la longitud del dimetro de un conductor elctrico. Se obtienen las siguientes
mediciones:
Longitud del tubo conduit
Longitud del dimetro del conductor

1199 cms
1.19 cms

Si los valores verdaderos son de 1200 cms y 1.2 cms, respectivamente. Determinar:
a) El error verdadero
b) El error relativo porcentual en cada caso.

x 2 n 1
1 x
alrededor de x 1 es 2
ln
1 x
n 1 2n 1

2.

Muestre que el desarrollo de Taylor de

3.

Realizar el desarrollo de Taylor de

e x alrededor de x 1

4.

Realizar el desarrollo de Taylor de

cos x alrededor de x 1

5.

Desarrolle las siguientes funciones en serie de Maclaurin

1
1 x2

tan x

1
1 x

ln 1 x

Dr. Antonio Ramos Paz

40

UMSNH

Mtodos Numricos

FIE

Concepto de aproximacin numrica


En el campo de la ingeniera existe infinidad de fenmenos fsicos que necesitan representarse
mediante modelos matemticos. Por ejemplo, considere un circuito RLC en serie excitado por una
fuente de voltaje variante en el tiempo. La aplicacin de la ley de voltajes de kirchhoff alrededor de la
malla produce la siguiente ecuacin integro-diferencial:

v t Ri t L

di t
dt

1
i t dt
C

Este tipo de modelos no siempre son fciles de resolver a partir de mtodos analticos; en
algunos casos es de hecho imposible obtener una solucin, y en otros, sta implica procesos complejos
que para fines prcticos resultan inconvenientes.
Con los llamados mtodos numricos es posible obtener aproximaciones numricas tan
cercanas al valor exacto como se desee.
Se entender por aproximacin numrica el acercarse a la solucin con un cierto grado de
aproximacin.
La principal ventaja de los mtodos numricos es que se pueden programar en una
computadora digital, pues consisten en una serie de operaciones aritmticas y decisiones lgicas que la
computadora efecta con gran eficiencia.
Errores
Al obtener una aproximacin xa de la solucin x de un problema, es importante medir o estimar el
error que se comete al utilizar la aproximacin en lugar del valor exacto. Para ellos se definen el error
absoluto y el error relativo.
El error absoluto, representado por ea , se obtiene como el valor absoluto de la diferencia entre
el valor exacto x y la aproximacin a este valor xa , esto es,

ea x xa
La diferencia se toma en valor absoluto, debido a que no interesa si la aproximacin es mayor o
menor que el valor exacto.
El error relativo er se define como el valor absoluto del cociente de la diferencia x xa entre el
valor exacto x , esto es,

er

x xa
x

En la mayora de los casos es suficiente calcular el error absoluto para determinar si el mtodo
que proporciona el valor aproximado xa es apropiado para estimar a x ; sin embargo, como este error
tiene las mismas unidades que x , no es comparable con el error absoluto de dos aproximaciones que
corresponden a problemas y unidades diferentes.
Por otra parte, el error relativo es adimensional y presenta al error absoluto como una razn
del valor correcto, esto es,

er

ea
x

Dr. Antonio Ramos Paz

41

UMSNH

Mtodos Numricos

FIE

Por tanto, er , si se puede usar para comparar mtodos numricos que se hayan aplicado a
diferentes problemas.
En general, al efectuar una serie de operaciones aritmticas para resolver un problema, se
presentan algunos errores que pueden clasificarse, de acuerdo con su origen, en los siguientes tipos:

Errores inherentes
Errores por truncamiento
Errores por redondeo

Errores inherentes
Los errores inherentes o errores propios de los datos son aquellos que se producen al leer en algn
dispositivo de medicin una magnitud, al transmitirla o al reproducirla; son debidos a la imprecisin de
los instrumentos o a errores humanos.
Errores por truncamiento
Los errores por truncamiento son aquellos que se presentan al aproximar funciones analticas por medio
de algunos trminos de una serie infinita; esto se hace frecuentemente en los mtodos numricos
cuando es difcil realizar operaciones con alguna funcin complicada y se toman en su lugar los primeros
trminos de una serie que se aproxima a dicha funcin, truncando los dems. Tambin se presentan
cuando se utilizan nmeros irracionales, tales como 2 , e , , etc., ya que para trabajar con ellos se
toma un nmero determinado de cifras significativas y se truncan las dems.
Errores por redondeo
Por ltimo los errores de redondeo se presentan como una consecuencia directa de redondear a un
determinado nmero de cifras decimales las cantidades que se operan en un proceso de solucin.
Se puede verificar fcilmente que el error por redondeo es menor o igual que el de truncamiento. Por
esta razn, en las computadoras digitales los nmeros que tienen ms cifras decimales que las que la
mquina puede manejar se redondean al mximo nmero posible.

Ejemplo: el nmero e , con cinco cifras decimales, es igual a 2.71828; calcular el error absoluto y el
error relativo en el que se incurre en cada caso, al tomar hasta el primero, segundo, tercero y cuarto
trminos de la serie:

1
k 0 k !

Convergencia y estabilidad de un mtodo iterativo


Para facilitar el estudio de las caractersticas de los mtodos numricos, se debe considerar que stos en
general parten de uno o varios datos de entrada, y mediante la aplicacin de un algoritmo proporcionan
aproximaciones a la solucin de un modelo matemtico; es decir, se pueden considerar como un
sistema formado por datos de entrada, un algoritmo y una salida, que es la aproximacin a la solucin.
La mayora de los mtodos numricos son procesos cclicos o iterativos, en los cuales se repite una serie
de pasos y se basan en la aplicacin de las denominadas ecuaciones o formulas de recurrencia, que
relacionan dos o ms elementos consecutivos de una sucesin de nmeros, funciones, matrices, etc.

Dr. Antonio Ramos Paz

42

UMSNH

Mtodos Numricos

FIE

Ejemplo: en el ejemplo anterior se calcularon los valores del nmero e , tomando los primeros
trminos de la serie:

1
k 0 k !

calcular las mismas aproximaciones con la siguiente formula de recurrencia:

ek ek 1

1
k!

Donde ek es la k-sima aproximacin del nmero e. Ntese que ek est en funcin del valor anterior
ek-1 y, en consecuencia, se requiere de un valor inicial e0, en este caso es igual a la unidad, para
generar la sucesin e1, e2, e3, , en.

En general, los mtodos iterativos se clasifican en mtodos de aproximaciones sucesivas y mtodos de


paso a paso.
Los mtodos que parten de una aproximacin inicial x0 a la solucin x de un problema, y mediante la
aplicacin reiterada de una o varias formulas de recurrencia proporcionan aproximaciones
x1 , x2 , x3 , , xn a la solucin x , se denominan mtodos de aproximaciones sucesivas.
Por otra parte, los mtodos denominados de paso a paso son aquellos que parten de un valor inicial y se
basan en la aplicacin de una frmula de recurrencia; pero, a diferencia de los mtodos de
aproximaciones sucesivas, se utilizan para obtener aproximaciones a la solucin de una sucesin de
nmeros, en lugar de un solo valor.
Los mtodos iterativos no siempre proporcionan aproximaciones aceptables y, en muchos casos, el
error que se obtiene al aplicarlos aumenta a medida que se incrementa el nmero de iteraciones. Dos
de las principales causas del aumento del error se explican con los conceptos de convergencia y
estabilidad que a continuacin se definen.
Convergencia
Se dice que una sucesin de nmeros x1 , x2 , x3 , , xn converge a un valor x , si para todo 0 existe un
nmero entero m , tal que para todo entero n m , se cumple que:

x xn
Para determinar la convergencia de un mtodo de aproximaciones sucesivas, cuyos resultados son los
nmeros x1 , x2 , x3 , , xn no es posible aplicar la definicin anterior, debido a que no se conoce de
antemano el valor de x ; sin embargo, se puede demostrar que si el mtodo converge, la diferencia en
valor absoluto de las dos ltimas aproximaciones es menor que la diferencia en valor absoluto entre la
penltima y la antepenltima aproximaciones, es decir,

xn xn 1 xn 1 xn 2
El criterio anterior es vlido nicamente en el intervalo de xn 2 a xn ; sin embargo, al cumplirse en los
primeros valores de n, puede esperarse que la convergencia contine. Tambin se puede demostrar que
si un mtodo es convergente, la diferencia en valor absoluto entre las ltimas dos aproximaciones es
mayor o igual que el error absoluto, es decir, que esta diferencia es una cota del error absoluto, con lo
cual se puede escribir,

Dr. Antonio Ramos Paz

43

UMSNH

Mtodos Numricos

FIE

xn xn 1 ea
Entonces, si se tiene un mtodo de aproximaciones sucesivas que produzca una sucesin x1 , x2 , x3 , , xn
convergente a la respuesta buscada, se podr obtener una aproximacin a x con un error menor que
una tolerancia dada, determinando adecuadamente el valor de n .

Ejemplo: a fin de mostrar las caractersticas anteriores, en la siguiente tabla comparativa se resumen
los resultados del primer ejemplo.
Nmero de trminos n

1
2
3
4

Aproximacin
nmero e
en
1.00000
2.00000
2.50000
2.66667

del

Error absoluto
ea

Diferencias
en en 1

1.71828
0.71828
0.21828
0.01898

1.00000
0.50000
0.16667

sucesivas

Como se observa en la tabla, los valores de la ltima columna disminuyen a medida que n aumenta, y
en todos los casos en en 1 ea lo cual ilustra los criterios establecidos.

Estabilidad
Cuando en un sistema cualquiera existen variaciones pequeas en la salida que corresponden a
pequeas variaciones en la entrada se dice que el sistema es estable.
Sea E n la funcin de error, que representa el error absoluto en la salida del algoritmo, despus de n
iteraciones. En el caso de un mtodo iterativo y en especial en los mtodos de paso a paso, si E n se
incrementa en forma lineal o aproximadamente lineal, conforme n aumenta, entonces se dice que el
mtodo es estable.
En caso de que E n aumente en forma exponencial o aproximadamente exponencial, se considera
que el mtodo es inestable.

Criterios para seleccionar un mtodo numrico


Cuando se tiene un problema que puede representarse mediante un modelo matemtico, es necesario
seleccionar entre diferentes mtodos el ms adecuado para obtener una aproximacin a la solucin.
Para ello es conveniente comparar los mtodos en base en su eficiencia, la cual puede definirse segn
diferentes puntos de vista. Por ejemplo, se considera que un mtodo A es ms eficiente que otro
mtodo B si en general, con A se realizan menos operaciones que con B, es decir, si un mtodo requiere
de diez iteraciones para encontrar una aproximacin a la solucin, semejante a la que se obtendra con
otro mtodo en cinco iteraciones, entonces el ltimo es ms eficiente que el primero.
Como en la actualidad los mtodos numricos tienen la ventaja de poder programarse en una
computadora digital, tambin se puede definir la eficiencia a partir de otros criterios, como son la
facilidad para programar el mtodo en la computadora o la cantidad de memoria requerida para su

Dr. Antonio Ramos Paz

44

UMSNH

Mtodos Numricos

FIE

ejecucin. En este caso un mtodo se considera ms eficiente que otro si en general requiere de menos
instrucciones para programarse o utiliza menos cantidad de memoria.
Puede concluirse que la eficiencia de un mtodo ser relativa a las condiciones especficas bajo las
cuales se utilice.
Problemas

Dr. Antonio Ramos Paz

45

UMSNH

Mtodos Numricos

FIE

Unidad III
Solucin de Ecuaciones No Lineales
Introduccin
Uno de los problemas ms comunes en el trabajo cientfico es hallar las races de una ecuacin de la
forma,

f x 0
donde

(1)

x y f x pueden ser reales, complejas o valuadas en forma matricial. El objetivo es calcular el

x o, similarmente, los valores del vector x que satisfagan la Ecuacin (1). Estos valores son
conocidos como las races de la ecuacin (1) o ceros de f x . Generalmente no es fcil ni justificable
valor de

resolver la Ecuacin (1) en forma exacta. Es ms adecuado resolverla en forma aproximada, a un grado
de precisin pre-establecido. Esta forma de solucin requiere, por necesidad, de la aplicacin de
mtodos iterativos. Estos mtodos requieren de una solucin inicial estimada de la raz o races de la
Ecuacin (1).

En el ao de 1225 Leonardo de Pisa estudi la ecuacin


para x de 1.368808107 .

x3 2 x2 10 x 20 0 y obtuvo un valor

Estimacin inicial de la raz o races


Generalmente se determina un valor inicial aproximado de
siguientes procedimientos:
a)

x o x basndose en alguno de los

Conocimiento del rango aproximado en que se encuentra el valor de la raz, o de cada raz
buscada.

b) SI el problema es relativamente simple, graficando la funcin


c)

f x .

Haciendo una tabulacin de los valores de


2

Ejemplo: Sea la funcin

x
f x senx
2

Su grfica se muestra en la Figura 3.1,


0.1

-0.1

f(x)

-0.2

-0.3

-0.4

-0.5

-0.6

0.2

0.4

0.6

0.8

1
x

1.2

Figura 3.1

Dr. Antonio Ramos Paz

46

1.4

1.6

1.8

f x .

UMSNH

Mtodos Numricos

De la grfica puede observarse que la raz de

FIE

f x es cercana a 1.9.

f x .

Tabulando algunos valores de la funcin

f x

1.000000

-0.591471

1.100000

-0.588707

1.200000

-0.572039

1.300000

-0.541058

1.400000

-0.495450

1.500000

-0.434995

1.600000

-0.359574

1.700000

-0.269165

1.800000

-0.163848

1.900000

-0.043800

2.000000

0.090703

Puede observarse que al evaluar la funcin en x 1.9 y posteriormente en x 2.0 se ha detecta un


cambio de signo de

f x . La raz se encuentra, por lo tanto en esta regin x0 1.9, 2.0 .

Ejemplo: determine una aproximacin de las races reales de

f x 0.5x2 2.5x 4.5 .

Solucin.
Realizando la grfica para

x desde igual a 3 hasta x 8 , se tiene,


8
6
4
2
0
-2
-4
-6
-8
-4

-2

Figura 3.2

de la grfica se aprecia que una raz es cercana a x 1.4 en tanto que la segunda raz es cercana a
x 6.4 .

Mtodos de solucin
Los mtodos de solucin puede clasificarse en: mtodos cerrados y mtodos abiertos
Mtodos cerrados
Son los mtodos que aprovechan el hecho de que una funcin cambia de signo en la vecindad de una
raz. Estos mtodos necesitan de dos valores iniciales

Dr. Antonio Ramos Paz

47

a, b para ambos lados de la raz.

UMSNH

Mtodos Numricos

FIE

Mtodo de biseccin
Mtodo de la falsa posicin
Mtodo de la falsa posicin modificada

Mtodos abiertos
Son mtodos que se basan en formulas que requieren solamente de un valor inicial

x0 o que empiecen

con un par de ellos, pero que no necesariamente encierren la raz.

Mtodo de iteracin simple de punto fijo


Mtodo de Newton-Raphson
Mtodo de la secante

Mtodo de Biseccin
El mtodo de biseccin, conocido tambin como de corte binario, de particin de intervalos o de
Bolzano, es un tipo de bsqueda incremental en el que el intervalo se divide siempre a la mitad. Si la
funcin cambia de signo sobre un intervalo, se evala el valor de la funcin en el punto medio. La
posicin de la raz se determina situndola en el punto medio del subintervalo, dentro del cual ocurre el
cambio del signo.

a1
a0

b1
b0

m
Figura 3.3

En la Figura 3.3 anterior se muestra una primera iteracin del mtodo de biseccin, en dnde se aprecia
que se hace una primera aproximacin a la raz en base a m . Puede apreciarse que el producto de

f a f m es positivo, lo que indica que la raz no se encuentra en la regin comprendida entre a y


m sino en la regin comprendida entre m y b , por lo que se a toma el valor de m y b mantiene su

valor.
Algoritmo del mtodo de biseccin

Dada una funcin


1.

f x continua sobre el intervalo a0 , b0 y tal que f a0 f b0 0 .

Until convergence, Do

2.

Calcular

3.

if

f an

an1 an , bn1 m

4.
5.
6.
7.
8.

an bn
2
f m 0 then

else

an1 m , bn1 bn
endif
EndDo

Dr. Antonio Ramos Paz

48

UMSNH

Donde

Mtodos Numricos

FIE

m representa la aproximacin a la raz de f x 0

Un criterio de convergencia es que cuando la diferencia absoluta entre dos valores consecutivos de
sea menor que la tolerancia especificada, se tendr una buena aproximacin de la raz.
Ejemplo: encontrar la raz de

f x e x x entre 0 y 2.

Solucin
Se propone el siguiente cdigo en Matlab.
function [m ite] = biseccion(a,b,tol)
% Mtodo de biseccin
% La raz se encuentra en el rango de a a b
% se especifica un criterio de convergencia de tol
% m representa la aproximacin de la raiz
% ite es el nmero de iteraciones necesarias para obtener la
solucin
error = 1.0;
m = (a+b)/2;
ite = 1;
while (error > tol)
if (funcion_x(a)*funcion_x(m) <= 0)
b = m;
else
a = m;
end
m_nueva = (a+b)/2;
error = abs(m-m_nueva);
[ite error m]
m = m_nueva;
ite = ite + 1;
end

Iteracin

Error

Raz

5.000000E-01

1.000000E+00

2.500000E-01

5.000000E-01

1.250000E-01

7.500000E-01

6.250000E-02

6.250000E-01

3.125000E-02

5.625000E-01

33

1.164200E-10

5.671433E-01

34

5.821000E-11

5.671433E-01

[raiz, ite] = biseccion(0,2,1e-10)


raiz = 0.56714329036186
ite = 35

Mtodo de Regula falsi


Un inconveniente del mtodo de biseccin es que al dividir el intervalo de
se toman en consideracin las magnitudes de
ms cercana a cero que

xl a xu en mitades iguales, no

f xl y f xu . Por ejemplo, si f xl est mucho

f xu , es lgico que la raz se encuentre ms cerca de xl que de xu . Un

mtodo alternativo que aprovecha esta visualizacin grfica consiste en unir

f xl y f xu con una

lnea recta, la interseccin de esta lnea con el eje x representa una mejor aproximacin de la raz. El
hecho de que se reemplace la curva por una lnea recta da una falsa posicin de la raz; de aqu el
nombre del mtodo de la falsa posicin o en latn regula falsi.

Dr. Antonio Ramos Paz

49

UMSNH

Mtodos Numricos

FIE

f x

b, f b

w, 0

a, f a
En base a la ecuacin de la recta que pasa por dos puntos:

f b f a
0 f a
w a
ba

Despejando

w
w

f b a f a b
f b f a

Algoritmo del mtodo de la falsa posicin

Dada una funcin


1.

f x continua en el intervalo a0 , b0 y tal que f a0 f b0 0 .

Until convergence, Do

2.

Calcular

3.

if

f bn an f an bn
f bn f an

f an f w 0

then

an1 an , bn1 w

4.
5.

else

an1 w , bn1 bn

6.
7.
8.

endif
EndDo

Ejemplo: encontrar la raz de

f x e x x entre 0 y 2 por medio del mtodo de regula-falsi

Solucin
Se propone el siguiente cdigo en Matlab.

Dr. Antonio Ramos Paz

50

UMSNH

Mtodos Numricos

% Mtodo de regula falsi


function [w ite] = regula_falsi(a0,b0,tol)
% Mtodo de regula falsi
% La raz se encuentra en el rango de a a b
% se especifica un criterio de convergencia de tol
% w representa la aproximacin de la raiz
% ite es el nmero de iteraciones necesarias para obtener la
solucin
error = 1.0;
w_vieja = 0;
ite = 1;
while (error > tol)
w = (funcion_x(b0)*a0-funcion_x(a0)*b0)/(funcion_x(b0)funcion_x(a0));
if (funcion_x(a0)*funcion_x(w)<= 0)
b0 = w;
else
a0 = w;
end
error = abs(w-w_vieja);
w_vieja = w;
ite = ite + 1;
end

FIE

Iteracin

Error

Raz

6.981620E-01

0.69816198

1.166817E-01

0.58148033

1.274546E-02

0.56873488

1.414628E-03

0.56732025

1.572803E-04

0.56716297

1.748997E-05

0.56714548

1.944971E-06

0.56714353

2.162908E-07

0.56714332

2.405266E-08

0.56714329

10

2.674780E-09

0.56714329

11

2.974500E-10

0.56714329

12

3.308000E-11

0.56714329

[w ite] = regula_falsi(0,2,1e-10)
w = 0.56714329041392
ite = 12

En la Figura siguiente se aprecia el proceso que conduce a la determinacin de la raz de la funcin

f x e x x mediante el mtodo de la falsa posicin. Puede apreciarse que en la primera iteracin

se obtiene una recta que intersecta el eje de las abscisas muy alejado de la posicin donde

f x intersecta este mismo eje. Sin embargo a partir de la segunda iteracin la recta intersecta el eje

cada vez ms y ms cercano al valor de la raz de

f x .

0.12

0.1

0.08

0.06

Iteracin 1

Iteracin 4
0.04

Iteracin 3
Iteracin 2
0.02

f(x)

0
0.55

Dr. Antonio Ramos Paz

0.56

0.57

0.58

51

0.59

0.6

0.61

UMSNH

Mtodos Numricos

FIE

Mtodo de Regula falsi modificado


Una forma de disminuir la naturaleza unilateral de la falsa posicin consiste en obtener un algoritmo
que detecte cuando se estanca uno de los lmites del intervalo. Si ocurre esto, se divide a la mitad el
valor de la funcin en el punto de estancamiento. A este mtodo se le llama mtodo de la falsa
posicin modificado.
Algoritmo del mtodo de la falsa posicin modificado
Dada una funcin

Dada una funcin

f x continua sobre el intervalo a0 , b0 y tal que f a0 f b0 0 .

f x continua en el intervalo a0 , b0 y tal que f a0 f b0 0 .


F f a0 , G f b0 , w0 a0

1.

Tomar

2.

Until convergence, Do

3.

Calcular

4.

if

Gan Fbn
GF
f wn1 0 then

wn 1

f an

5.

an1 an , bn1 wn1 , G f wn1

6.

if

7.
8.
9.

f wn f wn1 0 then
F F /2

endif
else

10.

an1 wn1 , bn1 bn , F f wn1

11.

if

12.
13.
14.
15. EndDo

f wn f wn1 0 then
G G/2

end if
end if

Ejemplo: encontrar la raz de

f x e x x entre 0 y 2 por medio del mtodo regula-falsi

modificado.
Solucin
Se propone el siguiente cdigo en Matlab.

Dr. Antonio Ramos Paz

52

UMSNH

Mtodos Numricos

FIE

function [w ite] = regula_falsi_mod(a0,b0,tol)


% Mtodo de regula falsi modificado
% La raz se encuentra en el rango de a a b
% se especifica un criterio de convergencia de tol
% w representa la aproximacin de la raiz
% ite es el nmero de iteraciones necesarias para obtener la
solucin
error = 1.0;
w_vieja = 0;
ite = 1;
F = funcion_x(a0);
G = funcion_x(b0);
w0 = a0;
while (error > tol)
wn = (G*a0-F*b0)/(G-F);
if (funcion_x(a0)*funcion_x(wn) <= 0)
b0 = wn;
G = funcion_x(wn);
if (funcion_x(w0)*funcion_x(wn) > 0 )
F = F/2;
end
else
a0 = wn;
F = funcion_x(wn);
if (funcion_x(w0)*funcion_x(wn) > 0)
G = G/2;
end
end
error = abs(w0-wn);
[ite wn error]
w0 = wn
ite = ite + 1;
end

Iteracin

Error

Raz

6.981620E-01

0.69816198

1.166817E-01

0.58148033

2.494416E-02

0.55653617

1.063462E-02

0.56717079

2.744922E-05

0.56714334

1.055380E-07

0.56714324

5.266708E-08

0.56714329

0.000000E+00

0.56714329

[w,ite] = regula_falsi_mod(0,2,1e-10)
w = 0.56714329040978
ite =

Mtodo de iteracin de punto fijo


Este mtodo emplea una formula para predecir la raz. Esta formula puede desarrollarse como una
iteracin simple de punto fijo al arreglar la ecuacin

f x 0
de tal modo que

x est del lado izquierdo de la ecuacin

x g x
esta transformacin se realiza mediante operaciones algebraicas o simplemente sumando
de la ecuacin original.

Ejemplo. Sea la ecuacin

Se puede arreglar como:

Dr. Antonio Ramos Paz

x2 2 x 3 0

x2 3
2

53

x a cada lado

UMSNH

Mtodos Numricos

FIE

Ejemplo. Sea la ecuacin senx 0


Se puede arreglar como:

x senx x

Algoritmo del mtodo de de iteracin de punto fijo

Dada una funcin de iteracin


1.

Until convergence, Do

Calcular

2.
3.

g x y un punto de partida x0

xn1 g xn

EndDo

Ejemplo: encontrar la raz de


Considere

f x e x x , por medio del mtodo de iteracin de punto fijo.

x0 0

Solucin

g x e x x x e x
Se propone el siguiente cdigo en Matlab.

function [xn ite] = ite_punto_fijo(x0,tol)


% Mtodo de iteracin de punto fijo
% La raz se encuentra cercana a x0
% se especifica un criterio de convergencia de tol
% xn representa la aproximacin de la raiz
% ite es el nmero de iteraciones necesarias para obtener la
solucin
error = 1.0;
ite = 1;
while (error > tol)
xn = funcion_x2(x0);
[ite error xn]
error = abs(x0-xn);
x0 = xn;
ite = ite + 1;
end

[xn ite] = ite_punto_fijo(1,1e-10)


xn = 0.56714329038004
ite = 42

Dr. Antonio Ramos Paz

54

Iteracin

Error

Raz

1.000000E+00

0.36787944

6.321206E-01

0.69220063

3.243212E-01

0.5004735

1.917271E-01

0.60624354

1.057700E-01

0.54539579

6.084775E-02

0.57961234

3.421655E-02

0.56011546

1.949687E-02

0.57114312

39

4.504900E-10

0.56714329

40

2.554900E-10

0.56714329

41

1.449000E-10

0.56714329

UMSNH

Mtodos Numricos

FIE

Ejemplo: utilice la iteracin simple de punto fijo para localizar la raz de:
Haga una eleccin inicial de

x0 0.5 .

Ejemplo: utilice la iteracin simple de punto fijo para localizar la raz de:
una eleccin inicial de
Ejemplo:

utilice

f x x 0.2senx 0.5 .

f x 2sen x x . Haga

x0 0.5 .

la

iteracin

simple

de

punto

fijo

para

f x 2 x 11.7 x 17.7 x 5 . Haga una eleccin inicial de x0 3.0 .


3

Ejemplo: utilice la iteracin simple de punto fijo para localizar la raz de:
Haga una eleccin inicial de

x0 5.0 .

Mtodo Newton-Raphson
Considere la siguiente figura
f x

m f ' xi

f xi

xi 1

La pendiente de la curva est dada por

m
Despejando

f xi 0
f ' xi
xi xi 1

xi 1

xi 1 xi

f xi
f ' xi

Algoritmo del mtodo de Newton-Raphson

Dada una funcin


1.

3.

f x y un punto x0 .

Until convergence, Do

Calcular

2.

localizar

la

raz

de:

xn 1 xn

f xn
f ' xn

EndDo

Dr. Antonio Ramos Paz

55

xi

f x x 2 1.8x 2.5 .

UMSNH

Mtodos Numricos

FIE

Ejemplo: utilice el mtodo de Newton-Raphson para calcular la raz de

f x e x x
utilice

x0 0

Solucin

df x
e x 1
dx

Se sabe que

Se propone el siguiente cdigo en Matlab


function [xn ite] = newton_raphson(x0,tol)
% Mtodo de newton-raphson
% La raz se encuentra cercana a x0
% se especifica un criterio de convergencia de tol
% xn representa la aproximacin de la raiz
% ite es el nmero de iteraciones necesarias para obtener la
solucin
ite = 0;
error = 1.0;
while (error > tol)
xn = x0 - funcion_x3(x0) /funcion_x3_derivada(x0);
error = max(abs(xn-x0));
ite = ite + 1;
x0 = xn;
end

Iteracin

Error

Raiz

5.000000E-01

0.500000

6.631100E-02

0.566311

8.321618E-04

0.567143

1.253749E-07

0.567143

0.000000E+00

0.567143

[xn ite] = newton_raphson(0,1e-10)


xn = 0.56714329040978
ite =

Mtodo de secante
La derivada de una funcin se puede aproximar como:

f ' xn

f xn 1 f xn
xn 1 xn

sustituyendo la expresin anterior en la expresin del mtodo de Newton-Raphson,

xn 1 xn

f xn xn 1 f xn 1 xn
f xn f xn1

Dr. Antonio Ramos Paz

56

UMSNH

Mtodos Numricos

FIE

Algoritmo del mtodo de la secante

Dada una funcin


1.

f x y dos puntos xn 1 , xn .

Until convergence, Do

Calcular

2.
3.

xn 1 xn

f xn xn 1 f xn 1 xn
f xn f xn1

EndDo

Ejemplo: utilice el mtodo de la secante para calcular la raz de

f x e x x
utilice

x0 0 y x1 1

Solucin
Se propone el siguiente cdigo en Matlab
function [x2 ite] = secante(x0,x1,tol)
% Mtodo de la secante
% La raz se encuentra cercana a x0 y x1
% se especifica un criterio de convergencia de tol
% xn representa la aproximacin de la raiz
% ite es el nmero de iteraciones necesarias para obtener la
solucin
ite = 0;
error = 1.0;
while (error > tol)
x2 = x1 - funcion_x3(x1)*(x1-x0)/(funcion_x3(x1)funcion_x3(x0));
error = max(abs(x2-x1));
ite = ite + 1;
x0 = x1;
x1 = x2;
end

Iteracin

Error

Raz

3.873002E-01

0.612700

4.886145E-02

0.563838

3.331969E-03

0.567170

2.705181E-05

0.567143

1.619526E-08

0.567143

8.000000E-14

0.567143

[x ite] = secante(0,1,1e-10)
x = 0.56714329040978
ite =

Ejemplo: Calcular la raz de

f x e x x . Considere los valores iniciales: x0 0 , x1 1.0 .

Ejemplo: Calcular la raz de

f x senx cos 1 x 2 1. Considere los valores iniciales de:

a)

x0 1.0 , x1 3.0 .

b)

x0 1.5 , x1 2.5 .

c)

x0 1.5 , x1 2.25 .

Dr. Antonio Ramos Paz

57

UMSNH

Mtodos Numricos

Ejemplo: Calcular la raz de

FIE

f x 0.95x3 5.9 x2 10.9 x 6 . Considere los valores iniciales de

x0 2.5 , x1 3.5 .

f x 8sen x e x 1 . Considere los valores iniciales de x0 0.5 ,

Ejemplo: Calcular la raz de

x1 0.3 .
Evaluacin de polinomios
Considrese un polinomio de segundo grado de la forma

f x a2 x 2 a1 x a0
expresado en forma anidada es

f x a2 x a1 x a0
Considrese ahora un polinomio de tercer grado de la forma

f x a3 x3 a2 x 2 a1 x a0
expresado en forma anidada es

f x a3 x a2 x a1 x a0
Finalmente considrese un polinomio de cuarto grado

f x a4 x 4 a3 x3 a2 x 2 a1 x a0
expresado en forma anidada es

f x

a x a x a x a x a
4

En general para un polinomio de grado

fn x

a x a
n

n 1

x an2 x

Ejemplo: exprsese en forma anidada el polinomio

xa

f x x3 2 x 2 5 6

Solucin

f x x 2 x 5 x 6

Dr. Antonio Ramos Paz

58

UMSNH

Mtodos Numricos

FIE

Evaluacin de funciones polinomiales en forma anidada


Considrese un polinomio de grado 3

f3 x a3 x3 a2 x 2 a1 x a0

en forma anidada se expresa como

f3 x a3 x a2 x a1 x a0

Un pseudocdigo adecuado para realizar la evaluacin de un polinomio en forma anidada se muestra a


continuacin
for i = n, 0, -1
p = p*x + a(i)
end

f x x 2 x 5 x 6 en x 3

Ejemplo: evaluar el polinomio


Solucin
Comparando contra la forma
Haciendo

f3 x a3 x a2 x a1 x a0

p0

p 0 3 1 1

p 1 3 2 1
p 1 3 5 2
p 2 3 6 0

Ejemplo: evaluar el polinomio

f x x 4 8x3 4 x 2 3x 2 en x 2 utilizando la evaluacin de

polinomios en forma anidada.


Solucin
Llevando el polinomio a su forma anidada se tiene,

f x
Haciendo

x 8 x 4 3 2

p0

p 0 2 1 1
p 1 2 8 6
p 6 2 4 8
p 8 2 3 13
p 13 2 2 28

Dr. Antonio Ramos Paz

59

UMSNH

Mtodos Numricos

Ejemplo: utilizando matlab evaluar el polinomio

FIE

f x 6 x 4 3x3 8x 2 6 x 9 en x 1 .

Solucin.
a = [6 -3 8 -6 9];
n = 5;
p = 0;
x = 1;
for i=n:-1:1
p = p*x+a(i);
end

Deflacin polinomial
Sea un polinomio de n-simo grado de la forma,

f x an x n an1 x n1 an2 x n2

a2 x 2 a1x a0

un pseudocdigo que divide el polinomio anterior entre un factor polinomial

x t es

r = a(n)
a(n) = 0
for i=n-1,0,-1
s = a(i)
a(i) = r
r = s+r*t
end

Ejemplo: dividir el polinomio

x2 2 x 24 entre x 4

Solucin

n2

r a2 1

Para i 1

s a1 2
Para

a1 r 1

r s rt 2 1 4 6

a0 r 6

r s rt 24 6 4 0

i0

s a0 24

Por lo que el polinomio resultante de la divisin es:

a1 x a0 x 6
es decir

x 2 2 x 24
x6
x4

Dr. Antonio Ramos Paz

60

UMSNH

Mtodos Numricos

Ejemplo: utilizando matlab hacer un programa para dividir el polinomio

FIE

x2 2 x 24 entre x 4

Races mltiples
Una alternativa consiste en definir una nueva funcin

u x , que es el cociente de la funcin original

entre su derivada

u x

f x
f ' x

Se puede demostrar que esta funcin tiene races en las mismas posiciones que la funcin original. Por
lo tanto. Sustituyendo la ecuacin anterior en la ecuacin del mtodo de Newton-Raphson, se desarrolla
una forma alternativa del mtodo de Newton-Raphson,

xi 1

f xi f ' xi
f ' xi f xi f '' xi
2

Ejemplo: Con los dos mtodos estndar y el modificado, de Newton-Raphson evale la raz mltiple de
la ecuacin

x3 5 x 2 7 x 3
use un valor inicial

x0 0 .

Solucin
Utilizando el mtodo de Newton-Raphson estndar

xi 1 xi

xi3 5 xi2 7 xi 3
3xi2 10 xi 7

Para el caso del mtodo de Newton-Raphson modificado

xi 1

3
i

3x

2
i

5 xi2 7 xi 3 3xi2 10 xi 7

10 xi 7 xi3 5 xi2 7 xi 3 6 xi 10
2

Mtodo de Bairstow para la solucin de polinomios


Considrese la ecuacin polinomial

f n x a0 a1 x a2 x 2
dividiendo entre el factor

x t para dar un segundo polinomio que es de un grado menor

f n1 x b1 b2 x b3 x3
con un residuo

an x n

bn x n1

R b0 ,

Dr. Antonio Ramos Paz

61

UMSNH

Mtodos Numricos

FIE

donde los coeficientes se calculan por la relacin de recurrencia

bn an
bi ai bi 1t para i n 1 a 0
ntese que si t es una raz del polinomio original, el residuo

b0 0 .

Para permitir la evaluacin de las races complejas, el mtodo de Bairstow divide el polinomio entre un
factor cuadrtico

x2 rx s
Dividiendo

f n x a0 a1 x a2 x 2

f n2 x b2 b3 x

an x n entre x2 rx s , se obtiene,

bn1 x n3 bn x n2

con el residuo

R b1 x r b0
se utiliza ahora una relacin de recurrencia simple para realizar la divisin entre el factor cuadrtico

bn an
bn1 an1 rbn
bi ai rbi 1 sbi 2
Dado que

para i n 2 a 0

b0 y b1 son funciones de r y s , se pueden expandir usando una serie de Taylor,

b1 r r , s s b1

b1
b
r 1 s
r
s

b0 r r , s s b0

b0
b
r 0 s
r
s

Los incrementos r y s necesarios para mejorar los valores iniciales, se estiman igualando a cero las
ecuaciones anteriores para dar,

b1
b
r 1 s b1
r
s
b0
b
r 0 s b0
r
s
si las derivadas parciales de las b , pueden determinarse, hay un sistema de dos ecuaciones que se
resuelven simultneamente para las dos incgnitas r y s . Bairstow demostr que las derivadas
parciales se obtienen por divisin sinttica de las b en forma similar a como las b mismas fueron
obtenidas:

Dr. Antonio Ramos Paz

62

UMSNH

Mtodos Numricos

FIE

cn bn
cn1 bn1 rcn
ci bi rci 1 sci 2

para

i n2 a 1

donde

b0
c1
r
b0 b1

c2
s
r
b1
c3
s
as las derivadas parciales se obtienen por la divisin sinttica de las
parciales se sustituyen en las ecuaciones

b . Entonces, las derivadas

b1
b
r 1 s b1
r
s
b0
b
r 0 s b0
r
s
junto con las

b para dar,

c2 r c3s b1
c1r c2 s b0
estas ecuaciones se resuelven para r y s , las cuales, a su vez, se emplean para mejorar los valores
iniciales de r y s . En cada paso, se estima un error aproximado en r y s :

a ,r

r
100%
r

a,s

s
100%
s

cuando ambos errores especificados caen por debajo de un criterio especificado de terminacin
valores de las races se determinan mediante:

r r 2 4s
2

Dr. Antonio Ramos Paz

63

s , los

UMSNH

Mtodos Numricos

FIE

en este punto existen tres posibilidades


1.

2.

El cociente es un polinomio de tercer grado o mayor. En tal caso, el mtodo de Bairstow se


aplica al cociente para evaluar un nuevo valor de r y s . Los valores anteriores de r y s
pueden servir como valores iniciales en esta aplicacin,
El cociente es cuadrtico. Aqu es posible evaluar directamente las dos races resultantes por
medio de

3.

r r 2 4s
2

el cociente es un polinomio de primer grado. En este caso, la raz resultante se evala


simplemente como

s
r

Ejemplo: utilizar el mtodo de Bairstow para determinar las races del polinomio

f x x3 2 x 2 5 x 6
Solucin
Tomando como condicin inicial:

r s 0.5 . Para la primera iteracin

a3 1

a2 2

a1 5

a0 6

b3 1

b2 1.5

b1 5.25

b0 2.625

c3 1

c2 1

c1 5.25

c0 0.5

Formando el sistema de ecuaciones

1.0r 1.0s 5.25


5.25r 1.0s 2.625
Resolviendo

r 0.42

s 4.83

r r r 0.08

s s s 5.33

Ajustando

Para la segunda iteracin

a3 1

a2 2

a1 5

a0 6

b3 1

b2 1.92

b1 0.1764

b0 4.2195

c3 1

c2 1.84

c1 5.3592

c0 13.5980

Formando el sistema de ecuaciones

1.84r 1.0s 0.1764


5.3592r 1.84s 4.2195

Resolviendo

Dr. Antonio Ramos Paz

64

UMSNH

Mtodos Numricos

r 1.9735

FIE

s 3.4549

Ajustando

r r r 2.0535

s s s 8.7849

La Tabla siguiente muestra los valores obtenidos para r y s en 7 iteraciones, en donde se converge con
-6
un error mximo de 9.82x10 .

Se tiene que el polinomio

Iteracin

Error

0.08000000

5.33000000

4.83000000

2.05350000

8.78490000

3.45490000

1.55520000

5.94000000

2.84490000

1.03620000

6.26810000

0.51900000

1.00313600

6.00108300

0.26701700

1.00000277

6.00000982

0.00313323

1.00000000

6.00000000

0.00000982

x2 rx s es x2 x 6

Dividiendo el polinomio original entre

x2 x 6 se tiene que:

x 1
x x 6 x 2 x 5x 6
2

Por lo que,

x3 2 x 2 5x 6 x 2 x 6 x 1
factorizando el trinomio,

x 6 x 1 x 3 x 2 x 1 0

cuyas races son:

x3

x 2

x 1

Ejemplo: utilizar el mtodo de Bairstow para determinar las races del polinomio

f x x5 3.5x 4 2.75x3 2.125x2 3.875x 1.25


Utilizando los valores iniciales de r s 1 e itere hasta un nivel de

s 1% .

Solucin
Iteracin 1

a0 1.25

a1 3.875

Dr. Antonio Ramos Paz

a2 2.125

a3 2.75

65

a4 3.5

a5 1

UMSNH

Mtodos Numricos

Calculando los valores de las bs

b5 a5 1

b4 a4 rb5 3.5 11 4.5


b3 a3 rb4 sb5 2.75 1 4.5 11 6.25
b2 a2 rb3 sb4 2.125 1 6.25 1 4.5 0.375

b1 a1 rb2 sb3 3.875 1 0.375 1 6.25 10.5


b0 a0 rb1 sb2 1.25 1 10.5 1 0.375 11.375
Calculando los valores de las cs

c5 b5 1

c4 b4 rc5 4.5 11 5.5


c3 b3 rc4 sc5 6.25 1 5.5 11 10.75
c2 b2 rc3 sc4 0.375 110.75 1 5.5 4.875
c1 b1 rc2 sc3 10.5 1 4.875 110.75 16.375
Se forma ahora el sistema de ecuaciones simultneas

c1r c2 s b0
c2 r c3s b1
Sustituyendo valores

4.875r 10.75s 10.5


16.375r 4.875s 11.375
resolviendo

r 0.3558
s 1.1381
corrigiendo los valores de

r ys

r r r 0.3558 1 0.6442
s s s 1.1381 1 0.1381

Dr. Antonio Ramos Paz

66

FIE

UMSNH

Mtodos Numricos

FIE

Despus de cuatro iteraciones del mtodo, se converge en:

r 0.5

s 0.5

Por lo que se tiene que el factor cuadrtico x rx s es


polinomio original entre este polinomio se obtiene:
2

x2 0.5x 0.5 , por lo que al dividir el

x3 4 x2 5.25x 2.5
Aplicando nuevamente el mtodo de Bairstow para este polinomio y tomando como valores iniciales
para r y s los obtenidos previamente se tiene que despus de cinco iteraciones:

r2

s 1.249

por lo que el factor cuadrtico


polinomio se obtiene

x2 rx s es x2 2 x 1.249 , al dividir el polinomio entre este

x2
Por lo que las races se pueden obtener al resolver:

x2 0.5x 0.5 0
x2 2 x 1.249 0
x2 0
Las cuales son:

x1 1

Dr. Antonio Ramos Paz

x2 0.5

x3 1 0.5i

67

x4 1 0.5i

x5 2

UMSNH

Mtodos Numricos

FIE

Ejercicios propuestos Unidad 3

x3.5 80

1.

Determine la raz real de

2.

La velocidad de un paracadas que cae est dada por

gm
c/m t
1 e
c

donde

g 9.81m/s2

Para un paracadas con un coeficiente de arrastre

v 35m/s .

velocidad sea

3.

c 15 kg/s , calcule la masa de modo que la

f x x 2 0.9 x 8.5 tiene una raz real en el intervalo 2 x 3 . Cuntas

La funcin

bisecciones se requerirn para localizar su raz con una precisin de

1
106
n 1
2

Solucin

4.

Encontrar las races de

f x e x / 4 2 x 1

5.

Encontrar

positiva

6.

Encontrar

la

raz

f x cos x cosh x 1.
las
3

pequea

races

Localizar la raz ms pequea de

encuentre debajo de

posible

positivas

(diferente

de

de

la

cero)

de:

funcin:

biseccin. Use los valores iniciales

8.

ms

f x x 8.6 x 35.51x 464.4 x 998.46


4

7.

106 ?

f x 5x3 5x 2 6 x 2 utilizando el mtodo de

xl 0 y xu 1 , iterando hasta que el error estimado a se

s 10% .

Localizar la raz ms pequea de

f x 12 21x 18x 2 2.75x3 utilizando el mtodo

de la falsa posicin.
9.

ln x2 0.7 empleando el mtodo de biseccin con los valores


iniciales xl 0.5 y xu 2.0 ,
Determine la raz real de

10. Determine la raz real de

f x

0.8 0.3x
utilizando el mtodo de la falsa posicin con
x

valores iniciales de 1 a 3.
11. Determine la raz real de
iniciales de 2.0 a 5.0.
12. Resolver

x3.5 80 utilizando el mtodo de la falsa posicin con valores

x3 x 1 0 , tomando a0 1 y b0 2

Dr. Antonio Ramos Paz

68

UMSNH

Mtodos Numricos

FIE

13. Utilice la iteracin simple de punto fijo para localizar la raz de

f x 2sen

x x

haga una eleccin inicial de

x0 0.5

14. Determine las races reales de las siguientes ecuaciones


a.
b.
c.
d.
e.

x3 2 x 5 0
x3 9 x2 18x 6 0
x4 16 x3 72x2 96x 24 0
x 4 3x 1 0
x2 3x 4sen 2 x 0

15. Demostrar

que

la

aplicacin

del

mtodo

de

Newton-Raphson

la

ecuacin

1
f x 1 produce la formula recursiva zk 1 zk 2 azk
ax
16. Determine la raz real ms grande de

f x 2 x3 11.7 x 2 17.7 x 5

haga una eleccin inicial de

x0 3.0

haga una eleccin inicial de

x0 4.52

17. Determine la raz real ms grande de

f x 1 5.5x 4 x2 0.5x3
18. Localice la primera raz positiva de

f x senx cos 1 x 2 1

x est en radianes. Para localizar la raz use cuatro iteraciones del mtodo de la secante con
valores iniciales de: xi 1 1.0 y xi 3.0
donde

19. Determine la menor raz positiva de

f x 8sen x e x
20. Divida el polinomio

con el uso del mtodo de Newton-Raphson con

xi 0.3

f x x4 7.5x3 14.5x 2 3x 20 entre el monomio x 2 . es

x 2 una raz?
21. Divida el polinomio

f x x5 5x 4 x3 6 x 2 7 x 10 entre el monomio x 2 . es

x 2 una raz?
22. Utilice el mtodo de Bairstow para determinar las races de:
a)

f x 2 6.2 x 4 x 2 0.7 x3

b)

f x 9.34 21.97 x 16.3x 2 3.704 x3

c)

f x x 4 3x3 5x 2 x 10

Dr. Antonio Ramos Paz

69

UMSNH

Mtodos Numricos

FIE

Autoevaluacin Unidad 3
1. Utilice la iteracin simple de punto fijo para localizar la raz de:
una eleccin inicial de

f x 2sen x x . Haga

x0 0.5 .

f x 5x3 5x 2 6 x 2 en el intervalo de 0 a 1 utilizando el mtodo de

2. Localizar la raz
biseccin.
3. Localizar raz de
posicin.
4. Utilice

el

x3 3x2 x 9 0 entre 2 x 1 utilizando el mtodo de la falsa

mtodo

de

Newton-Raphson

x 4 x x 6 0 cercana a cero
3

Dr. Antonio Ramos Paz

70

para

determinar

la

raz

de

UMSNH

Mtodos Numricos

FIE

Unidad IV
Solucin de Sistemas de Ecuaciones Lineales y No lineales
Introduccin
Un sistema de ecuaciones lineales es aquel que tiene la forma,

a11 x1 a12 x2

a1n xn b1

a21 x1 a22 x2

a2 n xn b2

an1 x1 an 2 x2

ann xn bn

donde las

a son los coeficientes constantes y las b son los trminos independientes constantes.

Los mtodos para la solucin de sistemas de ecuaciones lineales se clasifican en: mtodos directos y
mtodos iterativos.
Algunos mtodos directos son,

Eliminacin guaussiana
Eliminacin de Gauss-Jordan

Entre los principales mtodos iterativos se tienen:

Iteracin de Jacobi
Iteracin de Gauss-Seidel
Iteracin de punto fijo

A continuacin se describen los mtodos directos para la solucin de sistemas de ecuaciones lineales.
Eliminacin guaussiana
Consideremos un sistema de
incgnitas

m ecuaciones lineales, por ejemplo, L1 , L2 , L3 , , Lm , con n

x1 , x2 , x3 , , xn que pueden ponerse en la forma convencional,

a11 x1 a12 x2

a1n xn b1

a21 x1 a22 x2

a2 n xn b2

am1 x1 am 2 x2

amn xn bm

donde las aij ,

bi son constantes.

Se dice que dos sistemas de ecuaciones lineales con las mismas incgnitas son equivalentes si tienen el
mismo conjunto solucin. Una forma de producir un sistema que sea equivalente a una dado, con
ecuaciones lineales L1 , L2 , L3 , , Lm es efectuar una sucesin de las siguientes operaciones,
llamadas operaciones elementales,

Dr. Antonio Ramos Paz

71

UMSNH

Mtodos Numricos

FIE

1) Intercambiar las ecuaciones i-sima y j-sima: Li L j

k : kLi Li , k 0
3) Sustituir la ecuacin i-sima por ella misma ms k veces la j-sima: kL j Li Li
2) Multiplicar la ecuacin i-sima por un escalar no nulo

Teorema: supongamos que de un sistema de ecuaciones lineales


sucesin finita de operaciones elementales. Entonces

se obtiene otro

mediante una

tienen el mismo conjunto solucin.

Nuestro mtodo para resolver el sistema de ecuaciones

a11 x1 a12 x2

a1n xn b1

a21 x1 a22 x2

a2 n xn b2

am1 x1 am 2 x2

amn xn bm

consta de dos pasos


1) Usar las operaciones elementales anteriores para reducir el sistema a uno equivalente ms
simple (en forma triangular escalonada),

a11 x1 a12 x2

a1n xn b1

a22 ' x2

a2 n ' xn b2 '
ann ' xn bn '

2) Usar la sustitucin hacia atrs para hallar la solucin del sistema ms simple.

bi
xi

a x

j i 1

ij

aii

para

i n, n 1,

,1

El algoritmo anterior de dos pasos para resolver un sistema de ecuaciones lineales se denomina
eliminacin gaussiana. Si se realizan operaciones entre renglones de tal forma que se obtenga una
matriz diagonal, el algoritmo se denomina eliminacin de gauss-jordan.

Ejemplo: la solucin del sistema:

x 2 y 4 z 4
5 x 11y 21z 22
3x 2 y 3z 11
Eliminacin de las xs de las filas 2 y 3

x 2 y 4 z 4
y z 2
8 y 15 z 23

Dr. Antonio Ramos Paz

72

UMSNH

Mtodos Numricos

FIE

Eliminando la y de la fila 3

x 2 y 4 z 4
y z 2
7z 7
Realizando un proceso de sustitucin hacia atrs,
ordenada

x 2 , y 1 y z 1 , o en otras palabras, la terna

2, 1,1 es la solucin nica del sistema dado.

Ejemplo: hacer una rutina en Matlab que lleve a una forma escalonada el siguiente sistema de
ecuaciones lineales con tres incgnitas.

x 2 y 4 z 4
5 x 11y 21z 22
3x 2 y 3z 11
Solucin
% Rutina que genera la forma escalonada de un sistema
aumentado AB
function A = elimi_gauss(A)
[filas columnas] = size(A);
pivote = A(1,1);
for i=1:filas
A(i,:) = A(i,:)/A(i,i);
for j=i+1:filas
A(j,:) = A(j,:)-A(j,i)*A(i,:);
end
end

>> A = [1 2 -4 -4;5 11 -21 -22;3 -2 3 11]


A=
1 2 -4 -4
5 11 -21 -22
3 -2 3 11
>> A = elimi_gauss(A)
A=
1
0
0

2 -4 -4
1 -1 -2
0 1 1

Una funcin que resuelve un sistema de ecuaciones expresado en forma de una matriz aumentada.
function x = resuelve_elimi_gauss(A)

Ejemplo: resolver el sistema siguiente utilizando


eliminacin gaussiana

[filas columnas] = size(A);


for i=1:filas
A(i,:) = A(i,:)/A(i,i);
for j=i+1:filas
A(j,:) = A(j,:)-A(j,i)*A(i,:);
end
end

x 2y z 7
2 x y 4 z 17
3x 2 y 2 z 14
>> A = [1 -2 1 7;2 -1 4 17;3 -2 2 14]

for i=filas:-1:1
suma = 0.0;
for j=i+1:filas;
suma = suma + A(i,j)*x(j);
end
x(i) = (A(i,columnas) - suma)/A(i,i);
end

A=

1 7
4 17
2 14

>> x = resuelve_elimi_gauss(A)
x=

Dr. Antonio Ramos Paz

1 -2
2 -1
3 -2

73

2 -1

UMSNH

Mtodos Numricos

FIE

Dificultades en los mtodos de eliminacin


Mientras que hay muchos sistemas de ecuaciones que se pueden resolver con la eliminacin de Gauss
simple, existen algunas dificultades que se deben analizar, antes de escribir un programa de cmputo
general donde se implemente el mtodo.

Divisin entre cero


Errores de redondeo
Sistemas mal condicionados
Sistemas singulares

Tcnicas para mejorar las soluciones

Uso de cifras significativas


Pivoteo
Escalamiento

Uso de cifras significativas: el remedio ms simple para el mal condicionamiento consiste en emplear
ms cifras significativas en los clculos. Si la computadora tiene la capacidad para usar ms cifras, esta
caracterstica reducir enormemente el problema. Sin embargo, el precio que hay que pagar en clculo y
memoria se eleva con el uso de la precisin extendida.
Pivoteo: Antes de normalizar cada rengln, resulta conveniente determinar el coeficiente ms grande
disponible en la columna debajo del elemento pivote. Los renglones se pueden intercambiar de manera
que el elemento ms grande sea el elemento pivote; esto se conoce como pivoteo parcial. Al
procedimiento, donde tanto en las columnas como en los renglones se busca el elemento ms grande y
luego se intercambian se conoce como pivoteo completo, el cual se usa en muy raras ocasiones debido a
que al intercambiar columnas se cambia el orden las x y en consecuencia, se agrega complejidad
significativa y usualmente injustificada al programa de computadora.
Escalamiento: el escalamiento es til para la estandarizacin del tamao determinante. Adems, tiene
utilidad en la minimizacin de los errores de redondeo, en aquellos casos en los que algunas de las
ecuaciones de un sistema tienen coeficientes mucho ms grandes que otros. Tales situaciones se
encuentran con frecuencia en la prctica de la ingeniera, al usar unidades muy diferentes en el
desarrollo de ecuaciones simultneas.
Gauss-Jordan
El mtodo de Gauss-Jordan es una variacin de la eliminacin de Gauss. La principal diferencia consiste
en que cuando una incgnita se elimina en el mtodo de Gauss-Jordan, sta es eliminada de todas las
otras ecuaciones, no slo de las subsecuentes. Adems todos los renglones se normalizan al dividirlos
entre su elemento pivote. De esta forma, el paso de eliminacin genera una matriz identidad en vez de
una triangular. En consecuencia, no es necesario usar la sustitucin hacia atrs para obtener la solucin.

Ejemplo: resolver el sistema de ecuaciones usando la eliminacin de Gauss-Jordan

2 x 4 y 6 z 18
4 x 5 y 6 z 24
3x y 2 z 4
Solucin

Dr. Antonio Ramos Paz

74

UMSNH

Mtodos Numricos

3
9
2 4 6 18
1 2 3 9 R R 4 R 1 2

R1 12 R1
R32 R32 3 R11

4 5 6 24
0 3 6 12
4 5 6 24
3 1 2 4
3 1 2 4
0 5 11 23

3
9 R R 2 R 1 0 1 1
1 2

R13 R13 5 R22

0 1
2
4

0 1 2 4
0 5 11 23
0 0 1 3

R2 13 R2

1 0 1 1 R R R
1 0 0 4

R12 R12 23R3

0 1 2 4
0 1 0 2
0 0 1 3
0 0 1 3

R3 R3

Obtenindose

u 4, 2,3

Mtodos iterativos
A continuacin se analizan los mtodos iterativos para la solucin de sistemas de ecuaciones
Mtodo de Jacobi

xin 1

1
aii

n
n
bi aij x j aij x j
j i

j i

Ejemplo: resolver el siguiente sistema de ecuaciones lineales por medio del mtodo de Jacobi

7 x1 2 x2 x3 2 x4 3
2 x1 8 x2 3x3 x4 2
x1 5 x3 2 x4 5
2 x2 x3 4 x4 4
Solucin
Se propone el siguiente cdigo en matlab

Dr. Antonio Ramos Paz

75

FIE

UMSNH

Mtodos Numricos

function [xn ite] = jacobi(A,B,x0,tol)


error = 1.0;
ite = 0;
tam = length(B);
while (error > tol)

>> A = [7 -2 1 2;2 8 3 1;-1 0 5 2;0 2 -1 4];


>> B = [3;-2;5;4];
>> x0 = [0 0 0 0];
>> tol = 1e-10;
>> [xn ite] =jacobi(A,B,x0,1e-10)

for i=1:tam
suma = 0.0;
for j=1:tam
if (i~=j)
suma = suma + A(i,j)*x0(j)
end
end
xn(i) = (B(i)-suma)/A(i,i);
end
error = max(abs(x0-xn));
x0 = xn;
ite = ite + 1;
end

xn =
-0.1752 -0.5338 0.4166 1.3710

ite =
44

Mtodo de Gauss-Seidel

xin 1

1
n 1
n 1
bi aij x j aij x j
aii
j i
j i

Ejemplo: resolver el siguiente sistema de ecuaciones lineales por medio del mtodo de Gauss-Seidel

7 x1 2 x2 x3 2 x4 3
2 x1 8 x2 3x3 x4 2
x1 5 x3 2 x4 5
2 x2 x3 4 x4 4
Solucin
Se propone el siguiente cdigo en matlab
function [x0 ite] = gauss_seidel(A,B,x0,tol)
error = 1.0;
ite = 0;
tam = length(B);
xant = x0;
while (error > tol)

>> A = [7 -2 1 2;2 8 3 1;-1 0 5 2;0 2 -1 4];


>> B = [3;-2;5;4];
>> x0 = [0 0 0 0];
>> tol = 1e-10;
>> [xn ite] =gauss_seidel(A,B,x0,tol)
xn =

for i=1:tam
suma = 0.0;
for j=1:tam
if (i~=j)
suma = suma + A(i,j)*x0(j)
end
end
x0(i) = (B(i)-suma)/A(i,i);
end
error = max(abs(xant-x0));
xant = x0;
ite = ite + 1;
end

Dr. Antonio Ramos Paz

-0.1752 -0.5338 0.4166 1.3710

ite =
23

76

FIE

UMSNH

Mtodos Numricos

FIE

Ejemplo: Utilizando los mtodos iterativos de Jacobi y Gauss-Seidel, determinar las corrientes de malla
indicadas en el circuito de la Figura siguiente. Utilizar como vector de condiciones iniciales

x0 0 0 0
1

10V

i1

i2

i3
1
Solucin
Por inspeccin se forma el sistema de ecuaciones

3 1 1 i1 10
1 4 1 i 0

2
1 1 3 i3 0
Utilizando las funciones desarrolladas.

A = [3 -1 -1;-1 4 -1;-1 -1 3];


B = [10;0;0];
x0 = [0 0 0];
tol = 1e-10;
Jacobi
>> [xn ite] = jacobi(A,B,x0,tol)

Gauss-Seidel
>> [xn ite] = gauss_seidel(A,B,x0,tol)

xn = 4.5833 1.6667 2.0833

xn = 4.5833 1.6667 2.0833

ite = 48

ite = 26

Mtodos para la solucin de sistemas de ecuaciones no lineales


Mtodo de iteracin de punto fijo
Ejemplo: determine las races de las siguientes ecuaciones no lineales simultneas por medio del
mtodo de la iteracin de punto fijo.

y x 2 x 0.75

(1)

y 5xy x 2

(2)

Utilice los valores iniciales de:

Dr. Antonio Ramos Paz

x y 1.2 .

77

UMSNH

Mtodos Numricos

FIE

Solucin

x puede ser despejada de (2) como:

x2 y
x
5y

Sustituyendo valores iniciales en (1)

y 1.2 1.2 0.75 0.51

Sustituyendo el valor encontrado en (2)

1.2 0.51 0.3647


x
5 0.51

Se tiene que en la iteracin 1:

x 0.3647 , y 0.51

Sustituyendo estos valores en (1)

y 0.3647 0.3647 0.75 0.9816


2

Sustituyendo el valor encontrado en (2)

0.3647 0.9816 0.1729


x
5 0.9816
2

Se tiene que en la iteracin 2: x 0.1729 ,

y 0.9816

A continuacin se propone un programa en matlab para realizar de manera automtica este proceso
iterativo.
function y = evalua_y(x,y)
y = -x^2+x+0.75;

function x = evalua_x(x,y)
x = (x^2-y)/(5*y);

clear all
x0 = 1.2;
y0 = 1.2;
error = 1.0;
tol = 1e-10;
while (error > tol)
y = evalua_y(x0,y0);
x = evalua_x(x0,y);
error = max([abs(x0-x) abs(y0-y)]);
x0 = x;
y0 = y;
[x y]
end

Dr. Antonio Ramos Paz

78

UMSNH

Mtodos Numricos

Iteracin

FIE

Error

3.647059E-01

5.100000E-01

8.352941E-01

-1.729019E-01

9.816955E-01

5.376078E-01

-1.890735E-01

5.472030E-01

4.344925E-01

-1.863860E-01

5.251777E-01

2.202531E-02

-1.868628E-01

5.288742E-01

3.696517E-03

-1.867791E-01

5.282196E-01

6.546738E-04

-1.867938E-01

5.283345E-01

1.149132E-04

-1.867912E-01

5.283143E-01

2.020245E-05

-1.867917E-01

5.283178E-01

3.550728E-06

10

-1.867916E-01

5.283172E-01

6.240967E-07

11

-1.867916E-01

5.283173E-01

1.096940E-07

12

-1.867916E-01

5.283173E-01

1.928032E-08

13

-1.867916E-01

5.283173E-01

3.388797E-09

14

-1.867916E-01

5.283173E-01

5.956304E-10

15

-1.867916E-01

5.283173E-01

1.046907E-10

16

-1.867916E-01

5.283173E-01

1.840095E-11

Ejemplo: determine las races de las siguientes ecuaciones no lineales simultneas por medio del
mtodo de la iteracin de punto fijo.

x 4 y 4
2

x 2 y 2 16
Utilice los valores iniciales de:

x y 1.2 .

Mtodo de Newton-Raphson
Ejemplo: utilizar el mtodo de Newton-Raphson para resolver el siguiente sistema de ecuaciones no
lineales.

x2 xy 10 0
y 3xy 2 57 0
Solucin
Se generan dos funciones, asociadas a cada una de las ecuaciones:

f x, y x 2 xy 10
g x, y y 3xy 2 57
Se calcula la matriz Jacobiana:

f
x
J
g
x

f
x
y 2 x y

2
g 3 y
1 6 xy
y

Dr. Antonio Ramos Paz

79

UMSNH

Mtodos Numricos

FIE

x 2 xy 10
F

2
y 3xy 57
Expresado en forma matricial el mtodo de Newton-Raphson es:

Vn1 Vn J 1 Vn F Vn
donde: Vn es el vector de condiciones iniciales.

1.5
Vn
3.5
Implementando el mtodo en Matlab.
function y = funcion_original(x)
y = [x(1)^2+x(1)*x(2)-10;x(2)+3*x(1)*x(2)^2-57];

function A = funcion_derivada(x)
A = [2*x(1)+x(2) x(1);3*x(2)^2 1+6*x(1)*x(2)];
Iteracin
% Mtodo de newton raphson para un sistema de dos
ecuaciones
% no lineales
error = 1.0;
x0 = [1.5;3.5];
tol = 1e-10;
while (error > tol)
xn = x0 - inv(funcion_derivada(x0))*funcion_original(x0);
error = max(abs(xn-x0));
error
x0 = xn;
end

Error

6.561249E-01

1.584135E-01

2.289150E-03

5.866112E-07

7.505108E-14

Ejemplo: determine las races de las ecuaciones no lineales simultneas que siguen:

x 4 x2 y 4

x 2 y 2 16
Use el mtodo grfico para obtener los valores iniciales.
Solucin.
Utilizando Maple V para obtener una aproximacin grfica hacia la solucin:
with(plots):
implicitplot({x^2+y^2=16,(x-4)*x^2+(y-4)^2=5},x=-5..5,y=-5..5);

Dr. Antonio Ramos Paz

80

UMSNH

Mtodos Numricos

Figura 4.1.

Puede apreciarse que la solucin es cercana a

x 4 e y 2.

Ejemplo: resolver el sistema de ecuaciones:

x3 4 x2 y 2 8 y 11

x 2 y 2 16
Considere las condiciones iniciales:

x y 1.0

Solucin

f x, y x3 4 x 2 y 2 8 y 11
g x, y x 2 y 2 16
Se tiene entonces que

f
x
J
g
x

f
y 3x 2 8 x 2 y 8

g 2 x
2y
y

x3 4 x 2 y 2 8 y 11
F

x 2 y 2 16

function y = funcion_original(x)
y = [x(1)^3-4*x(1)^2+x(2)^2-8*x(2)+11;x(1)^2+x(2)^2-16];

function A = funcion_derivada(x)
A = [3*x(1)^2-8*x(1) 2*x(2)-8;2*x(1) 2*x(2)];

Dr. Antonio Ramos Paz

81

FIE

UMSNH

Mtodos Numricos

Iteracin

x 3.81063593511742

FIE

Error

7.500000E-01

6.294594E-02

2.280351E-03

1.199920E-06

7.982504E-13

y 1.21616354574201

Ejemplo: Determine las races de las ecuaciones no lineales simultneas siguientes:

y x 2 x 0.75

y 5xy x 2

Dr. Antonio Ramos Paz

Emplee los valores iniciales:

82

x y 1.2

UMSNH

Mtodos Numricos

FIE

Ejercicios propuestos unidad 4


1. Para el sistema de ecuaciones siguiente

2 x2 5 x3 9
2 x1 x2 x3 9
3x1 x2 10

Resuelva por eliminacin de Gauss


Resuelva por eliminacin de Gauss-Jordan
Utilice las 3 primeras iteraciones del mtodo iterativo de Jacobi considerando el vector
de condiciones iniciales

0, 0, 0 '

2. Dado el siguiente sistema de ecuaciones lineales con tres incgnitas

2 x1 6 x2 x3 38
3x1 x2 7 x3 34
8 x1 x2 2 x3 20

Resuelva por eliminacin de Gauss


Resuelva por eliminacin de Gauss-Jordan
Utilice las 3 primeras iteraciones del mtodo iterativo de Jacobi considerando el vector
de condiciones iniciales

0, 0, 0 '

3. Determine las races de las siguientes ecuaciones no lineales simultneas por medio del mtodo
de iteracin de punto fijo

x 2 xy 10

considere

y 3xy 2 57

x 1.5 y y 3.5 como condiciones iniciales.

4. Encontrar la expresin matricial recursiva para la solucin del siguiente sistema de ecuaciones
no lineales utilizando el mtodo de Newton-Raphson

x 4 y 4
2

x y 16
2

Dr. Antonio Ramos Paz

x
considere como condiciones iniciales 0
y0

83

UMSNH

Mtodos Numricos

FIE

Unidad V
Optimizacin
Introduccin
Optimizacin no restringida unidimensional
Bsqueda de la seccin dorada
Considrese que se desea encontrar el valor mximo de la funcin

f x entre los puntos xL y xU , tal

y como se observa en la Figura 5.1.


f x
Mximo

xL

xU

Figura 5.1

El mtodo comienza con dos valores iniciales que contienen un extremo local de
eligen dos puntos interiores

f x . Despus, se

x1 y x2 de acuerdo a la razn dorada

5 1
xu xl
2

x1 xl d

x2 xu d

la funcin se evala en estos dos puntos interiores. Dos casos pueden presentarse
1.

Si,

f x1 f x2 , entonces el dominio de x a la izquierda de x2 , de xl a x2 se puede

eliminar ya que no contiene el mximo. En este caso,

x2 ser el nuevo xl en la siguiente

iteracin.
2.

Si,

f x2 f x1 , entonces el dominio de x a la derecha de x1 , de x1 a xu se puede

eliminar ya que no contiene el mximo. En este caso,

x1 ser el nuevo xu en la siguiente

iteracin.
f x
Mximo

f x2

f x1

Eliminar

xL

xU

x2 x1
f x2 f x1

Figura 5.2

Dr. Antonio Ramos Paz

84

UMSNH

Mtodos Numricos

FIE

Ejemplo: Use la bsqueda dorada para encontrar el mximo de:

x2
f x 2senx
10

Dentro del intervalo

xl 0 y xu 4 .

Solucin.
Se propone el siguiente cdigo en matlab
% busqueda dorada
xl = 2;
xu = 4;
tol = 1e-10;
error = 1;
while (error > tol)
d = (sqrt(5)-1)*(xu-xl)/2.0;
x1 = xl+d;
x2 = xu-d;
a = bd(x1);
b = bd(x2);
if (a > b)
xl = x2;
end
if (b > a)
xu = x1;
end
error = abs(xu-xl)
end

Ejemplo: determinar en forma analtica y en forma numrica utilizando la bsqueda de la seccin


dorada el valor mximo para:

f x x 2 8x 12 , usando xU 5 y xL 0 .

Solucin.
Analticamente:

f ' x 2 x 8

Haciendo

f ' x 0

Se tiene que,

x4

Evaluando

f 4 4

Por lo que la funcin tiene un mximo en

Pmax 4, 4

A continuacin se muestran las cuatro primeras iteraciones del mtodo de la bsqueda de la seccin
dorada.

Iteracin

xL

xU

x1

x2

f x1

f x2

xU xL

3.090170

1.909830

5.000000

3.090170

1.909830

3.172209

-0.368810

3.090170

1.909830

3.090170

5.000000

3.819660

3.090170

3.967478

3.172209

1.909830

1.180340

3.090170

4.270510

4.270510

3.819660

3.926824

3.967478

1.180340

0.729490

3.541020

4.270510

3.819660

3.541020

3.967478

3.789337

0.729490

23

0.000078

3.999940

4.000018

4.000018

3.999988

4.000000

4.000000

0.000078

Dr. Antonio Ramos Paz

85

UMSNH

Mtodos Numricos

FIE

De los datos contenidos en la tabla se aprecia que para 23 iteraciones el rango de bsqueda tiende a 4,
en tanto que la funcin tiende a 4. Estos valores coinciden con lo calculado analticamente.
Interpolacin cuadrtica.
La interpolacin cuadrtica aprovecha la ventaja de que un polinomio de segundo grado con frecuencia
proporciona una buena aproximacin a la forma

f x en las cercanas de un valor ptimo. Esto se

muestra en la Figura 5.3

f x

Mximo real

Aproximacin
cuadrtica del
mximo

Funcin cuadrtica

Funcin real

x0

x1

x3

x2

Figura 5.3

x3
Donde

f x0 x12 x22 f x1 x22 x02 f x2 x02 x12

2 f x0 x1 x2 2 f x1 x2 x0 2 f x2 x0 x1

x0 , x1 y x2 son los valores iniciales y x3 es el valor de x que corresponde al valor mximo del

ajuste cuadrtico para los valores iniciales.


Ejemplo: Utilice la interpolacin cuadrtica para aproximar el mximo de

f x 2senx
Con los valores iniciales de

x2
10

x0 0 , x1 1 y x2 4

Solucin.

Dr. Antonio Ramos Paz

86

UMSNH

Mtodos Numricos

FIE

% Programa que determina el mximo de


% f(x) = 2sen(x) -x^2/10
% por medio del mtodo de interpolacin cuadrtica
% con x0 = 0, x1 = 1 y x2 = 4
error = 1.0;
tol = 1e-8;
i = 1;
x0 = 0;
x1 = 1;
x2 = 4;
while (error > tol)
f_x0 = funcion_f_x(x0);
f_x1 = funcion_f_x(x1);
f_x2 = funcion_f_x(x2);
num = f_x0*(x1^2-x2^2)+f_x1*(x2^2-x0^2)+f_x2*(x0^2-x1^2);
den = 2*f_x0*(x1-x2)+2*f_x1*(x2-x0)+2*f_x2*(x0-x1);
x3 = num/den;
f = funcion_f_x(x3);
% [i x0 f_x0 x1 f_x1 x2 f_x2 x3 f]
error = abs(x1-x3);
if (x3 > x1)
x0 = x1;
x1 = x3;
else
x2 = x1;
x1 = x3;
end
i = i +1;
error
end

function y = funcion_f_x(x)
y = 2*sin(x) -x^2/10;

Iteracin

x0

f x0

x1

f x1

x2

f x2

x3

f x3

0.0000

0.0000

1.0000

1.5829

4.0000

-3.1136

1.5055

1.7691

1.0000

1.5829

1.5055

1.7691

4.0000

-3.1136

1.4903

1.7714

1.0000

1.5829

1.4903

1.7714

1.5055

1.7691

1.4256

1.7757

1.0000

1.5829

1.4256

1.7757

1.4903

1.7714

1.4266

1.7757

1.4256

1.7757

1.4266

1.7757

1.4903

1.7714

1.4275

1.7757

Mtodo de Newton
El mtodo de Newton-Raphson es un mtodo abierto que permite encontrar la raz de
funcin de tal manera que

xi 1 xi

f x 0 . El mtodo se resume como

x de una

f xi
f ' xi

Si se utiliza un mtodo abierto similar para encontrar un valor ptimo de


funcin

g x f ' x ,
As como el mismo valor ptimo

Dr. Antonio Ramos Paz

x*

87

f x al definir una nueva

UMSNH

Mtodos Numricos

Satisface ambas funciones

f ' x * g x * 0

Se emplea lo siguiente

xi 1 xi

FIE

f ' xi
f '' xi

Como una tcnica para encontrar el mnimo o mximo de

f x .

Ejemplo: Encuentre el mximo de

f x 2senx
Con un valor inicial de

x2
10

x0 2.5

Solucin.

f ' x 2cos x

x
5

f '' x 2senx

1
5

Realizando las iteraciones

Iteracin

f ' x

f '' x

error

2.500000E+00

-2.102287E+00

-1.396944E+00

1.504918E+00

9.950816E-01

8.898527E-01

-1.877607E+00

4.739292E-01

1.469011E+00

-9.058233E-02

-2.189649E+00

4.136843E-02

1.427642E+00

-1.973395E-04

-2.179542E+00

9.054172E-05

1.427552E+00

-1.169790E-09

-2.179516E+00

5.367200E-10

1.427552E+00

0.000000E+00

-2.179516E+00

0.000000E+00

% Programa que determina el mximo de


% f(x) = 2sen(x) -x^2/10
% utilizando el mtodo de Newton-Raphson
% con x0 = 2.5
x0 = 2.5;
error = 1.0;
tol = 1e-10;
i = 1;
while (error > tol)
xnueva = x0 - derivada(x0)/segunda_derivada(x0);
error = abs(x0-xnueva);
[i x0 derivada(x0) segunda_derivada(x0) error]
x0 = xnueva;
i = i +1;
end

function y = derivada(x)
y = 2*cos(x) -x/5;

function y = segunda_derivada(x)
y = -2*sin(x) -1/5;

Dr. Antonio Ramos Paz

88

UMSNH

Mtodos Numricos

Programacin lineal:

gi x1 , x2 , x3 ,

donde:

un problema de optimizacin es lineal si

FIE

f x1 , x2 , x3 ,

, xn y cada

, xn son lineales en cada uno de sus argumentos; esto es si:

f x1 , x2 , x3 ,

, xn c1 x1 c2 x2

gi x1 , x2 , x3 ,

, xn ai1 x1 ai 2 x2

c j y aij i 1, 2,3,

, m; j 1, 2,3,

cn xn
ain xn

, n son constantes conocidas.

Ejemplo: Un expendio de carnes de la ciudad acostumbra preparar la carne para albondign con una
combinacin de carne molida de res y carne molida de cerdo. La carne de res contiene 80 % de carne y
20 % de grasa, y le cuesta a la tienda 20 centavos por libra; la carne de cerdo contiene 68 % de carne y
32 % de grasa, y le cuesta 60 centavos por libra. Qu cantidad de cada tipo de carne debe emplear la
tienda en cada libra de albondign, si se desea minimizar el costo y mantener el contenido de grasa no
mayor del 25 %?
Solucin:
Sea

x1 la cantidad en libras de carne de res


x2 la cantidad en libras de carne de cerdo

El costo de la libra de albondign ser la funcin objetivo, el cual es:

z 80 x1 60 x2
Este costo est sujeto a las siguientes restricciones:

0.2 x1 0.32 x2 0.25 dado que la cantidad total por libra de albondign no tiene que exceder el 25
% de contenido en grasa.
Adems:

x1 x2 1 dado que la suma de ambas cantidades de carnes tiene que ser igual a 1 libra.
Por lo tanto el problema lo podemos escribir como:
Minimizar:

z 80 x1 60 x2

Sujeto a:

0.2 x1 0.32 x2 0.25

Con:

x1 x2 1
x1 , x2 0

Dr. Antonio Ramos Paz

89

UMSNH

Mtodos Numricos

FIE

Ejemplo: Un fabricante de muebles tiene 6 unidades de madera y 28 horas disponibles, durante las
cuales fabricar biombos decorativos. Con anterioridad se han vendido bien dos modelos, de manera
que se limitar a producir estos dos modelos. Estima que el modelo I requiere 2 unidades de madera y
7 horas de tiempo disponible, en tanto que el modelo II requiere 1 unidad de madera y 8 horas. Los
precios de los modelos son $ 120 y $ 80 respectivamente. Cuntos biombos de cada modelo debe
fabricar si desea maximizar sus ingresos por ventas?

Solucin:
Sea:

x1 la cantidad de biombos fabricados del modelo I


x2 la cantidad de biombos fabricados del modelo II

Entonces la funcin objetivo se puede escribir como:

z 120 x1 80 x2
La cual estar sujeta a las siguientes restricciones:

2 x1 x2 6

dado que para fabricar el modelo I se requieren 2 unidades de madera y para fabricar

el modelo II se requiere solamente 1 unidad de madera, adems de que solamente se dispone de 6


unidades de madera.
La siguiente restriccin est asociada con el tiempo disponible de produccin, el cual es de mximo 28
horas, y dado que para fabricar el modelo I se requieren 7 horas y para fabricar el modelo II se
requieren 8 horas se tiene que:

7 x1 8x2 28
El problema lo podemos escribir de la siguiente manera:
Maximizar:

z 120 x1 80 x2

Sujeto a:

2 x1 x2 6
7 x1 8x2 28

Condiciones de no negatividad
Cualquier variable que no haya sido sujeta a restriccin de no negatividad, se reemplaza por la
diferencia entre dos nuevas variables que tengan esta restriccin.

Dr. Antonio Ramos Paz

90

UMSNH

Mtodos Numricos

FIE

Ejemplo: Consideremos el siguiente problema de programacin lineal:

Sujeto a:

Z 2 x1 x2
x1 x2 5

Con:

x1 0

Maximizar;

En este problema de programacin lineal aparecen dos variables x1 y x2. La variable x1 tiene la
condicin de no negatividad, sin embargo la variable x2 no tiene esta condicin. Lo que se puede hacer
es sustituir a x2 por la diferencia entre dos nuevas variables x3 y x4 las cuales sean no negativas, es
decir,

x2 x3 x4
entonces se tiene que:
Maximizar;

Z 2 x1 x3 x4

Sujeto a:

x1 x3 x4 5

Con:

x1 , x3 , x4 0

Variables de holgura y variables superfluas


Una restriccin lineal de la forma

a x
ij

bj

se puede convertir en una ecuacin, agregando una nueva variable no negativa al lado izquierdo de la
desigualdad. Esta variable es numricamente igual a la diferencia entre el lado izquierdo y el derecho de
la desigualdad, y se conoce como variable de holgura. Representa el desperdicio involucrado en esta
fase del sistema, cuyo modelo est dado por la restriccin.

Ejemplo: convirtase la siguiente desigualdad en igualdad

4 x1 5x2 3x3 5x4 30000

el lado izquierdo de esta desigualdad es el modelo correspondiente al nmero de horas empleadas


para ensamblar todas las consolas de los televisores, mientras que el lado derecho es el total de horas
disponibles. Esta desigualdad se transforma en la ecuacin:

4 x1 5x2 3x3 5x4 x5 30000


al aadir la variable de holgura

x5 al lado izquierdo de la desigualdad. Aqu x5 representa el nmero

de horas de ensamble de que dispone, pero no usa el fabricante.

Una restriccin lineal de la forma

a x
ij

bj

puede convertirse en una ecuacin, restando una nueva variable no negativa del lado izquierdo de la
desigualdad. Esta variable es numricamente igual a la diferencia entre el lado izquierdo y derecho de la

Dr. Antonio Ramos Paz

91

UMSNH

Mtodos Numricos

FIE

desigualdad, y se conoce como variable superflua. Esta variable representa el exceso de entrada en esta
fase del sistema cuyo modelo est dado por la restriccin.

Ejemplo: convirtase la siguiente desigualdad en igualdad

4 x1 6 x2 x3 54

El lado izquierdo de esta desigualdad representa la salida combinada de mineral de grado alto
proveniente de tres minas, mientras que el lado derecho es el tonelaje mnimo del material requerido
para cumplir con las obligaciones del contrato. Esta desigualdad se transforma en la ecuacin:

4 x1 6 x2 x3 x4 54
al restar la variable superflua

x4 del lado izquierdo de la desigualdad. Aqu x4 representa la cantidad

de mineral de grado alto extrada por encima de la cantidad necesaria para cumplir el contrato.

Generacin de una solucin factible inicial


Despus de que todas las restricciones lineales se han transformado en igualdades, introduciendo
variables de holgura y superfluas, donde sea necesario, se agrega una nueva variable llamada variable
artificial al lado izquierdo de cada ecuacin de restricciones que no contenga una variable de holgura. A
hora cada ecuacin de restriccin contendr o una variable de holgura o una variable artificial. Una
solucin inicial no negativa para este nuevo conjunto de restricciones se obtiene haciendo cada variable
de holgura y cada variable artificial igual al lado derecho de la ecuacin en la cual aparecen y haciendo
las otras variables, incluyendo las variables superfluas iguales a cero.

Ejemplo: consideremos el siguiente conjunto de restricciones:

x1 2 x2 3
4 x1 5 x2 6
7 x1 8 x2 15
El sistema anterior se puede convertir en un sistema de ecuaciones de restricciones, sumando una
variable de holgura a la primera restriccin, restando una variable superflua y aadiendo una variable
artificial a la segunda desigualdad y aadiendo una variable artificial a la tercera ecuacin, con lo que se
tiene:

x1 2 x2 x3 3
4 x1 5 x2 x4 x5 6
7 x1 8 x2 x6 15
Ahora, cada una de las ecuaciones de restricciones contiene o una variable de holgura o una variable
artificial. Igualando las variables de holgura y las variables artificiales al lado derecho de las
desigualdades y haciendo las otras variables iguales a cero, se tiene:

Dr. Antonio Ramos Paz

92

UMSNH

Mtodos Numricos

FIE

x1 0
x 0
2
x3 3

x4 0
x5 6

x6 15
Costos de penalizacin
La introduccin de las variables de holgura y superfluas no altera la naturaleza de las restricciones ni al
objetivo. Por consiguiente, estas variables se incorporan a la funcin objetivo con coeficientes cero. Las
variables artificiales, sin embargo, cambian la naturaleza de las restricciones. Ya que se agregan solo a
un lado de la desigualdad, el nuevo sistema es equivalente al sistema anterior de restricciones solo si las
variables artificiales son cero. Para garantizar estas condiciones en la solucin ptima (en contraste con
la solucin inicial), las variables artificiales se incorporan en la funcin objetivo con coeficientes positivos
muy grandes si se trata de un problema de minimizacin o con coeficientes negativos muy grandes si se
trata de un problema de maximizacin. Estos coeficientes que se denotan M o M, donde M se
considera un nmero positivo muy grande, representan el severo costo de penalizacin en el que se ha
incurrido al hacer una asignacin unitaria a las variables artificiales.

Ejemplo: Poner en su forma estndar el siguiente problema de programacin lineal:


Maximizar:

z 80 x1 60 x2
0.20 x1 0.32 x2 0.25

Sujeto a:

x1 x2 1

Solucin:
Agregando una variable de holgura a la primera restriccin y una variable artificial a la segunda
restriccin. Se agrega en la funcin objetivo el costo de penalizacin asociado con la introduccin de x4,
es un valor negativo ya que es un problema de maximizacin.
Maximizar:

Sujeto a:

z 80 x1 60 x2 0 x3 Mx4

0.20 x1 0.32 x2 x3 0.25


x1 x2 x4 1

En forma matricial:

x1
x
z 0.20 0.32 0 M 2
x3

x4
Sujeto a:

Dr. Antonio Ramos Paz

93

UMSNH

Mtodos Numricos

FIE

x1

0.20 0.32 1 0 x2 0.25

1
1
0 1 x3 1


x4
x1
x
2 0
x3

x4

Ejemplo: Pngase en su forma estndar el siguiente problema de programacin lineal:


Maximizar:

z 5x1 2 x2

6 x1 x2 6
4 x1 3x2 12

Sujeto a:

x1 2 x2 4
Solucin:
Se restan a cada una de las restricciones variables superfluas. A continuacin se aaden variables
artificiales. Tanto las variables superfluas como las variables artificiales se aaden a la funcin objetivo.
Las primeras con coeficientes cero y las segundas con coeficientes muy grandes negativos.
Maximizar:

z 5x1 2 x2 0 x3 0 x4 0 x5 Mx6 Mx7 Mx8

6 x1 x2 x3 x6 6
Sujeto a:

4 x1 3x2 x4 x7 12
x1 2 x2 x5 x8 4

Expresando el sistema en forma matricial se tiene:

z 5 2 0 0 0 M

x1
x
2
x3

x
M 4
x5

x6
x
7
x8

Sujeto a:

Dr. Antonio Ramos Paz

94

UMSNH

Mtodos Numricos

FIE

x1
x
2
x3
6 1 1 0 0 1 0 0 6
4 3 0 1 0 0 1 0 x4 12

x
1 2 0 0 1 0 0 1 5 4
x6
x
7
x8
con:

x1

x2

x3

x4

x5

x6

x7

x8 ' 0

Forma estndar o tpica de un problema de programacin lineal


Un problema de programacin lineal est en forma estndar si todas las restricciones son igualdades y si
se conoce una solucin factible. En notacin matricial, la forma estndar es:
Minimizar

z CT

Sujeto a:

AX B

Con:

X 0

Donde: X es el vector columna de incgnitas, incluyendo todas las variables de holgura, superfluas y
artificiales.
Ejemplo: pngase en la forma estndar el siguiente problema de programacin lineal:
Maximizar:

z 5x1 2 x2

Sujeto a:

6 x1 x2 6

4 x1 3x2 12
x1 2 x2 4
con:

x1 , x2 0

Solucin:
Restando las variables superfluas

x3 , x4 y x5 a los lados izquierdos de las desigualdades 1, 2 y 3 se

tiene que el problema de programacin lineal se convierte en,


Maximizar:

z 5x1 2 x2 0 x3 0 x4 0 x5

Sujeto a:

6 x1 x2 x3 6
4 x1 3x2 x4 12
x1 2 x2 x5 4

Dr. Antonio Ramos Paz

95

UMSNH

Mtodos Numricos

FIE

x1 , x2 , x3 , x4 , x5 0

con:

Llevando el problema a una representacin matricial se tiene:

x1
x
2
Z 5 2 0 0 0 x3

x4
x5

Maximizar:

Sujeto a:

x1

6 1 1 0 0 x2 6
4 3 0 1 0 x 12

3
1 2 0 0 1 x4 4
x5
con:

x1

x2

x3

x4

x5 0
T

Mtodos de solucin.
Para la solucin de un problema de programacin lineal existen diferentes tipos de mtodos. Entre los
ms utilizados se cuentan los siguientes:

Mtodo grfico
Mtodo algebraico
Mtodo Simplex.

A continuacin se describirn cada uno de estos mtodos, en base a ejemplos.


Mtodo grfico
Consideremos el siguiente problema de programacin lineal:
Un a compaa manufacturera fabrica dos productos, A y B. Esta compaa es demasiado afortunada,
pues es capaz de vender todos los productos que puede producir. Tal como lo indica la Tabla 3.3 cada
producto requiere un tiempo de manufacturacin en los tres departamentos. En la Tabla 3.4 se indica el
hecho de que cada departamento tiene actualmente una cantidad fija de horas-hombre disponibles por
semana. El problema consiste en decidir que cantidad de cada producto debe manufacturarse con el
objeto de hacer un mejor empleo de los medios limitados de produccin. Se supone que la ganancia
por cada unidad de producto es A es $1 en tanto que por cada unidad del producto B es de $1.50.

Producto
A
B

Dr. Antonio Ramos Paz

Tabla 3.3
Tiempo de manufacturacin, horas
Departamento I
Departamento II
Departamento III
2
1
4
2
2
2

96

UMSNH

Mtodos Numricos

Departamento
I
II
III

FIE

Tabla 3.4
Horas-hombre disponibles
por semana
160
120
280

Solucin:
Sea
x la cantidad de produccin del producto A
y la cantidad de produccin del producto B
se puede definir como funcin objetivo la ganancia, la cual es:

z x 1.5 y
la cual est sujeta a las siguientes restricciones:
El tiempo de manufacturacin en el departamento I es:

2 x 2 y el cual tiene que ser menor al tiempo disponible de produccin en este departamento, el cual
es de 160 horas, por lo que:

2 x 2 y 160
El tiempo de manufacturacin en el departamento II es:
x 2 y el cual tiene que ser menor al tiempo disponible de produccin en este departamento, el cual
es de 120 horas, por lo que:

x 2 y 120
Finalmente, el tiempo de manufacturacin en el departamento III es:

4 x 2 y el cual tiene que ser menor al tiempo disponible de produccin en este departamento, el cual
es de 280 horas, por lo que:
4 x 2 y 280
Finalmente, podemos expresar el problema de la siguiente manera:
Maximizar:

z x 1.5 y

Sujeto a:

Con

2 x 2 y 160

(1)

x 2 y 120

(2)

4 x 2 y 280

(3)

x, y 0

A continuacin se procede a la solucin de este problema por medio del mtodo grfico. Primeramente
procedemos a realizar la grfica de la primera restriccin

Dr. Antonio Ramos Paz

97

UMSNH

Mtodos Numricos

FIE

2 x 2 y 160
Si hacemos

x 0 se tiene que:

2 0 2 y 160
por lo que,

2 y 160
por tanto,

160
80
2

tenemos entonces el punto


Si hacemos ahora

0,80

y 0 se tiene que,

2 x 2 0 160
o bien,

2 x 160

por lo que,

160
80
2

tenemos ahora el segundo punto por donde pasa la recta, el punto,

80, 0

La Figura siguiente muestra la grfica de la recta,


90
80
70
60

50
40
30
20
10
0
0

20

40

60

80

100

120

Procedemos ahora a realizar la grfica de la segunda restriccin sobre este mismo plano,

x 2 y 120
Si

x 0 , se tiene que:

Dr. Antonio Ramos Paz

98

UMSNH

Mtodos Numricos

FIE

0 2 y 120
por lo que:

2 y 120
es decir,

120
60
2

por lo que tenemos el punto,

0, 60
Si

y 0 , se tiene que,

x 2 0 120
o bien,

x 120
ahora tenemos el punto,

120, 0
procedemos a realizar la grfica de la segunda restriccin,
90
80
70
60
Restriccin 1

40

Restriccin 2

50

30
20
10
0
0

50

100
x

Procedemos finalmente a realizar la grfica de la tercera restriccin en el mismo plano,

4 x 2 y 280
Si x 0 , se tiene que,

4 0 2 y 280
o bien,

Dr. Antonio Ramos Paz

99

UMSNH

Mtodos Numricos

FIE

2 y 480
despejando

480
240
2
se tiene el punto, 0, 240
y

Si

y 0 , se tiene que,

4 x 2 0 280
por lo que,

4 x 480
despejando

480
120
4

por lo que se tiene el punto,

120, 0
procedemos a realizar la grfica,
160
140
120

100

Restriccin 1

80

Restriccin 2
Restriccin 3

60
40
20
0
0

50

100
x

Puede observarse de la Figura anterior una regin en dnde se satisfacen las tres restricciones. En la
Figura siguiente se maximiza esa regin y se muestran las coordenadas de sus vrtices,

Dr. Antonio Ramos Paz

100

UMSNH

Mtodos Numricos

FIE

160
140
120

100

Restriccin 1
Restriccin 2
Restriccin 3

80

0, 60

60

40, 40

40
60, 20

20
0
0, 600

50

70, 0

100

A continuacin procedemos a evaluar la funcin objetivo en cada uno de los vrtices del polgono de
solucin. (Uno de los cules est asociado con la solucin ptima).
Vrtice

0, 0

z x 1.5 y
sustituyendo valores,

z 0 1.5 0 0
Vrtice

40, 40
z x 1.5 y

sustituyendo valores,

z 40 1.5 40 100
Vrtice

60, 20
z x 1.5 y

sustituyendo valores,

z 60 1.5 20 90
Vrtice

70, 0
z x 1.5 y

sustituyendo valores,

z 70 1.5 0 70
Puede apreciarse que el valor ms grande de la funcin objetivo es z 100 , el cual est asociado con
el vrtice

40, 40 . Por lo que podemos afirmar que la solucin ptima es:

Dr. Antonio Ramos Paz

101

x 40 , y 40

UMSNH

Mtodos Numricos

FIE

Mtodo algebraico
Consideremos el siguiente problema de programacin lineal:
Maximizar:

z 3x1 2 x2

Sujeto a:

x1 x2 20

x1 15
x1 3x2 45
3x1 5x2 60
Convirtiendo las desigualdades en igualdades por medio de la adicin de variables de holgura se tiene:

x1 x2 x3 20
x1 x4 15
x1 3x2 x5 45
3x1 5x2 x6 60
Se puede apreciar que el problema de programacin lineal consiste en resolver un sistema de 4
ecuaciones con 6 incgnitas. Dado que esto no es posible, haremos de manera arbitraria dos variables
iguales a cero, esto har que el sistema se convierta en un sistema de ecuaciones de 4 ecuaciones con
cuatro incgnitas. A continuacin se muestran las combinaciones de las variables:

x1 x2
x1 x3
x1 x4

x2 x3
x2 x4

x3 x4

x1 x5
x1 x6

x2 x5
x2 x6

x3 x5
x3 x6

x4 x5
x4 x6

x5 x6

El nmero de combinaciones se puede obtener como:

6
6!
6 5 4 3 2 1 30

15

2 2! 6 2 ! 2 1 4 3 2 1 2
Ahora haremos un anlisis de cada uno de los 15 casos, en donde evaluaremos la funcin objetivo. La
solucin ptima ser aquella que est asociada con el valor ms grande de Z .

Solucin:

x1 0
x3 20

Funcin objetivo:

z 3x1 2 x2 3 0 2 0 0

Caso 1: suponer:

Dr. Antonio Ramos Paz

x2 0
x4 15

102

x5 45

x6 60

UMSNH

Mtodos Numricos

Caso 2: suponer:
Solucin:

x1 0
x2 20

x3 0
x4 15

FIE

x5 15

x6 40

No es factible debido a que existen dos valores negativos en la solucin

Caso 3: suponer:

x1 0

x4 0

x1 0

x5 0

x2 15

x3 5

No es factible

Caso 4: suponer:
Solucin:

x4 15

x6 16

No es factible debido a que existen dos valores negativos en la solucin

x1 0

x6 0

Solucin:

x2 12

x3 8

Funcin objetivo:

z 3x1 2 x2 3 0 2 12 24

Caso 5: suponer:

Caso 6: suponer:
Solucin:

x2 0

x3 0

x1 20

x4 5

x4 15

x5 25

x5 9

x6 120

No es factible debido a que existen dos valores negativos en la solucin

x2 0

x4 0

Solucin:

x1 15

x3 5

Funcin objetivo:

z 3x1 2 x2 3 15 2 0 45

Caso 7: suponer:

Caso 8: suponer:
Solucin:

x2 0

x5 0

x1 45

x3 25

x5 30

x4 30

No es factible debido a que existen dos valores negativos en la solucin

Dr. Antonio Ramos Paz

103

x6 105

x6 195

UMSNH

Mtodos Numricos

Caso 9: suponer:
Solucin:

x2 0

x6 0

x1 20

x3 40

FIE

x4 35

x5 65

No es factible debido a que existen dos valores negativos en la solucin

x3 0

x4 0

Solucin:

x1 15

x2 5 x5 15

Funcin objetivo:

z 3x1 2 x2 3 15 2 5 55

Caso 10: suponer:

x6 80
Mximo valor

x3 0

x5 0

Solucin

x1 7.5

x2 12.5

Funcin objetivo :

z 3x1 2 x2 3 7.5 2 12.5 47.5

Caso 11: suponer:

Caso 12: suponer:

x3 0

x6 0

Solucin:

x1 5

x2 15

x4 7.5

x4 10

x6 20

x5 5

No es factible debido a que existen dos valores negativos en la solucin

Caso 13: suponer:


Solucin:

x4 0

x5 0

x1 15

x2 10

x3 5

x6 55

No es factible debido a que existen dos valores negativos en la solucin

Caso 14: suponer:


Solucin:

x4 0

x6 0

x1 15

x2 21

x3 16

x5 33

No es factible debido a que existen dos valores negativos en la solucin

x5 0

x6 0

Solucin:

x1 3 143

13
x2 13 14

Funcin objetivo:

13
z 3x1 2 x2 3 3 143 2 13 14
37.5

Caso 15: suponer:

Dr. Antonio Ramos Paz

104

x3 2 12
14

11
x6 11 14

UMSNH

Mtodos Numricos

FIE

Mtodo Simplex
El mtodo simplex es un procedimiento matricial para resolver programas lineales, expresados en la
forma estndar:
Minimizar

z CT

Sujeto a:

AX B

Con:

X 0

A continuacin se resolver un problema de programacin lineal por medio del mtodo simplex, en
donde se detallarn cada uno de los pasos de este mtodo.
Ejemplo: Resolver el problema anterior utilizando el mtodo simplex:
Maximizar:

z 3x1 2 x2

Sujeto a:

x1 x2 20

x1 15
x1 3x2 45
3x1 5x2 60
Como primer paso llevaremos el problema de programacin lineal a su forma cannica, es decir, se
convertirn cada una de las desigualdades en igualdades, por medio de la adicin de variables de
holgura y variables superfluas en donde sea necesario. Adems se adicionar una variable artificial en
cada una de las ecuaciones de restriccin que no contengan variables de holgura. En base a esto, el
problema de programacin lineal se convierte en:
Minimizar:

z 3x1 2 x2

Sujeto a:

x1 x2 x3 20
x1 x4 15
x1 3x2 x5 45
3x1 5x2 x6 60

Como siguiente paso se har la representacin del problema de programacin lineal en base a un
Tableau, el cual se muestra a continuacin.

x1

x2

x3

x4

x5

x6

x3

20

x4
x5
x6

15

45

-3

60

-3

-2

Una vez representado el problema de programacin lineal en el Tableau, se procede a seleccionar el


elemento ms negativo de la funcin objetivo, el cual es -3. Una vez encontrado este valor se procede a

Dr. Antonio Ramos Paz

105

UMSNH

Mtodos Numricos

FIE

encontrar la relacin ms pequea no negativa entre los elementos de la columna b, con los elementos
de la columna que contiene el elemento ms negativo de la funcin objetivo. Estas relaciones son:
20/1 = 20
15/1 = 15
45/1 = 45
60/-3 = -20
Se observa que la relacin ms pequea no negativa es 15/1 = 15. La interseccin entre la columna con
el elemento ms negativo de la funcin objetivo y la relacin ms pequea b/x es el elemento 1 (el cual
se muestra sombreado). Lo que haremos ahora ser seleccionar este elemento como un pivote y
haremos ceros los elementos por encima y por debajo de l por medio de operaciones entre renglones.
Haciendo ceros los elementos por encima y por debajo del pivote:

R1 R1 R2
1

1 1

0 0

20

1 0 0 1 0 0 15
0

1 1 1 0 0

R3 R3 R2
1

3 0

1 0

45

1 0 0 1 0 0 15
0

3 0 1 1 0

30

R4 R4 3R2
3 5 0 0 0 1

60

0 0 3 0 0

45

5 0 3 0 1 105

R5 R5 3R2
3 2 0 0 0 0

0 3 0 0 15

2 0 3 0 0 15

Dr. Antonio Ramos Paz

106

UMSNH

Mtodos Numricos

FIE

Colocando los renglones modificados en el Tableau:

x1

x2

x3

x4

x5

x6

x3
x1
x5
x6

-1

15

-1

30

105

-2

15

Antes de continuar se hace un cambio en la variable asociada con la fila que contiene la relacin b/x, en
este caso x4, por la variable contenida en la columna con el elemento ms negativo x1.
Podemos observar que la fila asociada con la funcin objetivo contiene un elemento negativo, por lo
que el proceso se repite.
Seleccionando el elemento ms negativo de la funcin objetivo, el cual es -2,
5/1 = 5
30/3 = 10
105/5 = 21
Haciendo ceros los elementos por debajo del pivote:

R3 R3 3R1
0

1 1 0

30

0 3 3

0 0 15

1 0

15

R4 R4 5R1
0

3 0 1 105

0 5 5 5 0 0 25
0

5 8 0 1

80

R5 R5 2R1

0 2 0

0 0 15

2 2 0 0 10

0 0 25

Dr. Antonio Ramos Paz

107

UMSNH

Mtodos Numricos

FIE

Colocando los elementos en el Tableau:

x2
x1
x5
x6

x1

x2

x3

x4

x5

x6

-1

15

-3

15

-5

80

25

Dado que todos los coeficientes asociados con la funcin objetivo son positivos, se ha llegado al final del
proceso iterativo, siendo las variables bsicas: x2 , x1 , x5 y x6 , con los valores de:

x2 5

x1 15

x5 15

x6 80

Estos valores se obtienen simplemente igualando cada una de las variables de la primera columna con el
trmino de la columna b.
Ahora procedemos a evaluar la funcin objetivo, con lo que se tiene:

z 3x1 2 x2

z 3 15 2 5 55
Esto significa que la solucin ptima al problema de programacin lineal est asociada con

x2 5

x1 15

x5 15

x6 80

x3 0

x4 0

La cual maximiza a la funcin objetivo con un valor de 55 cumpliendo todas y cada una de las
restricciones asociadas con las funciones objetivo y la condicin de no negatividad de las variables.
Optimizacin multidimensional no restringida
Mtodos Directos

Bsqueda Aleatoria
Bsquedas univariadas y bsquedas patrn

Mtodos con gradiente

Gradientes y hessianos
Mtodo de la mxima inclinacin
Mtodos avanzados del gradiente

Dr. Antonio Ramos Paz

108

UMSNH

Mtodos Numricos

FIE

Problemas propuestos unidad 5

2
f x 2senx 2sen2 x sen3x en 1,3
3
x 2.5
2. Determinar el mximo de la funcin f x
en 1.9,1.9
4 x2
1. Determinar el mximo de la funcin

ex
x2

0.5,3

3. Determinar el mximo de la funcin

f x

4. Determinar el mximo de la funcin

f x 4 x3 8x 2 11x 5 en 0, 2

en

5. Una refinera produce dos tipos de gasolinas sin plomo, regular y extra, las cuales vende a su
cadena de estaciones de servicio en $ 12 y $ 14 por barril respectivamente. Ambos tipos se
preparan del inventario de la refinera en base a petrleo nacional refinado y petrleo
importado refinado y deben de cumplir las especificaciones contenidas en la Tabla 2.1:

Tabla 2.1

Presin Mxima

Regular
Extra

23
23

Octanaje mnimo

88
93

Demanda mxima
en
barriles/semana
100,000
20,000

Entregas mnimas
en
barriles/semana
50,000
5,000

Las caractersticas del inventario de petrleo refinado son mostradas en la Tabla 2.2:
Tabla 2.2

Presin de vapor
Nacional
Importado

25
15

Octanaje
87
98

Inventarios,
barriles
40,000
60,000

Costo/Barril
8
15

Qu cantidad de los dos petrleos (tanto nacional como importado) deber mezclar la refinera en
ambas gasolinas, a fin de maximizar las ganancias por semana?
6. Dos productos A y B son hechos en un departamento de manufactura que tiene 120hrs
disponibles, 4hrs son necesarias para cada unidad A y 3 para cada unidad B, adems se
requieren 4lbs de un cierto ingrediente por unidad de A y 5 por unidad B. para poder
deshacernos de un exceso de existencias del material se desea que cuando menos se utilicen
200lbs.

Dr. Antonio Ramos Paz

109

UMSNH

Mtodos Numricos

FIE

Unidad VI
Ajuste de curvas
Introduccin

n muestras definidas por los puntos

Considrese el problema de ajustar un conjunto de

x1, y1 , x2 , y2 ,

, xn , yn a una recta de la forma

y a0 a1 x e

(1)

donde

a0 , a1 son constantes que representan la ordenada al origen y la pendiente de la recta


respectivamente, en tanto que e es la diferencia entre el modelo y las observaciones.

xn , yn

y
x4 , y4

x5 , y5
x2 , y2

x3 , y3

x1 , y1
x
Figura 6.1

Reacomodando (1),

e y a0 a1 x

(2)

Minimizando la suma de los cuadrados de los residuos entre la


n

y calculada y la y medida

Sr e yi ,medida yi ,calculada yi a0 a1 xi
i 1

2
i

i 1

Derivando con respecto a

(3)

i 1

a0 y a1 ,

n
Sr
2 yi a0 a1 xi
a0
i 1

(4a)

n
Sr
2 yi a0 a1 xi xi
a1
i 1

(4b)

Dr. Antonio Ramos Paz

110

UMSNH

Mtodos Numricos

FIE

igualando a cero
n

i 1

i 1

i 1

0 yi a0 a1 xi
n

i 1

i 1

i 1

(5a)

0 yi xi a0 xi a1 xi2

(5b)

resolviendo este sistema de ecuaciones se tiene que:


n

a1

n xi yi xi yi
i 1

i 1

i 1

(6a)

n x xi
i 1
i 1
n

2
i

a0 y a1 x

(6.b)

Ejemplo: determine la recta por mnimos cuadrados para los datos representados por los puntos:

1, 0 , 2,1 , 3, 4 , 4, 7 , 5,9 .

Solucin. En la siguiente tabla se muestran los elementos necesarios para utilizar la expresin (6.a)

Por lo que se tiene que,

xy

x2

ycalculada

-0.6

1.8

12

4.2

28

16

6.6

45

25

15

21

87

55

a1 2.4

a0 3

Finalmente

y 3 2.4 x
10
8

6
Datos reales

Datos ajustados

2
0
-2

4
x

Dr. Antonio Ramos Paz

111

UMSNH

Mtodos Numricos

FIE

Ejemplo: La Tabla 1 muestra la tasa de natalidad en los EUA durante 1920-1980, en intervalos de 10
aos.
a. Hallar la recta de mnimos cuadrados que ajuste esos datos
b. Calcular los valores de tendencia y compararlos con los verdaderos
Tabla 1
Tasa de natalidad por
cada 1000 habitantes
27.7
21.3
19.4
24.1
23.7
18.4
15.9

Ao
1920
1930
1940
1950
1960
1970
1980
Regresin Polinomial

y a0 a1 x a2 x2 e

(7)

Sr yi a0 a1 xi a x
n

2
2 i

i 1

(8)

derivando con respecto a cada uno de los coeficientes desconocidos


n
Sr
2 yi a0 a1 xi a2 xi2
a0
i 1

(9.a)

n
Sr
2 yi a0 a1 xi a2 xi2 xi
a1
i 1

(9.b)

n
Sr
2 yi a0 a1 xi a2 xi2 xi2
a2
i 1

(9.c)

igualando a cero y reordenando


n

i 1

i 1

i 1

na0 a1 xi a2 xi2 yi

(10.a)

i 1

i 1

i 1

i 1

i 1

i 1

i 1

i 1

a0 xi a1 xi2 a2 xi3 xi yi

a0 xi2 a1 xi3 a2 xi4 xi2 yi

Dr. Antonio Ramos Paz

112

(10.b)

(10.c)

UMSNH

Mtodos Numricos

FIE

Ejemplo: Ajustar una parbola de mnimos cuadrados, a los datos contenidos en la Tabla 2.
Tabla 2

X
0
1
2
3
4
5
6

Y
2.4
2.1
3.2
5.6
9.3
14.6
21.9

Solucin

x
0

y
2.4

x^2

x^3

x^4

xy

x^2y

ajustada

2.5095

2.1

2.1

2.1

2.0428

3.2

16

6.4

12.8

3.0427

5.6

27

81

16.8

50.4

5.5092

9.3

16

64

256

37.2

148.8

9.4423

14.6

25

125

625

73

365

14.842

21.9

36

216

1296

131.4

788.4

21.7083

21

59.1

91

441

2275

266.9

1367.5

Se forma el sistema de ecuaciones

7a0 21a1 91a2 59.1


21a0 91a1 441a2 266.9
91a0 441a1 2275a2 1367.5
Resolviendo

a0 2.5095

a1 1.2

a2 0.7333

y 2.5095 1.2 x 0.7333x 2

Finalmente se tiene que


Graficando

25
20
Datos reales

15

Datos
ajustados

10
5
0
0

Dr. Antonio Ramos Paz

113

UMSNH

Mtodos Numricos

FIE

Interpolacin
Generalmente los resultados de clculos numricos o experimentacin cientfica resultan en valores de
una funcin nicamente a valores discretos de la variable independiente, tal como se ilustra en la Figura
6.2.

f x5
f x4
f x3

f x2
f x1
x1

x2

x3

x4

x5

Figura 6.2 Representacin discreta de f(x)

f x pueden o no estar especificados uniformemente a lo largo del eje x .

Los valores de

La interpolacin consiste en el uso de mtodos numricos para encontrar un valor o valores de

f x entre los puntos tabulados.

Si este o estos valores buscados de

f x caen fuera del rango de x , entonces las tcnicas utilizadas se

conocen como de extrapolacin.


El mtodo ms comn de interpolacin es el de interpolacin polinomial, que est basado en la formula
general de un polinomio de n-esimo orden descrito como:

f x a0 a1 x a2 x 2

an x n

(11)

Para n 1 puntos, existe un polinomio de n-simo orden que pasa a travs de todos los puntos. Tal
como se ilustra en la Figura 6.3.

(a)

(b)
Figura 6.3 Ejemplos de interpolacin polinomial
(b)

Dr. Antonio Ramos Paz

(a) Primer orden, lineal.


Segundo orden, cuadrtica o parablica (conexin de tres puntos)
(c) Tercer orden, cbica (conexin de cuatro puntos)

114

(c)

UMSNH

Mtodos Numricos

FIE

Formula de Gregory-Newton

Se asume que la funcin es analtica sobre el rango completo de inters.

Es posible encontrar el valor de

f x en cualquier punto utilizando series de Taylor alrededor

de uno de los puntos tabulados.


Por ejemplo, la expansin en series de Taylor alrededor de

f x f 0 xf ' 0

x0 es:

x2
x3
f '' 0
f ''' 0
2!
3!

xn n
f 0
n!

(12)

Utilizando expresiones de diferencias tal como:

f ' 0

f 0 h
f '' 0
h 2

(13)

La ec. (8) puede escribirse en la forma:

f x f 0 x f 0

x x 1 2
x x 1 x 2 3
f0
f0
2!
3!

(14)

Interpolacin con diferencias dividas de Newton


Es uno de los ms populares y sencillos mtodos de interpolacin. Se ilustra en forma grfica en la
Figura 6.4.

f x
f x1
f1 x

f x0

x0

x1

Figura 6.4 Interpolacin con diferencias divididas de Newton

De la Figura 6.4, utilizando tringulos semejantes se puede escribir la siguiente relacin:

f1 x f x0 f x1 f x0

x x0
x1 x0
Tal que el valor buscado

Dr. Antonio Ramos Paz

(15)

f ' x se puede calcular como:

115

UMSNH

Mtodos Numricos

f1 x f x0

f x1 f x0
x x0
x1 x0

FIE

(16)

Note que la ecuacin (16) es una formula de interpolacin lineal. Es ms precisa mientras menor es el
intervalo entre los puntos.

Ejemplo: calcular mediante interpolacin lineal el valor de

ln 2 , cuyo valor exacto es 0.69314718. Se

tienen los siguientes valores:

ln1 0
ln 4 1.3862944
Solucin
Se tiene que:

x0 1

f x0 0

x1 4

f x1 1.3862944

x2

f x ?

Sustituyendo valores en (16)

f x 0

1.3862944 0
2 1
4 1

Realizando operaciones

f x 0

1.3862944 0
2 1
4 1

f x 0.462098

Interpolacin cuadrtica

Este mtodo es superior al de interpolacin lineal.

Introduce cierta curvatura en la lnea que conecta a los puntos considerados de

Requiere de tres datos para poder efectuar la interpolacin mediante un polinomio de segundo
orden (cuadrtico o parablico).

Grficamente se puede representar como se ilustra en la Figura 6.5.

Dr. Antonio Ramos Paz

116

f x .

UMSNH

Mtodos Numricos

FIE

f x
Valor
verdadero

Valor
aproximado

x
Figura 6.5 Interpolacin cuadrtica para calcular f(x)

El polinomio de segundo orden puede expresarse como:

f 2 x b0 b1 x x0 b2 x x0 x x1

(17)

o en forma compacta desarrollando la ecuacin (17):

f 2 x a0 a1 x a2 x 2

(18)

a0 b0 b1 x0 b2 x0 x1

(19a)

a1 b1 b2 x0 b2 x1

(19b)

a2 b2

(19c)

donde:

b0 , b1 y b2 , esto se realiza mediante el siguiente procedimiento.

Se requiere calcular los coeficientes


i)

Para calcular

b0 se hace x x0 en la ecuacin (17), obtenindose:

b0 f x0
ii)

Para obtener

(20)

b1 se sustituye ahora la ecuacin (20) en la (17), haciendo ahora

x x1 (con lo que f 2 x f1 x ). Es decir,

f x1 f x0 b1 x1 x0
b1
iii)

(21)

f x1 f x0
x1 x0

(22)

b2 , las ecuaciones (22) y (20) se sustituyen en la ecuacin (17)


donde ahora se hace x x2 . La ecuacin resultante se resuelve para b2 ,
Para calcular
resultando:

Dr. Antonio Ramos Paz

117

UMSNH

Mtodos Numricos

FIE

f x2 f x1 f x1 f x0

x2 x1
x1 x0
b2
x2 x0

(23)

Ejemplo: calcular mediante interpolacin cuadrtica el valor de

ln 2 , cuyo valor exacto es

0.69314718. Se tienen los siguientes valores:

x0 1

f x0 0

x1 4

f x1 1.3862944

x2 6

f x2 1.7917595

Solucin
Aplicando las ecuaciones (20), (22) y (23) se tiene:

b0 Ln 1 0

b1

1.3862944 0
0.49209813
4 1

1.7917595 1.3862944
0.49209813
64
b2
0.051873116
6 1
sustituyendo estos valores en la ecuacin (17) se obtiene:

f 2 x 0 0.42209813 x 1 0.051873116 x 1 x 4
Evaluando en

x 2 , se tiene que,

f 2 2 0.56584436
Forma general de interpolacin de Newton
Este mtodo general de interpolacin se basa en el ajuste obtenido por un polinomio de n-simo orden
y n 1 puntos. Su forma es la siguiente:

f n x b0 b1 x x0 b2 x x0 x x1

bn x x0 x x1

x xn1
(24)

Se requiere ahora la evaluacin de

b0 , b1 , b2 ,, bn asociadas con x0 , x1 , x2 ,, xn y f x0 ,

f x1 , f x2 ,, f xn .
Dr. Antonio Ramos Paz

118

UMSNH

Mtodos Numricos

Los coeficientes

FIE

b se calculan mediante las relaciones siguientes:

b0 f x0

(25a)

b1 f x1 , x0

(25b)

b2 f x2 , x1 , x0

(25c)

bn f xn , xn1 ,

, x1 , x0

(25d)

Las funciones entre corchetes son diferencias divididas finitas. Por ejemplo, la forma general de las
funciones descritas en las ecuaciones (25b)-(25d) se representa generalmente como:

f xi , x j

f xi f x j

f xi , x j , xk
f xn , xn1 ,

(26a)

xi x j

f xi , x j f x j , xk
xi xk

, x1 , x0

f xn , xn1 ,

(26b)

, x1 f xn1 , xn2 ,

, x0

(26c)

xn x0

Note que la ecuacin (24) puede ahora escribirse como:

f n x f x0 x x0 f x1 , x0 x x0 x x1 f x2 , x1 , x0

x x0 x x1

x xn1 f xn , xn1,

, x0

(27)
No es necesario que los datos utilizados en la ecuacin (27) estn igualmente espaciados.
Ejemplo: utilice ahora la forma general de interpolacin de Newton para calcular

ln 2 . Emplee un polinomio de

interpolacin de tercer orden.

x0 1

f x0 0

x1 4

f x1 1.3862944

x2 6

f x2 1.7917595

x3 5

f x3 1.6094370

Solucin
La ecuacin (24), toma la forma:

f3 x f x0 x x0 f x1 , x0 x x0 x x1 f x2 , x1 , x0 x x0 x x1 x x2 f x3 , x2 , x1 , x0
o

f3 x b0 b1 x x0 b2 x x0 x x1 b3 x x0 x x1 x x2

Dr. Antonio Ramos Paz

119

UMSNH

Mtodos Numricos

FIE

Las diferencias divididas, ecuaciones (26), sern:

f x1 , x0

1.3862944 0
0.46209813
4 1

f x2 , x1

1.7917595 1.3862944
0.20273256
64

f x3 , x2

1.6094379 1.7917595
0.18232160
56

f x2 , x1 , x0
f x3 , x2 , x1

f x2 , x1 f x1 , x0
x2 x1
f x3 , x2 f x2 , x1

f x3 , x2 , x1 , x0

x3 x1

0.20273256 0.46209813
0.051873116
6 1

0.18232160 0.20273256
0.020410950
54

f x3 , x2 , x1 f x2 , x1 , x0
x3 x0

0.020410950 0.051873116
0.0078655415
5 1

Sustituyendo las diferencias divididas calculadas previamente en la ecuacin (24a) da:

f3 x 0 0.46209813 x 1 0.051873116 x 1 x 4 0.007865541 x 1 x 4 x 6


haciendo ahora x 2 se tiene:

f3 2 0.62876869
Note que la aproximacin obtenida es considerablemente mejor que la obtenida mediante la aplicacin de
interpolacin cuadrtica.

Dr. Antonio Ramos Paz

120

UMSNH

Mtodos Numricos

FIE

Problemas propuestos Unidad 6


1.

Ajstese un polinomio cbico a los datos contenidos en la Tabla siguiente,


Tabla

x
f x

3
2.5

4.5
1.0

7.0
2.5

9.0
0.5

En base al polinomio obtenido, determinar:


a)

f x 5

b)

f x 6.5

c)

f x 3.5

d)

f x 3.8

2.

Utilizar una parbola de regresin de mnimos cuadrados para resolver el ejercicio anterior.

3.

Una integral relacionada con la integral elptica completa est definida por:

K k

/2

dx
1/ 2

1 sen 2 ksen 2 x

A partir de una tabla de valores de estas integrales se han hallado que para varios valores de
medidos en grados,

K k

1
4
6

1.5709
1.5727
1.5751

Hallar los valores de:


a)

K 4.5

b)

K 3.5

c)

K 2.5

d)

K 1.5

por medio de interpolacin cuadrtica.

4.

Utilizar una parbola de regresin de mnimos cuadrados para resolver el ejercicio anterior.

5.

Utilizando Interpolacin cuadrtica, calcular mediante el valor de


0.69314718. Se tienen los siguientes valores:

Dr. Antonio Ramos Paz

x0 1

f x0 0

x1 4

f x1 1.3862944

x2 6

f x2 1.7917595

121

ln 3 , cuyo valor exacto es

UMSNH

6.

Mtodos Numricos

FIE

Utilizando la formula general de interpolacin de Newton, determine los coeficientes

b0 , b1 ,

b2 y b3 del polinomio de tercer orden que ajuste los datos contenidos en la Tabla siguiente.

x
f x
Determine el valor de

x 1.5

Dr. Antonio Ramos Paz

0
0

1
0.569

2
0.791

3.8
0.224

f x para:
x 1.87

122

x 3.0

UMSNH

Mtodos Numricos

FIE

Unidad VII
Diferenciacin e integracin
Diferenciacin
La derivada de la funcin

f ' x0 lim
h 0

f en x0 es

f x0 h f x0
h

Aproximacin a la primera derivada con diferencia hacia delante


f x
Derivada verdadera

Aproximacin

h
xi

xi 1

Figura 7.1. Diferencia hacia delante

f ' xi

f xi 1 f xi
O xi 1 xi
xi 1 xi

(7.1)

Aproximacin a la primera derivada con diferencia hacia atrs


f x
Derivada verdadera

Aproximacin

h
xi 1
xi
Figura 7.2. Diferencia hacia atrs

f ' xi

f xi f xi 1 f1

h
h

Dr. Antonio Ramos Paz

(7.2)

123

UMSNH

Mtodos Numricos

FIE

Aproximacin a la primera derivada con diferencias centradas


f x
Derivada verdadera

Aproximacin

2h
xi 1

f ' xi

xi 1
Figura 7.3. Diferencia centrada

f xi 1 f xi 1
O h2
2h

(7.3)

Formulas de cinco puntos

f ' x0

1
h 4 5
f
f x0 2h 8 f x0 h 8 x0 h x0 2h
12h
30

otra formula de cinco pasos es

f ' x0

1
25 f x0 48 f x0 h 36 x0 h x0 2h 16 f x0 3h 3 f x0 4h
12h

h 4 5
f
5

Ejemplo: los valores de

Aproximar

f x xe x estn dados en la tabla siguiente


x

f x

1.8
1.9
2.0
2.1
2.2

10.889365
12.703199
14.778112
17.148957
19.855030

f ' 2.0

Dr. Antonio Ramos Paz

124

UMSNH

Mtodos Numricos

FIE

Ejemplo: use aproximaciones con diferencias finitas hacia delante y hacia atrs de
aproximacin de diferencia centrada de

O h 2 para estimar la primera derivada de:

O h y una

f x 0.1x 4 0.15x3 0.5x 2 0.25x 1.2


en

x 0.5 utilizando h 0.5 .

Solucin

xi 1 0.0

f xi 1 1.2

xi 0.5

f xi 0.925

xi 1 1.0

f xi 1 0.2

Utilizando diferencias divididas hacia delante

f ' xi

f xi 1 f xi 0.2 0.925

1.45
xi 1 xi
1.0 0.5

Utilizando diferencias divididas hacia atrs

f ' xi

f xi f xi 1 0.925 1.2

0.55
h
0.5

Utilizando la diferencia centrada

f ' xi

f xi 1 f xi 1 0.2 1.2

1.0
2h
1

La siguiente tabla muestra los valores de la derivada utilizando diferencias divididas hacia delante, hacia
atrs y diferencia centrada, tomando valores de h desde 1 hasta 0.01. Los resultados se comparan
contra el valor exacto. Se muestra adems el error relativo.

xi

1.00000 0.5

xi-1

xi+1

f(xi)

f(xi-1)

f(xi+1)

Exacto
Adelante Error relativo Atrs
Error relativo Centrada Error relativo
-0.50000 1.50000 0.92500 1.21250 1.31250 -0.91250 -2.23750 1.45205E+00 -0.28750 6.84932E-01 -1.26250 -3.83562E-01

0.50000 0.5

0.00000 1.00000 0.92500 1.20000 0.20000

-0.91250 -1.45000 -5.89041E-01

-0.55000 3.97260E-01

-1.00000 -9.58904E-02

0.10000 0.5

0.40000 0.60000 0.92500 1.00784 0.82464

-0.91250 -1.00360 -9.98356E-02

-0.82840 9.21644E-02

-0.91600 -3.83562E-03

0.01000 0.5

0.49000 0.51000 0.92500 0.93404 0.91579

-0.91250 -0.92129 -9.62751E-03

-0.90378 9.55079E-03

-0.91253 -3.83562E-05

0.00100 0.5

0.49900 0.50100 0.92500 0.92591 0.92409

-0.91250 -0.91338 -9.59288E-04

-0.91163 9.58521E-04

-0.91250 -3.83562E-07

0.00010 0.5

0.49990 0.50010 0.92500 0.92509 0.92491

-0.91250 -0.91259 -9.58942E-05

-0.91241 9.58866E-05

-0.91250 -3.83545E-09

Dr. Antonio Ramos Paz

125

UMSNH

Mtodos Numricos

Ejemplo: Use los datos siguientes para encontrar la velocidad en


Tiempo
t,s
Posicin
x,m

FIE

t 10s segundos.

10

12

14

16

0.7

1.8

3.4

5.1

6.3

7.3

8.0

8.4

Use aproximaciones con diferencias finitas hacia delante, hacia atrs y una aproximacin de diferencia
centrada.
Solucin

Con diferencias finitas hacia adelante:

Con diferencias finitas hacia atrs:

f ' 10

f ' 10

Con diferencia centrada:

f 12 f 10 7.3 6.3

0.5
12 10
2

f 10 f 8 6.3 5.1

0.6
10 8
2

f ' 10

f 12 f 8 7.3 5.1

0.55
2 2
4

Ejemplo: A partir de los datos de la tabla siguiente, hallar

f ' 1.4 , usando aproximaciones con

diferencias finitas hacia delante, hacia atrs y una aproximacin de diferencia centrada

f x

1.2
1.3
1.4
1.5
1.6

1.5095
1.6984
1.9043
2.1293
2.3756

Solucin
Con diferencias finitas hacia adelante:

f ' 1.4

f 1.5 f 1.4 2.1293 1.9043

2.25
1.5 1.4
0.1

Con diferencias finitas hacia atrs:

f ' 1.4

f 1.4 f 1.3 1.9043 1.6984

2.059
1.4 1.3
0.1

Con diferencia centrada:

f ' 1.4

f 1.5 f 1.3 2.1293 1.6984

2.1545
2 0.1
0.2

Dr. Antonio Ramos Paz

126

UMSNH

Mtodos Numricos

FIE

f ' 0.900 , utilizando los siguientes

Ejemplo: use los valores de la tabla siguiente para aproximar


valores para

h : 0.001, 0.002, 0.005, 0.010, 0.020, 0.050, 0.1.

senx

senx

0.800
0.850
0.880
0.890
0.895
0.898
0.899

0.71736
0.75128
0.77074
0.77707
0.78021
0.78208
0.78270

0.901
0.902
0.905
0.910
0.920
0.950
1.000

0.78395
0.78457
0.78643
0.78950
0.79560
0.81342
0.84147

Ejemplo: En un circuito RL con un voltaje impreso

t L

t , la ley voltajes de kirchhoff establece que:

di
Ri
dt

considere las siguientes mediciones realizadas en el circuito,

t
i

1.00
3.10

aproxime los valores de

1.01
3.12

t para

1.02
3.14

1.03
3.18

1.04
3.24

los tiempos mostrados en la tabla anterior. Considere

R 0.142 y L 0.98H .
Integracin
El propsito principal de las tcnicas numricas de integracin es evaluar integrales que son muy
difciles de evaluar analticamente.
Es esencial en la evaluacin de integrales de funciones que se tienen disponibles nicamente en puntos
discretos. Tales funciones generalmente resultan de la solucin numrica de ecuaciones diferenciales o
de datos experimentales tomados a intervalos discretos.
Regla del trapecio
La regla del trapecio es la primera de las formulas cerradas de integracin de Newton-Cotes.
Corresponde al caso donde el polinomio de

I f x dx f1dx
b

(7.4)

es una funcin lineal, es decir

f1 a0 a1 x f a

f b f a
x a
ba

el rea bajo esta lnea recta es una aproximacin de la integral de


b
f b f b

I f a
x a dx
a
ba

Dr. Antonio Ramos Paz

127

(7.5)

f x entre los lmites a y b :


(7.6)

UMSNH

Mtodos Numricos

FIE

el resultado de la integracin es

I b a

f a f b
2

(7.7)

que se denomina regla del trapecio.


Regla del trapecio de aplicacin mltiple
Considrese la Figura 7.4
f x

x0

x1 x2 x3

x4 x5

x6 x7

x8 x9 x10 x11

Figura 7.4.

Considrese n 1 puntos igualmente espaciados, por consecuencia existen


ancho,

n segmentos del mismo

ba
n

(7.8)

haciendo

a x0

(7.9a)

b xn

(7.9b)

la integral completa se representa como

I h

f x0 f x1
f x1 f x2
h

2
2

f xn1 f xn
2

(7.10)

agrupando trminos

n 1
h

f
x

2
f xi f xn

2
i 1

Dr. Antonio Ramos Paz

(7.11)

128

UMSNH

Mtodos Numricos

Ejemplo: resolver la integral

/4

FIE

cos 2 x 1
dx .
cos 2 x 1

Solucin.
Se propone el siguiente cdigo en matlab donde ha sido implementada la regla trapezoidal de aplicacin
mltiple.
function integral = trapecio(a,b,n)
h = (b-a)/n;
suma = 0;
cont = a+h;
for i=1:n-1
suma = suma + evalua(cont);
cont = cont + h;
end
integral = (h/2.0)*(evalua(a)+evalua(b)+2*suma);

>> trapecio(0,pi/4,100)
ans = -0.214622397855635
>>

function y = evalua(x)
y = (cos(2*x)-1)/(cos(2*x)+1);

En la siguiente tabla se muestra la solucin del mismo problema utilizando valores de n desde 1 hasta
100000 en donde se observa que se obtiene un error de 2.065143E-11
n

Ejemplo: Aproxime la integral

Error entre el valor calculado y el


valor real
1.780972E-01

10

2.051970E-03

100

2.056125E-05

1000

2.056167E-07

10000

2.056228E-09

100000

2.065143E-11

0.5

x 4 dx , utilizando la regla del trapecio. Considere n 4 . Compare el

resultado con el valor obtenido en base a la aplicacin de las reglas de integracin.


Solucin

h
f 0.5 f 1 2 f 0.625 f 0.75 f 0.875
2

I 0.1982
Ejemplo: Aproxime la integral

1.6

2x
dx , utilizando la regla del trapecio. Considere n 4 .
x 4
2

Compare el resultado con el valor obtenido en base a la aplicacin de las reglas de integracin.
Solucin

Dr. Antonio Ramos Paz

129

UMSNH

Mtodos Numricos

FIE

h
f 1 f 1.6 2 f 1.15 f 1.3 f 1.45
2

I 0.7436
Integracin por el mtodo de la regla de Simpson 1/3
La formula de Simpson 1/3 resulta cuando un polinomio de interpolacin de segundo grado se sustituye
en

I f x dx f 2 dx

(7.12)

x0 a

(7.13a)

x2 b

(7.13b)

Sean

f x se representa por un polinomio de lagrange de segundo grado, la integral se transforma en

x 2 x x x x
x x0 x x2 f x x x0 x x1 f x dx
1
2
I
f x0


x0
x1 x0 x1 x2 1 x2 x0 x2 x1 2
x0 x1 x0 x2

(7.14)
integrando y realizando manipulaciones algebraicas se obtiene

h
f x0 4 f x1 f x2
3

(7.15)

o bien

I b a

f x0 4 f x1 f x2
6

(7.16)

Regla de Simpson 1/3 de aplicacin mltiple


Considere la Figura 7.5
f x

Figura 7.5.

Dr. Antonio Ramos Paz

130

UMSNH

Mtodos Numricos

FIE

ba
n

(7.17)

La integral total puede representarse como

I f x dx f x dx
x2

x4

x0

x2

f x dx

xn

xn2

(7.18)

Al sustituir la regla de Simpson 1/3 en cada integral se obtiene

I 2h

f x0 4 f x1 f x2
f x2 4 f x3 f x4
2h

6
6

2h

f xn2 4 f xn1 f xn
6
(7.19)

combinando trminos

I b a

f x0 4

n 1

i 1,3,5,

f xi 2

n2

j 2,4,6,

f x j f xn
(7.20)

3n

Puede observarse que, como se muestra en la Figura, se debe de utilizar un nmero par de segmentos
para implementar el mtodo.
Ejemplo: aproxime las siguientes integrales utilizando la regla del trapecio:
1

a)

c)

0.5

x 4 dx

1.6

2x
dx
x 4
2

2
dx
x4

0.5

b)

/4

d)

xsenxdx

compare los resultados contra el resultado analtico.


Ejemplo: Una tubera en una plataforma de perforacin mar adentro se ha averiado y derrama petrleo
a razn de 35t 8 barriles por hora. Cuntos barriles derramar el primer da?
Ejemplo: los arboricultores han calculado que una especie particular de rbol crece a razn de

1
metros/ao. Cunto crecer este rbol:
2.5
2
t 2

i.
ii.
iii.

en el primer ao
del primero al segundo ao
del segundo al tercer ao

Ejemplo: la razn de reaccin o de sensibilidad de una persona a una droga especfica


de que se la ha administrado est dada por:

Dr. Antonio Ramos Paz

131

t horas despus

UMSNH

Mtodos Numricos

FIE

3 4
s ' t 2
t t
en donde s se mide en unidades convenientes. Halle la intensidad total de la reaccin de la primera a la
octava hora.
Reglas de integracin
1.
2.
3.
4.

dx [ f ( x)]dx f ( x) C

(u v ... w)dx udx vdx ... wdx


audx a udx
dx x C

5.

m
u dx

6.

du
ln | u | C
u
u

7.
8.
9.
10.
11.
12.
13.
14.

u m1
C
m 1

e du e C
senudu cos u C
cosudu senu C
tgudu ln | sec u | C
cot udu ln | senu | C
sec udu ln | sec u tgu | C
csc udu ln | csc u cot u | C
u

du

1 u

arctan u C

dx
1 ua

ln

2
a
2u u a
du
1
u
16. 2
arctan C
2
a u
a
a
du
1
au
17. 2

ln
C
2
a u
2a a u
du
18.
arcsen u C
1 u2
du
u
arcsen C
19.
a
a2 u 2
du
ln u u 2 a 2 C
20.
2
2
u a
15.

Dr. Antonio Ramos Paz

132

UMSNH

Mtodos Numricos

FIE

Integracin por partes

udv uv vdu
Integracin por el mtodo de la regla de Simpson 3/8
Considere

I f x dx f3dx
b

(7.4)

ahora f3 es un polinomio de tercer grado


Realizando la integracin del polinomio

3h
f x0 3 f x1 3 f x2 f x3
8

ba
3

donde

esta ecuacin se conoce como regla de simpson 3/8 debido a que h se multiplica por 3/8. La regla de
simpson de 3/8 se expresa tambin de la forma,

I b a

f x0 3 f x1 3 f x2 f x3
8

Ejemplo: Integrar

f x 0.2 25x 200 x 2 675x3 900 x 4 400 x5


desde

a 0 hasta

b 0.8

f 0 0.2
f 0.2667 1.432724
f 0.5333 3.487177
f 0.8 0.232
I 0.8

0.2 3 1.432724 3 3.487177 0.232


1.519170
8

Calculando el valor exacto:

Dr. Antonio Ramos Paz

133

UMSNH

0.8

Mtodos Numricos

FIE

25 x 2 200 x3 675 x 4 900 x5 400 x 6


0.2

25
x

200
x

675
x

900
x

400
x
dx

0.2
x

2
3
4
5
6
2

realizando operaciones

I 1.64053333333335

Dr. Antonio Ramos Paz

0.8

134

UMSNH

Mtodos Numricos

Ejercicios propuestos:
1.

Evale las siguientes integrales por medio de la regla trapezoidal con n = 2,4,8 y 16.
/4

i.

tan x dx
0

ii.

exp x dx
0
1

iii.

2 xdx
0

2.

Evale las siguientes integrales por medio de la regla de Simpson 1/3 con n = 2,4,8 y 16.

i.

dx

2 cos x
0

log 1 x
dx
x
1
2

ii.

/2

iii.

dx

1 sin x
2

3.

Evale las siguientes integrales por medio de la regla de Simpson 3/8 con n = 2,4,8 y 16.
/4

i.

tan x dx
0

log 1 x
dx
x
1
2

ii.

iii.

2 xdx
0

4.

Dada la funcin

Dr. Antonio Ramos Paz

xi

f xi

0.000000

0.0000000

0.050000

0.0499584

0.100000

0.0996687

0.150000

0.1488900

0.200000

0.1973960

0.250000

0.2449790

0.300000

0.2914570

0.350000

0.3366750

135

FIE

UMSNH

Mtodos Numricos

0.400000

0.3805060

0.450000

0.4228540

0.500000

0.4636480

0.550000

0.5028430

0.600000

0.5404200

0.650000

0.5763750

0.700000

0.6107260

0.750000

0.6435010

0.800000

0.6747410

0.850000

0.7044940

0.900000

0.7328150

0.950000

0.7597630

1.000000

0.7853980

FIE

Calcular la integral por la regla de los trapecios y mediante las reglas de simpson de 1/3 y 3/8.
5.

Una partcula se mueve sobre una recta paralela al eje OX y posee una velocidad variable en
funcin del tiempo, segn la expresin

v t

t
1 t2

calcular el espacio recorrido por dicha partcula desde el instante inicial t = 0, hasta t = 2.0
segundos.

Dr. Antonio Ramos Paz

136

UMSNH

Mtodos Numricos

FIE

Unidad VIII
Ecuaciones diferenciales ordinarias
Introduccin
El comportamiento de varios sistemas fsicos puede ser descrito mediante el uso de ecuaciones
diferenciales.
Generalmente, la solucin exacta (en forma analtica) de estas ecuaciones diferenciales no es fcil de
obtener, ni tampoco es prctico realizarla, por lo tanto, en la prctica se obtiene una solucin
aproximada haciendo uso de mtodos numricos.
En general estos mtodos numricos se basan en un proceso de paso a paso para determinar una
serie de valores para cada variable dependiente, correspondiente a un conjunto elegido de valores para
la variable independiente.
Usualmente los valores elegidos de la variable independiente son a intervalos incrementales fijos.
La precisin de la solucin obtenida depende del mtodo numrico y el tamao del intervalo fijo.
Mtodos de solucin
Mtodo de Euler
Es el mtodo ms simple para la solucin numrica de ecuaciones diferenciales. Se basa en el siguiente
proceso analtico:
Para un incremento especificado

x xk el incremento asociado yk est dado por:

yk yk 1 yk
Resolviendo (8.1) para

yk 1 yk

(8.1)

yk 1 y sustituyendo en la ecuacin resultante x xk se tiene:

dy
x
dx k

(8.2)

definiendo:

h x

(8.3a)

dy
y ' xk f xk , y xk
dx k

(8.3b)

El mtodo de Euler puede tambin representarse mediante las siguientes ecuaciones recursivas:

yk 1 yk hy ' xk

(8.4a)

yk 1 yk hf xk , y xk

(8.4b)

Dr. Antonio Ramos Paz

137

UMSNH

Mtodos Numricos

La aproximacin, mediante este mtodo de la funcin

FIE

y g x, c se muestra en la Figura 8.1


y g x, c

y3
y2
y1
y0

x0

x1

x2

x3

Figura 8.1.
Ejemplo: encontrar

y 1.5 para

dy
2 xy con la condicin inicial y 1 1 .
dx

Se propone el siguiente cdigo en Matlab.


% Mtodo de Euler
clear all;
tic
x0 = 1;
y0 = 1;
xf = 1.5;
h = 0.0001;
pos = 1;
vector_x(pos) = x0;
vector_y(pos) = y0;
while (x0 <= xf)
pos = pos + 1;
yn = y0 + h*funcion_x(x0,y0);
x0 = x0 + h;
vector_x(pos) = x0;
vector_y(pos) = yn;
y0 = yn;
end
toc
t = toc
vector_real = exp(vector_x.^2-1);
plot(vector_x,vector_y,vector_x,vector_real,'--');
grid on
xlabel('x');
ylabel('y');
legend('Aproximada','Analtica');
function y = funcion_x(x0,y0)
y = 2*x0*y0;

Dr. Antonio Ramos Paz

138

UMSNH

Mtodos Numricos

FIE

y 1.5 para diferentes valores de h . En los resultados mostrados


en esta tabla se aprecia que conforme se hace ms pequeo el valor de h se obtiene un error relativo
La Tabla 8.1 muestra los valores de

porcentual ms pequeo, sin embargo el esfuerzo computacional aumenta.

yaprox

0.1
0.01
0.001
0.0001

2.2874
3.3207
3.4831
3.4896

Tabla 8.1
Error relativo
yreal
porcentual
3.4903
34.4640862
3.4903
4.85918116
3.4903
0.20628599
3.4903
0.02005558

3.5

Tiempo
----0.0150
0.2500

3.5
Aproximada
Analtica

Aproximada
Analtica

2.5

2.5

1.5

1.5

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.1

1.2

1.3

1.4

1.5

1.6

1.7

h 0.1

h 0.01

3.5
Aproximada
Analtica

Aproximada
Analtica

3.5

2.5
2.5

2
2

1.5

1.5

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.1

1.2

1.3

1.4

1.5

1.6

h 0.001

h 0.0001
Figura 8.2

Ejercicio: Use el mtodo de Euler para obtener el valor aproximado de

y ' x y 1
con:

y 0 2 , usando primero h 0.1 y luego h 0.05 .

Dr. Antonio Ramos Paz

139

y 0.5 para la solucin de:

1.7

UMSNH

Mtodos Numricos

FIE

Mtodo de Euler modificado


En el mtodo de Euler el valor de la derivada

dy
, evaluada al inicio de intervalo, se aplica durante todo
dx

el intervalo h.
Una versin mejorada del mtodo se obtiene haciendo uso del siguiente procedimiento:
a)

Considere que se ha calculado

yk 1 en forma convencional (ecs. 8.4 )

Se define:

xk 1 xk h

(8.5)

yk 01 yk 1

y se hace

b) Usando estos nuevos valores,

xk 1 y yk 01 , se puede evaluar un valor aproximado

dy
,
dx k 1

al final del intervalo, es decir,


0

dy
y ' xk 01
dx k 1
c)

Un valor mejorado

yk11 puede ser obtenido utilizando el promedio de


0

dy
y
dx k 1

dy
mediante la ecuacin:
dx k 1

0
dy
dy

dx k dx k 1
1

yk 1 yk
h

Utilizando

xk 1 y yk 1 , una tercera aproximacin yk 1 puede ser calculada como:


1

1
dy
dy

dx k dx k 1
2

yk 1 yk
h

Mejores valores

yk31 , yk 41 ,., pueden obtenerse repitiendo el proceso descrito en (c) hasta

satisfacer un criterio de convergencia:

Dr. Antonio Ramos Paz

140

UMSNH

Mtodos Numricos

FIE

yki1 ki11 y

(8.6)

En forma recursiva este algoritmo puede escribirse como:

yk 1 yk
i

h
i 1
y ' xk y ' xk 1
2

(8.7)

para i = 1,2,3,4no. de iteraciones.


La Figura 8.3 ilustra este mtodo:
y g x, c
(0)
dy
(0)

dx k 1 dy dy
dx
dx
k
k 1

yk 1
1
yk 1
0

dy
dx

y0

xk

xk 1

Figura 8.3
Si se utiliza una sola aproximacin para

yk 1 se tiene

h
yk 1 yk f xk , yk f xk 1 , yk 1
2
donde

yk 1 yk hf xk , y xk

Dr. Antonio Ramos Paz

141

(8.8)

UMSNH

Ejemplo: encontrar

Mtodos Numricos

y 1.5 para

FIE

dy
2 xy con la condicin inicial y 1 1 .
dx

Se propone el siguiente cdigo en Matlab.


% Regla trapezoidal
clear all;
x0 = 1.0;
y0 = 1.0;
h = 0.1;
xf = 1.5;
pos = 1;
vector_x(pos) = x0;
vector_y(pos) = y0;
while (x0 <= xf)
pos = pos + 1;
yaprox = y0 + h*funcion_x(x0,y0);
yn = y0 + (h/2)*(funcion_x(x0,y0)+funcion_x(x0+h,yaprox));
x0 = x0 + h;
vector_x(pos) = x0;
vector_y(pos) = yn;
y0 = yn;
end
vector_real = exp(vector_x.^2-1);
plot(vector_x,vector_y,vector_x,vector_real,'--');
grid on
xlabel('x');
ylabel('y');
legend('Aproximada','Analtica');

function y = funcion_x(x0,y0)
y = 2*x0*y0;

y 1.5 utilizando el mtodo de Euler modificado para diferentes


valores de h . Puede apreciarse que con un valor no tan pequeo de h (0.01) se obtiene un error del
La Tabla 8.2 muestra los valores de

0.01146 %, lo cual demuestra la ventaja de este mtodo con respecto al mtodo de Euler.
Tabla 8.2

yaprox

yreal

0.1
0.01
0.001
0.0001

3.4509
3.4899
3.4903
3.4903

3.4903
3.4903
3.4903
3.4903

Error relativo
porcentual
1.12884279
0.01146033
0
0

En la Figura 8.4 se muestra la comparacin de la aproximacin a la solucin utilizando el mtodo de


Euler modificado contra la solucin analtica. Se puede apreciar que con valores no muy pequeos de h
se obtiene prcticamente la solucin dada por el proceso analtico.

Dr. Antonio Ramos Paz

142

UMSNH

Mtodos Numricos

3.5

FIE

3.5
Aproximada
Analtica

Aproximada
Analtica

2.5

2.5

1.5

1.5

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.1

1.2

1.3

1.4

1.5

1.6

1.7

h 0.1

h 0.01

3.5
Aproximada
Analtica

Aproximada
Analtica

3.5

2.5
2.5

2
2

1.5

1.5

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.1

1.2

1.3

1.4

1.5

1.6

1.7

h 0.001

h 0.0001
Figura 8.4

Mtodo del punto medio modificado


Se basa en una formula de diferenciacin numrica, el cociente de la diferencia central.

y ' xk

y xk 1 y xk 1
2h

(8.9)

De aqu puede obtenerse la formula recursiva del mtodo del punto medio modificado, escrito en forma
concisa como:

yk 1 yk 1 2hy ' xk

(8.10)

yk 1 yk 1 2hf xk , yk

(8.11)

o bien

Observaciones
Requiere dos valores del pasado

yk 1 y yk para determinar yk 1 .

Generalmente este mtodo no es aceptable por sus requerimientos y limitaciones.

Dr. Antonio Ramos Paz

143

UMSNH

Mtodos Numricos

FIE

Mtodos de Runge-Kutta
En estos mtodos los cambios en las variables de la o las variables dependientes son calculados a partir
de un conjunto dado de formulas que estn expresadas en trminos de la (s) derivada (s) evaluada (s) en
puntos predeterminados.
Las formulas se derivan utilizando una aproximacin para reemplazar una expansin en una serie
truncada de Taylor.
Existen variantes del mtodo de Runge-Kutta, aunque todas ellas se pueden ajustar a la forma general
de la ecuacin:

yk 1 yk xk , yk , h h

(8.12)

donde:

xk , yk , h

es la funcin del incremento o incrementos, que es bsicamente el promedio de la

pendiente sobre el intervalo

h.

La funcin de incremento puede escribirse en forma general como:

a1k1 a2 k2
en donde

a1 , a2 , a3 ,

an kn

(8.13)

, an son constantes y las k estn dadas por:

k1 f xk , yk

(8.14a)

k2 f xk p1h, yk q11k1h

(8.14b)

k3 f xk p2 h, yk q21k1h q22 k2h

(8.14c)

kn f xk pn1h, yk qn1,1k1h qn1,2 k2 h

qn1 ,n1 kn1h

(8.14d)

Observaciones:
Las Ecuaciones (8.14) son relaciones recurrentes, es decir,
vez en la ecuacin de

k1 aparece en la ecuacin de k 2 , esta a su

k3 , etc. Esta caracterstica hace a los mtodos RK atractivos para su solucin por

medio de computadora.
El nmero

n de trminos en la funcin incremental determina el mtodo Runge-Kutta.

Mtodo de Runge-Kutta de segundo orden


En este caso la Ecuacin (8.12) toma la forma:

yk 1 yk a1k1 a2 k2 h

(8.15)

Donde:

Dr. Antonio Ramos Paz

144

UMSNH

Mtodos Numricos

FIE

k1 f xk , yk

(8.16a)

k2 f xk p1h, yk q11k1h

(8.16b)

Para utilizar la Ecuacin (8.15) se requiere determinar los valores de


La serie de Taylor de segundo orden para

yk 1 en trminos de yk y f xk , yk puede escribirse como:

yk 1 yk f xk , yk f ' xk , yk
donde:

a1 , a2 , p1 y q11 .

h2
2

(8.17)

f ' xk , yk puede determinarse como:


f ' xk , yk

f xk , yk f xk , yk dyk

xk
x y
dxk

(8.18)

o escribiendo la Ecuacin (8.18) en forma concisa

f ' xk , yk

f f dy

x y dx

(8.19)

Sustituyendo la ecuacin (8.19) en la (8.17)

f f dy h 2
yk 1 yk f xk , yk h

x y dx 2

(8.20)

De manera similar, expandiendo ahora la ecuacin (8.16b)

f xk p1h, yk q11k1h f xk , yk p1h

f
f
q11k1h
x
y

(8.21)

Sustituyendo las ecuaciones (8.21) y (8.16a) en la ecuacin (8.15) se obtiene:

yk 1 yk a1hf xk , yk a2 hf xk , yk a2 p1h 2

f
f
(8.22)
a2 q11h 2 f xk , yk
x
y

Reordenando apropiadamente los trminos se obtiene:

f
f
yk 1 yk a1 a2 f xk , yk h a2 p1 a2 q11 f xk , yk h 2
x
y

(8.23)

Comparando trminos semejantes en las ecuaciones (8.21) y (8.23) se observa que para que las dos
ecuaciones sean equivalentes se debe cumplir con lo siguiente:

a1 a2 1

Dr. Antonio Ramos Paz

(8.24a)

145

UMSNH

Mtodos Numricos

FIE

a2 p1

1
2

(8.24b)

a2 q11

1
2

(8.24c)

Se tienen tres ecuaciones con cuatro incgnitas, por lo que se supone el valor de una de las incgnitas
para determinar las otras tres.
Suponga que se elige

a2 (existe un nmero infinito de valores para a2 ), por ejemplo tomando a2

1
,
2

resulta en la ecuacin:

1
yk 1 yk h k1 k2
2

(8.25a)

k1 f xk , yk

(8.25b)

k2 f xk h, yk hk1

(8.25c)

donde:

Mtodo de Runge-Kutta de tercer orden


Con n 3 en la ecuacin (8.13), la Ecuacin general (8.12) toma la forma:

yk 1 yk a1k1 a2 k2 a3k3 h

(8.26)

Para obtener los parmetros requeridos en la Ecuacin (8.26) se procede en forma anloga a como se
hizo para el Runge-Kutta de segundo orden.
Una versin del mtodo, dentro del ilimitado nmero de posibles de ellas es la siguiente:

yk 1 yk

h
k1 4k2 k3
6

(8.27a)

Donde:

k1 f xk , yk

(8.28b)

1
1

k2 f xk h, yk hk1
2
2

(8.28c)

k3 f xk h, yk hk1 2hk2

(8.28d)

Dr. Antonio Ramos Paz

146

UMSNH

Mtodos Numricos

FIE

Mtodo de Runge-Kutta de cuarto orden


Dentro del nmero infinito de versiones, la siguiente, conocida como el mtodo clsico de Runge-Kutta
de cuarto orden es posiblemente el ms empleado.

yk 1 yk

h
k1 2k2 2k3 k4
6

(8.29a)
donde:

k1 f xk , yk

(8.29b)

1
1

k2 f xk h, yk hk1
2
2

(8.29c)

1
1

k3 f xk h, yk hk2
2
2

(8.29d)

k4 f xk h, yk hk3

(8.29e)

Mtodo de Runge-Kutta de orden superior


Se puede utilizar el siguiente mtodo RK de quinto orden cuando sea necesario tener una mayor
precisin numrica durante el proceso de solucin:

yk 1 yk

h
7k1 32k3 12k4 32k5 7k6
90

(8.30a)

donde:

k1 f xk , yk

(8.30b)

1
1

k2 f xk h, yk hk1
4
4

(8.30c)

1
1
1

k3 f xk h, yk hk1 hk2
4
8
8

(8.30d)

1
1

k4 f xk h, yk hk2 hk3
2
2

(8.30e)

3
3
9

k5 f xk h, yk hk1 hk4
4
16
16

(8.30f)

3
2
12
12
8

k6 f xk h, yk hk1 hk2 hk3 hk4 hk5


7
7
7
7
7

(8.30g)

Dr. Antonio Ramos Paz

147

UMSNH

Mtodos Numricos

FIE

Ejemplo: Analizar el comportamiento de los siguientes circuitos elctricos:


Circuito RL serie

R
i t

Donde: E 10V , R 1000 , L 1200mH

Circuito RC serie

t 0

R
i t

E 10V , R 1000 , C 600 F

Donde:
Mtodos implcitos

Un mtodo implcito es aquel en el que

yk 1 , que va a ser calculada en el paso k, aparece

implcitamente en el lado derecho de la ecuacin. En general, en cada paso k se requiere realizar un


proceso iterativo, por ejemplo, consideremos la siguiente ecuacin:

1
yk 1 yk h f xk , yk f xk 1 , yk 1
2

para

k 0,1, 2,3,

,n

(59)

,n

(60)

que se conoce como mtodo trapezoidal (Euler Modificado).


La ecuacin (59) puede resolverse iterativamente si la llevamos a la forma:

yk 1
i 1

1
i
hf xk 1 , yk 1 uk
2

para

i 0,1, 2,3,

donde

1
uk yk hf xk , yk
2
note que

(61)

uk se conoce del paso previo.

Generalmente, una buena estimacin inicial

Dr. Antonio Ramos Paz

yk 01 puede ser obtenida de la formula:

148

UMSNH

Mtodos Numricos

yk 1 yk hf xk , yk
0

FIE

(62)

En este caso a la ecuacin (62) se le conoce como predictor y a la ecuacin (60) como corrector. El
proceso global es conocido como mtodo predictor-corrector. El proceso concluye una vez que se
satisface la condicin:

yki11 yki1 y

(63)

o que se ha cumplido un determinado nmero de iteraciones.


A continuacin se describen estos mtodos.
Cambio del tamao de paso
Se requiere cambiar el tamao del paso h cuando se resuelven ecuaciones diferenciales cuya solucin es
de la forma mostrada en la Figura (6).
En general:
Un tamao de paso pequeo puede registrar este impulso.
Sin embargo, hacerlo as puede resultar ser muy costoso computacionalmente.
Usualmente se usan dos criterios para decidir cuando un tamao de paso se modifica:
1.
2.

La ecuacin (70) es mayor que un criterio de error previamente especificado, por lo tanto, el
tamao de paso se reduce.
El tamao de paso se elige de modo que la convergencia del corrector se satisfaga en dos
iteraciones.

Por lo tanto,
Si la convergencia es obtenida en ms de dos iteraciones, el tamao de paso se reduce.
Si la convergencia es obtenida en menos de dos iteraciones, el tamao del paso se incrementa.
Para realizar alguna de las dos estrategias anteriores, generalmente se considera como un
procedimiento eficiente el siguiente:

Reducir el tamao de paso a la mitad del presente


Aumentar el tamao de paso al doble del presente

Ejemplos de aplicacin

Estudios de transitorios electromagnticos en sistemas elctricos, estabilidad


transitoria y dinmica en redes elctricas, modelado de la operacin dinmica y
transitoria de elementos de conmutacin, etc.

Dr. Antonio Ramos Paz

149

UMSNH

Mtodos Numricos

FIE

Ejercicios propuestos Unidad 8


1.

2.

Use el mtodo de Runge-Kutta para obtener una aproximacin del valor indicado. Use h 0.1 .

y ' 2x 3 y 1

y 1 5

y 1.5

y ' x2 y 2

y 0 1

y 0.5

y ' e y

y 0 0

y 0.5

y ' y y2

y 0 0.5

y 0.5

Utilice el mtodo de Euler con h = 0.5 y 0.25 para resolver:

dy
yx 2 1.1y
dx
3.

donde

y 0 1

en el intervalo

x 0 a x 2.

Realizar la simulacin en el dominio del tiempo del siguiente circuito elctrico,

los parmetros son: R = 0.1234, L = 104 mH, C = 5.67F


Simular el comportamiento de las formas de onda de corriente y voltaje del circuito elctrico desde
t = 0 hasta t = 0.1 segundos, utilizar 512 puntos por periodo de integracin.
Utilizar los mtodos de:
a)

Mtodo de Euler

b) Mtodo de Runge-Kutta de cuarto orden

c)

La regla trapezoidal

una aproximacin del vector

xk 1 puede obtenerse mediante el uso del mtodo de Euler o por

medio del mtodo de Newton-Raphson.


4.

Simular el comportamiento de las formas de onda de voltaje y corriente, sujetas a la condicin de


un corto circuito en el nodo 2, el cual ocurre en un tiempo t = 0.06 y se liberada en t = 0.08
segundos.

5.

Comparar los resultados obtenidos con ATP y hacer un anlisis de los resultados obtenidos.

Dr. Antonio Ramos Paz

150

UMSNH

Mtodos Numricos

FIE

Unidad IX
Ecuaciones Diferenciales Parciales
Introduccin

Las ecuaciones diferenciales parciales involucran ms de una variable independiente y por consiguiente
requieren de formulas de derivacin parcial en lugar de ordinarias.
Una gran variedad de problemas de ingeniera pueden representarse mediante ecuaciones diferenciales
parciales de segundo orden. Estos involucran dos variables independientes:
Sus formas y clasificaciones correspondientes son las siguientes:
a)

Parablica

2u

x 2
b) Elptica

2u 2u

x 2 y 2
c)

Hiperblica

2u 2u

x 2 y 2
donde:

x, y , u ,

u u
,
x y

La forma ms comn en que se encuentran las ecuaciones (91) es:


a)

Parablica:

2u u

x 2 y

donde

es constante

la cual es conocida como la ecuacin de difusin transitoria unidimensional


b) Elptica

2u 2u

0
x 2 y 2

Dr. Antonio Ramos Paz

151

UMSNH

Mtodos Numricos

FIE

2u 2u

constante
x 2 y 2
La ecuacin (94a) se conoce como la ecuacin de Laplace y la ecuacin (94b) como ecuacin de Poisson.
c)

Hiperblica

2u
2u
2
x 2
y

donde

es constante.

Solucin numrica de ecuaciones parablicas


Considere el problema siguiente

2u u
2
x
y
Sujeto a las condiciones:

u a, y ua
u b, y ub
u x, 0 u0
se desea encontrar

u x, y , cuyo dominio x, y es aquel mostrado por la Figura 6.

La regin de inters est enmarcada por el eje x y las lneas x = a y x = b, extendindose al infinito en la
direccin + y.
Se asume que x y
diferentes unidades).

y son constantes (aunque en general no son iguales y adems pueden tener

Si en la regin de inters se considera superimpuesta una red de diferencias finitas, en donde se toma
como referencia el punto

u j ,k 1 2u j ,k u j ,k 1

j, k , la ecuacin (93) puede aproximarse por la ecuacin incremental:


1 u j 1,k u j ,k

Los valores de u con el subndice j se asumen conocidos, siendo


resolvindose la ecuacin (95) para

u j 1,k u j ,k

u j 1,k se obtiene:

y u 2u u
j ,k
j , k 1
2 j , k 1
x

O bien,

Dr. Antonio Ramos Paz

152

u j 1,k el valor desconocido. Por lo tanto,

UMSNH

Mtodos Numricos

FIE

y
2 y
y
u j 1,k u j ,k
u
1
u
u
2 j , k 1
2 j ,k
2 j , k 1
x
x

x
para

k 1, 2,3,

,n

Note que la ecuacin (97) es inestable cuando:

1
2

Por lo tanto, para un problema donde


y debe tener un valor tal que:

x
y

est

predeterminada y donde x tambin se ha fijado

Para asegurar la estabilidad numrica de la ecuacin (97) el error de truncamiento debe ser
relativamente pequeo y esto generalmente implica utilizar un tamao de paso y pequeo.
Se requiere buscar otros algoritmos menos restrictivos en lo que al tamao de paso se refiere.
Un algoritmo posible es buscando una representacin implcita de la ecuacin (95). Esto se logra
tomando como referencia el punto (j+1,k) en vez de (j,k). La ecuacin de diferencias resultante es la
siguiente:

u j 1,k 1 2u j 1,k u j 1,k 1

1 u j 1,k u j ,k

Si la ecuacin (100) se escribe para todos los puntos k = 1,2,3,,n, entonces se forma un conjunto de n
ecuaciones algebraicas lineales con n incgnitas u j 1, k .
La ecuacin (100) puede ser escrita como:
2

x 2
x

1 u j 1,k 1
u
u j ,k
1 u j 1,k 1 2
y j 1,k

De tal forma que el conjunto completo de ecuaciones pueden ser expresados en forma matricial como:

1
1

Dr. Antonio Ramos Paz

u j 1,1 u j ,1 ua
u

u
j ,2

j 1,2
u j 1,3 u j ,3

u j ,n 1
1 u j 1,n 1

u j 1,n u j ,n ub

153

UMSNH

Mtodos Numricos

FIE

donde:

x
2
2
y
2

x

2
y
2

Mtodo de Crack-Nicholson
Este es un mtodo implcito ampliamente utilizado. Se basa en la siguiente representacin de
diferencias de la ecuacin (93),

u j 1,k 1 2u j 1,k u j 1,k 1

u j ,k 1 2u j ,k u j ,k 1 u j 1,k u j ,k

2
y
x

Note que el lado izquierdo de esta expresin es simplemente un promedio de las expresiones de
diferencia central para

2u / y 2 en los puntos j 1, k y j, k . El lado derecho es la misma

expresin de diferencias que la utilizada para las representaciones explcita e implcita.


La ventaja de la representacin de Crack-Nicholson es que para valores dados de
resultante tiene menos error de truncamiento en el trmino que involucra
con las representaciones explcita e implcita.

x y y , la solucin

y , que aquella obtenida

La forma matricial de la ecuacin (104) para el problema representado por las ecuaciones (93)-(94) es:

1
1

u j 1,1 1 ua

u

j 1,2 2
u j 1,3 3

1 u j 1,n 1 n 1

u j 1,n n ub

donde:

2 x
2
y

2 x 2
k 2
u u j ,k 1 u j ,k 1
y j ,k

Solucin Numrica de ecuaciones elpticas


Suponga que la ecuacin diferencial

Dr. Antonio Ramos Paz

154

UMSNH

Mtodos Numricos

FIE

2u 2u

0
x 2 y 2
es vlida sobre la regin R mostrada en la Figura 7 y que u est completamente especificada en los
lmites de R. Se quiere encontrar

u x, y en el interior de R (problema Dirichlet). Para esto se procede

inicialmente considerando una red de diferencias finitas en la regin R.


Por conveniencia, se divide la longitud a en la direccin x en n+1 espacios iguales, tal que
dado por:

a
n 1

y la longitud b en la direccin y en m+1 espacios iguales tal que

x estar

y es:

b
m 1

Tomando como referencia el punto

j, k la ecuacin (107) puede escribirse en forma de diferencias

centrales como:

u j ,k 1 2u j ,k u j ,k 1

u j 1,k 2u j ,k u j 1,k

La variable dependiente u es desconocida en los mn puntos interiores de R.


La ecuacin (110) puede escribirse en cada uno de los puntos interiores de R y as tenemos mn
ecuaciones lineales simultneas en las mn incgnitas u j , k .
Por conveniencia, multiplicando la ecuacin (110) por

y agrupando trminos se obtiene:

x 2
x 2
x

u
u

u
0
1 u j ,k 1 1 u j ,k 1 2 2
2 j ,k
2 j 1, k
2 j 1, k
y

y
y

en la ecuacin (111) el coeficiente de

u j ,k es el mayor en magnitud.

La ecuacin (111) puede ser eficientemente resulta para

u j ,k mediante un mtodo iterativo, por

ejemplo el Gauss-Seidel. Por lo tanto, resolviendo dicha ecuacin para

u j ,k

2
2
u j ,k 1 u j ,k 1 x / y u j 1,k u j 1,k

2
2
2 2 x / y

Si se hace

x y , la ecuacin (112) se transforma en:

Dr. Antonio Ramos Paz

155

u j ,k resulta en:

UMSNH

u j ,k

Mtodos Numricos

1
u j ,k 1 u j ,k 1 u j 1,k u j 1,k
4

u j ,k es calculado en forma iterativa mediante un mtodo Gauss-Seidel puede escribirse la

si el valor de

siguiente ecuacin recursiva:

u ji,k1 u ji,k u ji,k1 u ji,k


el valor de

se encuentra en 1 y 2.

Generalmente un valor apropiado de

puede calcularse mediante la expresin:

1 1 2

1/ 2

donde

2 es calculada como sigue. Definiendo:

u j ,k u j ,k u j ,k
i 1

i 1

normalizando

i 1

i 1

como:

u j ,k
i 1

j 1 k 1

es calculada como:

FIE

u i 1
u
i

Dr. Antonio Ramos Paz

156

UMSNH

Mtodos Numricos

FIE

Bibliografa

Matlab Guide, Desmand J. Higham, Nicholas J. Highman. SIAM. 2005.

Anlisis Numrico y Visualizacin grfica con Matlab, Shoichiro Nakamura. Prentice Hall, 1996.

The MathWorks, The Student Edition of Matlab, Version 4, Users Guide, Prentice Hall, 1995.

Matlab, Reference Guide, Prentice Hall, 1992.

Matlab, Users Guide, Prentice Hall, 1992.

Mtodos Numricos para Ingenieros. Chapra. Ed. Mc Graw Hill.

Hornbeck Robert W., Numerical Methods, (1975), Estados Unidos de Amrica,Quantum


Publishers.

Kreyszig Erwin, Matemticas avanzadas para ingeniera, Vol. 1, (1982), Mxico. Limusa.

Parker T.S., Chua L.O., Practical Numerical Algorithms for Chaotic Systems, Springer-Verlag,
1989.

Matlab para ingenieros. Moore H. Ed. Prentice Hall. Mxico 2007.

Mtodos Numricos aplicados con software. Nakamura S. Ed. Pearson Educacin. Mxico 1992.

Iterative Methods for Sparse Linear Systems. Saad Y. Ed. SIAM. Estados Unidos 2003.

Introduction to Numerical Analysis. Hildebrand. F.B. Ed. Dover. Estados Unidos 1987.

Numerical Methods for Scientists and Engineers. Hamming R.W. Ed. Dover. Estados Unidos
1986.

A first Course in Numerical Analysis. Ralston A. y Rabinowitz P. Ed. Dover. Estados Unidos 2001.

Dr. Antonio Ramos Paz

157

You might also like