Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lista de smbolos V
Introduccin VII
Objetivos IX
1. Preliminares 1
1.1. Repaso de clculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Algunos apuntes en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Programacin en Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
iii
iv NDICE GENERAL
Bibliografa 135
Lista de smbolos
N Nmeros naturales.
C Nmeros Complejos.
R Nmeros reales.
Rn Espacio euclideo n dimensional.
Ck Funciones diferenciables k veces con k 2 N a valor en C:
Un abierto de Rn :
1
Q(x0 ; ) Cubo,.de centro en x0 y de lado > 0: = jQ(x0 ; )j n
Q(x0 ; ) := x = (xi )1 i n ; jxi x0i j < para x0 = (x0i )1 i n
2
h ; iL2 ( ) Producto interno denido en L ( ) ;
k.k Norma euclidiana denida en Rn .
j.j La mtrica euclidiana denida en R:
B (x0 ; r) Bola de radio r > 0 y centro x0 2 Rn denida como
fx 2 Rn ; kx x0 k < rg
v
vi LISTA DE SMBOLOS
Introduccin
vii
viii INTRODUCCIN
ofrecidos en el programa. Sin embargo siempre queda la expectativa de que las per-
sonas con el paso del tiempo puedan colaborar para lograr complementar dicha gua.
De esta manera se cierran ciertas brechas a nivel regional sobre la incorporacin del
uso de computadores en la formacin de los profesionales uptecistas.
La manera como se quiere dar comienzo a este proyecto es indicar algunas funciones
bsicas en Matlab, se presentarn algunas guas con indicaciones como ejecutar
el algoritmo y mostrar algunas aplicaciones en el campo de la ingeniera, ciencias
econmicas y sociales.
Objetivos
ix
x OBJETIVOS
Captulo 1
Preliminares
si, dado cualquier nmero real " > 0;existe un nmero real > 0 tal que jf (x) Lj <
"; siempre que x 2 X y jx x0 j < :
l m f (x) = f (x0 )
x!x0
1
2 CAPTULO 1. PRELIMINARES
Muchas veces los vectores tienen un a ley de formacin. Esto permite una mayor
facilidad para ingresar dicho vector. Por ejemplo, un vector con 100 elementos,
donde el primer elemento es 2, el ltimo es 200 y los elementos intermedios van
incrementados de dos en dos, puede ingresarse de la siguiente manera abreviada.
0
>>u=[1 2 3 4 5 6 7 8] Se ingresa un vector la.
>>v=8:-1:1 Se ingresa otro vector la.
>>u+v Suma de vectores.
>>v Vector columna transpuesto.
>>u*v El vector u por el v transpuesto
(Producto interior entre vectores)
>>sqrt(u*u) Norma del vector u
(sqrtcalculala raz cuadrada).
4 CAPTULO 1. PRELIMINARES
>>M=[1 2 5;2 -1 6;3 0 -1]; Una matriz se ingresa por las. Los elementos
de una las se separan por un espacio
y para separar una la de otra se usa ;.
>>IM=inv(M) Inversa de la matriz.
>>TM=M; Transpuesta de la matriz.
>>Det=det(M) Determinante de M.
>>VP=eig(M) Valores propios de M.
Por ejemplo:
6 CAPTULO 1. PRELIMINARES
Se discuten los tipos de programas que pueden hacerse y como almacenar datos.
Hay dos tipos de programas Matlab: uno se denomina rutero y el otro function.
Matlab debe estar direccionado al directorio donde guardamos los programas. Esto
se logra con el siguiente comando.
>> cd c:nnumerico.
Todos los archivos con programas Matlab deben terminar con la extensin .m.
Veamos un ejemplo: Deseamos resolver la ecuacin de segundo grado 3x2 +5x+2 = 0.
Escribamos primero un programa rutero ( para escribir un programa se puede us-
ar cualquier editor de texto que permita guardar archivos como ascii; por ejemplo
1.3. PROGRAMACIN EN MATLAB. 7
a = 3;
b = 5;
c = 2;
D = b^2 4 a c;
x(1) = ( b + sqrt(D))=2 a;
x(2) = ( b sqrt(D))=2 a;
end
Donde vi, in, vf son el valor inical, el incremento y el valor nal de la variable escalar
i.
While relacin
instrucciones
end
if relacin
instrucciones
end
Por ejemplo,
if relacin
instrucciones 1
else
instrucciones 2
end
Las relaciones para los comandos if y while se construyen mediante los siguientes
1.3. PROGRAMACIN EN MATLAB. 9
relacionadores.
< Menor que
> Mayor que
<= Menor o igual a
>= Mayor o igual a
== Igual a
Y los siguientes conectivos lgicos
& Y
j O
xor o excluyente
Solucin.
function y=fun1(x) % Si la entrada es un vector, la salida tambin lo es.
n=length(x) % Determina la longitud del vector x.
% A continuacin se calcula el valor de la funcin componente a componente.
for i=1:n % Al omitir el incremento este se asume igual a 1.
if x(i)<=0
y(i)=2*(sin(2*x(i)))^2;
else
y(i)=1-exp(-x(i));
end
end
Para hacer la graca de la funcin en el intervalo [ 10; 10] puede utilizarse este
programa del siguiente modo
10 CAPTULO 1. PRELIMINARES
>>x=-10:.01:10
>>plot(x,fun1(x))
Captulo 2
Los mtodos que se presentan en la siguiente gua rtequieren que las funciones sean
diferenciables, y por tanto continuas, en el intervalo donde se requiere. El problema
de encontar las raices, o ceros de una ecuacin algebrica fe la forma f (x) = 0, se
presenta frecuentemente dentro del campo de la ingeniera, las ciencias econnicas
y sociales entre otros. Para este problema se presentan diversos mtodos, en el
presente capitulo se estudiaran algunos de ellos.
dN (t)
= N (t):
dt
11
12 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
con una tasa constante la ecuacin diferencial que rige la situacin ser.
dN (t)
= N (t) +
dt
cuya solucin es
N (t) = N0 e t + (e t
1):
Los mtodos numricos que se tratan en este captulo sirven para obtener aproxi-
maciones a las soluciones de este tipo de ecuaciones cuando no es posible obtener
respuestas exctas por mtodos algebricos, [1]:
Supongamos que f es una funcin continua en un intervalo [a; b] con f (a) f (b) < 0.
Entonces, por teorema del valor intermedio para funciones continuas, existe al menos
un c 2 (a; b) tal que f (c) = 0. Asumiremos en lo que sigue que la raz en este
intervalo es nica (aunque el mtodo tambin se puede aplicar cuando hay ms de
una raz en (a; b) ).
El mtodo de Biseccin aplicado a la funcin f (x) para aproximar la raz c 2 [a; b],
consiste en dividir sucesivamente el intervalo [a; b] por la mitad, hasta que la longitud
del subintervalo que contiene a la raz c sea menor que la tolerancia especicada ".
(2.1)
3
Ejemplo 2.2 Encontrar las soluciones exactas dentro de 10 para x3 7x2 + 14x
6 = 0 en el intervalo [0; 1]
Solucin
14 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
n x0 x1 xc Distancia Raz
1 0 1 0,5 0
2 0,5 1 0,75 0,25
3 0,5 0,75 0,625 0,125
4 0,5 0,625 0,5625 0,0625
5 0,5625 0,625 0,59375 0,03125
6 0,5625 0,59375 0,578125 0,015625
7 0,578125 0,59375 0,5859375 0,0078125
8 0,578125 0,5859375 0,58203125 0,00390625
9 0,58203125 0,5859375 0,58398438 0,00195313
10 0,58398438 0,5859375 0,58496094 0,00097656 0,00097656
11 0,58496094 0,5859375 0,58544922 0,00048828 0,00048828
12 0,58544922 0,5859375 0,58569336 0,00024414 0,00024414
13 0,58569336 0,5859375 0,58581543 0,00012207 0,00012207
14 0,58569336 0,5858154 0,58575439 6,1035E-05 6,1035E-05
15 0,58575439 0,5858154 0,58578491 3,0518E-05 3,0518E-05
disp(METODO DE LA BISECCION );
disp( );
f=input(PORFAVOR, INGRESE LA FUNCION: ,s);
graf=input(DESEA GRAFICAR LA FUNCION? (DIGITE 1=SI; 0=NO) );
if graf==1;
ezplot(f);
end
xai=input(INGRESE EL LIMITE INFERIOR DEL INTERVALO: );
xbi=input(INGRESE EL LIMITE SUPERIOR DEL INTERVALO: );
tol=input(INGRESE EL PORCENTAJE DE ERROR: );
disp( );
f=inline(f);
i=1;
ea(1)=100;
if f(xai)*f(xbi)<0
xa(1)=xai;
xb(1)=xbi;
xr(1)=(xa(1)+xb(1))/2;
fprintf(It. Xa Xr Xb Error Aprox.nn);
fprintf(%2dt % 11.7fnt % 11.7fnt % 11.7fnn,i,xa(i),xr(i),xb(i));
while abs (ea(i))>=tol,
if f(xa(i))*f(xr(i))<0
xa(i+1)=xa(i);
xb(i+1)=xr(i);
end
if f(xa(i))*f(xr(i))>0
xa(i+1)=xr(i);
xb(i+1)=xb(i);
16 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
end
xr(i+1)=(xa(i+1)+xb(i+1))/2;
ea(i+1)=abs((xr(i+1)-xr(i)));
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
disp( - );
xr(i)
disp( - );
else
disp();
disp( - );
end
if retchoose==1
MENU
end
if retchoose==0
end
2.1. MTODO DE BISECCIN. 17
Dada una funcin contnua en el intervalo [a; b] tal que existe un punto xc 2 [a; b]
y f (xc ) = 0 tomamos dos puntos iniciales x0 y x1 aproximados a la raz. Por los
puntos P0 (x0 ; f (x0 )) y P1 (x1 ; f (x1 )) trazamos una recta secante a la grca de la
funcin y = f (x); esta recta secante cotar el eje x en el punto (x2 ; 0). El punto x2
ser una nueva aproximacin a la raz xc :
Con los puntos P2 (x2 ; f (x2 )) y P1 (x1 ; f (x1 )) repetimos el proceso para hallar una
20 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
nueva aproximacin.
Continuamos el proceso iterativo hasta cuando la distancia jxn xn+1 j < " y ten-
dremos una raz aproximada f (xn+1 ) ' 0:
(2.2)
xi+1 xi
xi+2 = xi f (xi )
f (xi+1 ) f (xi )
2.2. MTODO DE LA SECANTE. 21
3
Ejemplo 2.4 Encontrar las soluciones exctas dentro de 10 para x3 7x2 + 14x
6 = 0 en el intervalo [0; 1]
ezplot(f);
end
xai=input(INGRESE EL LIMITE INFERIOR DEL INTERVALO: );
xbi=input(INGRESE EL LIMITE SUPERIOR DEL INTERVALO: );
tol=input(INGRESE EL PORCENTAJE DE ERROR: );
disp( );
f=inline(f);
i=1;
ea(1)=100;
if f(xai)*f(xbi)<0
xa(1)=xai;
xb(1)=xbi;
xr(1)=(xa(1)-f(xa(1))*(((xb(1)-xa(1))/(f(xb(1))-f(xa(1))))));
fprintf(It. xi xi+1 xi+2 Error Aprox.nn);
fprintf(%2dnt % 11.7fnt % 11.7fnt % 11.7fnn,i,xa(i),xb(i),xr(i));
disp( - );
else
disp();
disp( - );
end
if retchoose==1
MENU
end
24 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
2.3. MTODO DE LA REGLA FALSA. 25
Dada una funcin contnua en el intervalo [a; b] tal que existe un punto xc 2 [a; b] y
f (xc ) = 0 tomamos dos puntos iniciales xi que est a la izquierda de la raz y xd a
la derecha de la raz. Esta condicin se puede comprobar si f (xi ) f (xd ) < 0. Por
los puntos Pi (xi ; f (xi )) y Pd (xd ; f (xd )) trazamos una recta secante a la grca de la
funcin y = f (x); esta recta secante cotar el eje x en el punto (xn ; 0). El punto xn
ser una nueva aproximacin a la raz xc ; luego determianamos a que lado de xc se
encuentra xn :
Para hallar la formula de recurrencia por los puntos Pi (xi ; f (xi )) y Pd (xd ; f (xd ))
pasa una recta cuya ecuacin estar determinada por
f (xd ) f (xi )
y f (xi ) = (x xi )
xd xi
esta recta secante contiene al punto (xn ; 0) por tanto satisface la ecuacin
f (xd ) f (xi )
0 f (xi ) = (xn xi )
xd xi
y al despejar xn se obtiene
xd xi
xn = xi f (xi ) (2.3)
f (xd ) f (xi )
(2.4)
3
Ejemplo 2.6 Encontrar las soluciones exctas dentro de 10 para x3 7x2 + 14x
6 = 0 en el intervalo [0; 1] :
disp( - );
disp();
disp( );
if retchoose==1
MENU
end
if retchoose==0
end
end
30 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
2.4. MTODO DE PUNTO FIJO. 31
Sea f(x) una funcin contina en un intervalo cerrado [a; b] tal que existe un c 2 [a; b]
con la condicin f (c) = 0; de la funcin f (x); igualando a cero tenemos
f (x) = 0 (2.5)
de (2.5) despejamos x hallando una nueva funcin g(x) con un valor inicial x0 como
primera aproximacin hallamos x1 = g(x0 ) y continuamos iterando, es decir x2 =
g(x1 ) y as continuamente xi+1 = g(xi ): El proceso converge cuando la distancia
jxi+1 xi j < "1 o cuando jf (xi+1 )j < "2 con 0 < "1 << 1; 0 < "2 << 1:
3
Ejemplo 2.8 Encontrar las soluciones exctas dentro de 10 para 3x2 7x 6 = 0
tomando como valor inicial x0 = 1:
fprintf(nn);
fprintf(UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIAnn);
fprintf(PROYECTO DE PRIMER NOMBRAMIENTOnn);
fprintf(GUIA PRACTICA DE METODOS NUMRICOSnn);
fprintf(ALEXIS FAVIAN MALPICA VEGAnn);
fprintf(nn);
disp( );
disp(METODO DEL PUNTO FIJO );
disp( );
disp();
disp();
for m=1:1
for j=1:i;
end
disp();
disp();
disp();
disp();
disp();
hold on;
ezplot(f);
grid on;
end
if retchoose==1
MENU
end
if retchoose==0
end
2.4. MTODO DE PUNTO FIJO. 35
36 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
Sea f(x) una funcin contina en un intervalo cerrado [a; b] tal que existe un c
2 [a; b] con la condicin f (c) = 0: Con una aproximacin inicial x0 por el pun-
to P0 (x0 ; f (x0 )) trazamos una recta tangente a la curva y = f (x) en el punto
P0 (x0 ; f (x0 )): La recta tangente intersecta al eje x en el punto (x1 ; 0), el punto
2.5. MTODO DE NEWTON. 37
Nuevamente trazamos una recta tangente a la curva f (x) por el punto de tangencia,
el corte de la tangente con el eje x es el punto (x2 ; 0) este determinar una nueva
aproximacin a la raz c:
(2.6)
Hallando la formula iterativa, dado el punto P0 (x0 ; f (x0 )) se traza la recta tangente,
esta tendra por ecuacin,
y f (x0 ) = m(x x0 )
38 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
y despejando x1 se obtiene
f (x0 )
x1 = x0 ; f 0(x0 ) 6= 0:
f 0(x0 )
f (xi 1 )
xi = xi 1 ; f 0(xi 1 ) 6= 0
f 0(xi 1 )
3
Ejemplo 2.10 Encontrar una raz dentro de 10 para 3x2 7x 6 = 0 tomando
como valor inicial x0 = 1:
i=1;
ea(1)=100;
xa(1)=xai;
xr(1)=xa(1)-((f(xa(1))/g(xa(1))));
fprintf(%2dt % 11.7fnn,i,xr(i));
xa(i+1)=subs(xr(i));
xr(i+1)=xa(i+1)-((f(xa(i+1))/g(xa(i+1))));
ea(i+1)=abs((xr(i+1)-xr(i)));
i+1,xr(i+1),ea(i+1));
i=i+1;
end
disp( - );
fprintf(LA RAIZ ES )
xr(i)
disp( - );
if retchoose==1
MENU
end
if retchoose==0
end
42 CAPTULO 2. SOLUCIN DE ECUACIONES NO LINEALES
Captulo 3
Ejemplo 3.1 Suponga que un equipo de tres paracaidistas est unido por una cuerda
ligera mientras va en cada libre a una velocidad de 5m=s. Ver 3.1
Calcule la tensin en cada seccin de la cuerda y la aceleracin del equipo, dados los
siguientes datos.
Los diagramas de cuerpo libre para cada uno de los paracaidistas se relacionan a
43
44 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
continuacin.Ver 3.1
(3.1)
Sumando las fuerzas en la direccin vertical y utilizando la segunda ley de Newton,
se obtiene el siguiente sistema de ecuaciones lineales....
m1 g T c1 v = m1 a
m2 g + T c2 v R = m2 a
m3 g c3 v + R = m3 a
2 3 2 3 2 3
70 1 0 a 636
6 7 6 7 6 7
6 7 6 7 6 7
6 60 1 1 7 6 T 7= 6 518 7
4 5 4 5 4 5
40 0 1 R 307
3.1. MTODOS DIRECTOS DE SOLUCIN 45
2 3
a11 a12 ::: a1n b1
6 7
6 0 a22 ::: a2n b2 7
6 7
6 7
6 : ::: ::: : : 7
4 5
0 0 ::: ann bn
46 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
70x1 + x2 = 636
60x1 x2 + x3 = 518
40x1 x3 = 307
Eliminacin en la la 3 y columna 1
2 3
70 1 0 636
6 7
6 7
6 0 1;8571 1 27;1429 7
4 5
0 0;5714 1 56;4286
3.1. MTODOS DIRECTOS DE SOLUCIN 47
Eliminacin en la la 3 y columna 2
2 3
6 70 1 0 636 7
6 7
6 0 1;8571 1 27;1429 7
4 5
0 0 1;3077 48;0729
[x,y]=size(A);
Ay=A;
disp(Ay)
if x+1==y;
p=1;
else
fprintf(nn);
fprintf(La matriz no es de nxn+1);
A=input(Introduzca la matriz aumentada:);
end
for j=1:x-1;
for i=j+1:x;
A(i,:)=[-A(i,j)/A(j,j)]*A(j,:)+A(i,:);
fprintf(Eliminacin en la la %2d y columna %2d,i,j);
fprintf(nn);
disp(A)
end
end
end
retchoose=input(Desea volver al menu de seleccion? (1=Si; 0=No) );
if retchoose==1
MENU
end
if retchoose==0
disp(GRACIAS POR UTILIZAR NUESTRA APLICACION);
end
3.1. MTODOS DIRECTOS DE SOLUCIN 49
50 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
2 3
1 0 ::: 0 b1
6 7
6 0 1 ::: 0 b2 7
6 7
6 7
6 : : 1 0 : 7
4 5
0 0 0 1 bn
x1 = b1 x2 = b2 :::: xn = bn
3.1. MTODOS DIRECTOS DE SOLUCIN 51
70x1 + x2 = 636
60x1 x2 + x3 = 518
40x1 x3 = 307
Eliminacin en la la 3 y columna 2
2 3
1 1=70 0 318=35
6 7
6 7
6 0 13=7 1 190=7 7
4 5
0 0 17=13 625=13
52 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
Eliminacin en la la 1 y columna 2
2 3
1 0 1=130 577=65
6 7
6 7
6 0 1 7=13 190=13 7
4 5
0 0 1 625=17
Eliminacin en la la 1 y columna 3
2 3
6 1 0 0 1461=170 7
6 7
6 0 1 7=13 190=13 7
4 5
0 0 1 625=17
Eliminacin en la la 1 y columna 2
2 3
1 0 0 1461=170
6 7
6 7
6 0 1 0 585=17 7
4 5
0 0 1 625=17
disp(BIENVENIDO);
fprintf(Recuerde para el calculo se trabajara con la matriz ampliada, Ajb, es la que
usted debe ingresarnnnn);
f=input(PORFAVOR INDIQUE, CUANTAS FILAS TIENE LA MATRIZ?: );
c=input(PORFAVOR INDIQUE, CUANTAS COLUMNAS TIENE LA MATRIZ?:
);
disp( );
for k=1:c
for j=1:f
fprintf(PORFAVOR, INTRODUZCA EL ELEMENTO );
fprintf(Fila %x, j)
fprintf(, Columna %x, k)
fprintf(nn);
r=input( );
fprintf( -nn);
A(j,k)=r;
j=j+1;
end
k=k+1;
end
A
for k=1:c-1
A(k,:)=A(k,:)/A(k,k);
for j=k+1:f
A(j,:)=A(j,:)-A(k,:)*A(j,k);
j=j+1;
A
end
54 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
k=k+1;
A
end
for k=f:-1:2
for j=k-1:-1:1
A(j,:)=A(j,:)-A(k,:)*A(j,k);
j=j-1;
A
end
k=k-1;
disp( );
A
disp(LA MATRIZ REDUCIDA INDICA LOS RESULTADOS DE "x");
disp( );
disp(GRACIAS POR UTILIZAR LA APLICACION);
disp( );
end
retchoose=input(Desea volver al menu de seleccion? (1=Si; 0=No) );
if retchoose==1
clear all
menu
end
if retchoose==0
disp(EL USO DE LA APLICACION HA FINALIZADO);
break
end
3.1. MTODOS DIRECTOS DE SOLUCIN 55
56 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
3.2.1. Factorizacin LU
70x1 + x2 = 636
60x1 x2 + x3 = 518
40x1 x3 = 307
La matriz U es: 2 3
70 1 0
6 7
6 7
U =6 0 13=7 1 7
4 5
0 0 17=13
y la matriz L 2 3
6 1 0 0 7
6 7
L = 6 6=7 1 0 7
4 5
4=7 4=13 1
El vector c es 2 3
636
6 7
6 7
c=6 190=7 7
4 5
625=13
El vector solucin para el sistema de ecuaciones es:
2 3
6 1461=170 7
6 7
x = 6 585=17 7
4 5
625=17
nn)
p=0;
else
p=1;
end
for j=1:x-1;
for i=j+1:x;
A(i,:)=[-A(i,j)/A(j,j)]*A(j,:)+A(i,:);
fprintf(nn);
end
end
end
C=zeros(x,1);
C(:,1)=A(:,y);
fprintf(La matriz C es: nn);
disp(C)
U=zeros(x,y-1);
U(:,:)=A(:,1:x);
fprintf(La matriz U es: nn);
disp(U)
F=zeros(x,1);
sum=0;
for i=x:-1:1
for j=x:-1:i
if j==i
F(j,1)=(-sum+C(j,1))/U(i,i);
sum=0;
else
60 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
sum=sum+F(j,1)*U(i,j);
end
end
end
fprintf(La matriz de soluciones para el sistema de ecuaciones que usted ingreso es:
nn);
disp(F)
if retchoose==1
MENU
end
if retchoose==0
end
3.2. MTODOS DE FACTORIZACIN 61
62 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
donde
2 3
a11 a12 ::: a1n
6 7
6 a 7
6 21 a22 ::: a2n 7
A=6 7
6 : ::: ::: : 7
4 5
an1 an2 ::: ann
2x1 x2 = 5
1x1 + 4x2 + 2x3 = 10
2x2 + 2x3 = 15
end %
sum=0; %
for j=1:k-1 %
sum=sum+A(k,j)*A(k,j); %
end %
A(k,k)=sqrt(A(k,k)-sum); %
end %
for i=1:n-1 %Aade los ceros de la L de cholesky
for j=1:n %(puesto que el algoritmo solo
if j>i %altera los elementos de
A(i,j)=0; %la diagonal principal de A
end %y por debajo de esta)
end %
end %
L=A; %cambio de variable
Lt=L; %Lt sera la U de cholesky(transpuesta de L)
c=b1; %se inicializa el vector ", que tiene el mismo tamao de "b"
c(1)=b1(1)/L(1,1); %se determina el primer elemento de c
for i=2:n %procedimiento para hallar "(progresivamente)
s=0; %
for j=1:n-1 %
if i~=j & i>j %
s=s+L(i,j)*c(j) ; %
end %
end %
c(i)=(b1(i)-s)/L(i,i); %
end %
x=c; %se inicializa el vector "x", que tiene el mismo tamao de "
66 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
z=0; %
z=z+Lt(i,j)*x(j); %
end %
end %
x(i)=(c(i)-z)/Lt(i,i); %
end %
Lt %muestra superior
clear all %elimina las variables del espacio de trabajo(evita que el programa se cargue
de basura)
if retchoose==1
MENU
end
if retchoose==0
end
3.2. MTODOS DE FACTORIZACIN 67
68 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
70x1 + x2 = 636
60x1 x2 + x3 = 518
40x1 x3 = 307
La matriz U es:
2 3
70 1 0
6 7
6 7
U =6 0 13=7 1 7
4 5
0 0 17=13
y la matriz L 2 3
6 1 0 0 7
6 7
L = 6 6=7 1 0 7
4 5
4=7 4=13 1
El vector c es 2 3
636
6 7
6 7
c=6 190=7 7
4 5
625=13
El vector solucin para el sistema de ecuaciones es:
2 3
1461=170
6 7
6 7
x = 6 585=17 7
4 5
625=17
70 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
y ceros
for k=1:n-1 %factorizacion de doolittle
for i=k+1:n %
L(i,k)=A(i,k)/A(k,k); %(se determina la "L")
for j=1:n %
A(i,j)=A(i,j)-A(k,j)*L(i,k); %(se determina la "(A se transforma en U))
end %
end %
end %
U=A; %cambio de variable
c=b1; %se inicializa el vector ", que tiene el mismo tamao de "b"(se determina
c(1))
for i=2:n %procedimiento para hallar "(progresivamente)
z=0; %
for j=1:n-1 %L*c=b
if i~=j & i>j %
z=z+L(i,j)*c(j); %
end %
end %
c(i)=b1(i)-z; %
end %
x=c; %se inicializa el vector "x", que tiene el mismo tamao de "
x(n)=c(n)/U(n,n); %se determina x(n)(ultima solucion del sistema)
for i=n-1:-1:1 %procedimiento para hallar "x"(regresivamente)
z=0; %
for j=n:-1:2 %U*x=c
if i~=j & i<j %
z=z+U(i,j)*x(j); %
72 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
end %
end %
x(i)=(c(i)-z)/U(i,i); %
end %
U %muestra superior
clear all %elimina las variables del espacio de trabajo(evita que el programa se cargue
de basura)
if retchoose==1
MENU
end
if retchoose==0
end
3.2. MTODOS DE FACTORIZACIN 73
74 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
Igual que el mtodo anterior solo que en la matriz U los elementos de la diagonal
principal son unos. As u11 = u22 = u33 = 1:
70x1 + x2 = 636
60x1 x2 + x3 = 518
40x1 x3 = 307
La matriz L corresponde
2 3
6 70 0 0 7
6 7
L = 6 60 13=7 0 7
4 5
40 4=7 17=13
y la matrz U es -
2 3
1 1=70 0
6 7
6 7
U =6 0 1 7=13 7
4 5
0 0 1
el vector desconocido c es 2 3
318=35
6 7
6 7
c = 6 190=13 7
4 5
625=17
3.2. MTODOS DE FACTORIZACIN 75
end
end
b1=b; % "b.es un vector columna
U=eye(n); %inicializa la "de crout(le da el tamao de A),y evita crear sus unos y
ceros
for k=1:n-1 %factorizacion de crout
for j=k+1:n %
U(k,j)=A(k,j)/A(k,k); %(se determina la ")
for i=1:n %
A(i,j)=A(i,j)-A(i,k)*U(k,j); %(se determina la "L"(A se transforma en L))
end %
end %
end %
L=A; %cambio de variable
c=b1; %se inicializa el vector ", que tiene el mismo tamao de "b"
c(1)=b1(1)/L(1,1); %se determina el primer elemento de c
for i=2:n %procedimiento para hallar "(progresivamente)
s=0; %
for j=1:n-1 %
if i~=j & i>j %
s=s+L(i,j)*c(j); %
end %
end %
c(i)=(b1(i)-s)/L(i,i); %
end %
x=c; %se inicializa el vector "x", que tiene el mismo tamao de "
for i=n-1:-1:1 %procedimiento para hallar "x"(regresivamente)
s=0; %
3.2. MTODOS DE FACTORIZACIN 77
for j=n:-1:2 %
s=s+U(i,j)*x(j); %
end %
end %
x(i)=c(i)-s; %
end %
U %muestra superior
clear all %elimina las variables del espacio de trabajo(evita que el programa se cargue
de basura)
if retchoose==1
MENU
end
if retchoose==0
end
78 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
3.3. MTODOS ITERATIVOS 79
A=L+D+R
donde L es una matriz triangular inferior, D es la matriz diagonal formada por los
elementos de A y R es una matriz triangular superior. Entonces
(L + D + R)x = b
Dx = b (L + R)x S{ dii 6= 0
1
x=D (b (L + R)x)
x = D 1b D 1 (L + R)x si D 1
existe
80 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
1 X
n
xk+1
i = (bi aij xkj i = 1; :::; n k = 0; 1; :::
aii j=1i6=j
2x1 + x2 + x3 =4
x1 + 3x2 + x3 = 5
x1 + 2x2 4x3 =6
xk+1
1 = 21 (4 xk2 xk3 )
xk+1
2 = 13 ( 5 + xk1 xk3 )
xk+1
3 = 1
4
(6 xk1 2xk2 )
3.3. MTODOS ITERATIVOS 81
i x1 x2 x3 Error Solucin
0 0 0 0
1 2 -1,66666667 -1,5 3,00462606
2 3,58333333 -0,5 -1,83333333 1,99478487
3 3,16666667 0,13888889 -0,85416667 1,24119196
4 2,35763889 -0,32638889 -0,63888889 0,95778592
5 2,48263889 -0,66782407 -1,07378472 0,56686627
6 2,8708044 -0,48119213 -1,21325231 0,45271973
7 2,84722222 -0,30531443 -1,02289497 0,26024028
8 2,6641047 -0,3766276 -0,94085166 0,21295234
9 2,65873963 -0,46501455 -1,02228763 0,12030317
10 2,74365109 -0,43965758 -1,06782237 0,09963104
11 2,75373997 -0,39617552 -1,03391602 0,05605458
12 2,71504577 -0,40411467 -1,00965276 0,04635706
13 2,70688372 -0,42510049 -1,02329589 0,02632791
14 2,72419819 -0,42327346 -1,03582932 0,02145264
15 2,72955139 -0,41332416 -1,03058718 0,01245493
16 2,72195567 -0,41328714 -1,02427423 0,00987672 Solucin
disp( );
r=input(Ingrese el numero de ecuaciones: );
A=input(Ingrese la matriz A: );
b=input(Ingrese la matriz b: );
X0=zeros(1,r);
K=0; Norma=1;
fprintf(K X(1) X(2) X(3) X(4) Normann)
while Norma>0.0001
K=K+1;
fprintf(%2d,K)
for i=1:r
suma=0;
for j=1:r
if i ~=j
suma=suma+A(i,j)*X0(j);
end
end
X(i)=(b(i)-suma)/A(i,i);
fprintf(%10.4f,X(i))
end
Norma=norm(X0-X);
fprintf(%10.4fnn,Norma)
X0=X;
if K>25
dis(No se alcanzo la convergencia)
break
end
end
3.3. MTODOS ITERATIVOS 83
if retchoose==1
MENU
end
if retchoose==0
end
84 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
3.3. MTODOS ITERATIVOS 85
A=L+D+R
donde L es una matriz triangular inferior, D es la matriz diagonal formada por los
elementos de A y R es una matriz triangular superior. Entonces
(L + D + R)x = b
(L + D) x = b Rx S{ dii 6= 0
1
x = (L + D) (b Rx)
1 1 1
x = (L + D) b (L + D) Rx si D existe
entonces a partir de un vector inicial x0 2 Rn , se tiene la siguiente iteracin de
punto jo
1 1
xk+1 = (L + D) b (L + D) Rxk k = 0; 1; :::; n
x1 + 3x2 + x3 = 5
x1 + 2x2 4x3 =6
86 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
xk+1
1 = 12 (4 xk2 xk3 )
xk+1
2 = 13 ( 5 + xk+1
1 xk3 )
xk+1
3 = 1
4
(6 xk+1
1 2xk+1
2 )
i x1 x2 x3 Error Solucin
0 0 0 0
1 2 -1 -1,5 2,6925824
2 3,25 -0,08333333 -0,72916667 1,73117353
3 2,40625 -0,62152778 -1,20920139 1,10995525
4 2,91536458 -0,29181134 -0,91706453 0,67324181
5 2,60443793 -0,49283251 -1,09530677 0,41091993
6 2,79406964 -0,37020786 -0,98658652 0,25063337
7 2,67839719 -0,44500543 -1,05290342 0,1528814
8 2,74895442 -0,39938072 -1,01245175 0,09325382
9 2,70591624 -0,42721067 -1,03712628 0,05688254
10 2,73216847 -0,41023508 -1,02207542 0,03469695
11 2,71615525 -0,42058977 -1,03125607 0,02116429
12 2,72592292 -0,41427367 -1,0256561 0,0129097
13 2,71996489 -0,41812634 -1,02907195 0,0078746 Solucin
if retchoose==1
MENU
end
if retchoose==0
end
3.3. MTODOS ITERATIVOS 89
90 CAPTULO 3. SISTEMAS DE ECUACIONES LINEALES.
converge si y s;olo si
En este captulo se estudia las tecnicas que permitan resolver sistemas de ecuaciones
no lineales, f (x) = 0; se utilizaran sistemas de dos ecuaciones no lineales con dos
incognitas, lo cual no implica la perdida de generalidad y a cambio permite realizar
los clculos de manera ms agil. entre los mtodos a estudiar tenemos el mtodo
de punto jo multivariable y el mtodo de Newton Raphson.[7]
Resolver.
f1 (x; y) = x2 10x + y 2 + 8 = 0
(4.1)
f2 (x; y) = xy 2 + x 10y + 8 = 0
91
92 CAPTULO 4. SISTEMAS DE ECUACIONES NO LINEALES.
2
k+1 k k
xk + (y k )2 + 8
x = g1 (x ; y ) =
10
2 (4.2)
k+1 k+1 k
xk+1 y k + xk+1 + 8
y = g2 (x ;y ) =
10
f1 (x; y) = 0
(4.3)
f2 (x; y) = 0
Una vez expandido en series de Taylor, alrededor de los puntos (xk ; y k ); se llega al
siguiente sistema,
Sea
xk+1 xk = h
(4.5)
k+1 k
y y =j
@f1 @f1
h+ j= f1
@x @y
(4.6)
@f2 @f2
h+ j= f2
@x @y
xk+1 = xk + h
(4.8)
k+1 k
y =y +j
%Sistema a resolver
f1=x0^2-10*x0+y0^2+8;
f2=x0*y0^2+x0-10*y0+8;
%Matriz Jacobiana
A=[df1x df1y; df2x df2y];
b=[-f1;-f2];
y1=y0+hj(2);
Aproximacin funcional e
interpolacin
P untos 0 1 2 3 4 5 6 (5.1)
T (o C) 56;5 78;6 113 144;5 181 205 214;5
P (atm) 1 2 5 10 20 30 40
97
98 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
P untos 0 1 2 3 (5.2)
T (o C) 56;5 113 181 214;5
P (atm) 1 5 20 40
Supongase que slo se dispusiera de la segunda tabla y se desea calcular la temper-
atura de ebullicin de la acetona a 2 atm de presin.
Supongamos que contamos solo con los puntos 0; 2; 4; 6 de la tabla [5.3] y se desea
calcular la presin de vapor a 950 C.
Solucin ( Para dos puntos experimentales) Una forma de resolver este proble-
ma sera sustituir los puntos (0) y (2) en la ecuacin de la lnea recta P (T ) = a0 +a1 T
donde se desconoce a0 y a1 : Se plantea entonces la solucin de un sistema de dos
ecuaciones lineales con dos incognitas el cual resulta de sustituir los puntos P0 y P2
5.1. APROXIMACIN POLINOMIAL SIMPLE E INTERPOLACIN 99
obtetiendose,
10 = P (930) = a0 + a1 930
20 = P (988) = a0 + a1 988
Las soluciones para el polinomio de la forma P (T ) = a0 + a1 T son: a1 = 0;1724 y
a0 = 150;3448:
Esta ecuacin puede emplearse para aproximar la presin cuando la temperatura es
conocida.
Solucin ( Para tres puntos experimentales) Una forma de resolver este prob-
lema sera sustituir los puntos (0), (2) y (4); ( No importa cuales puntos utilice ) en
la ecuacin del polinomio de grado dos P (T ) = a0 + a1 T + a2 T 2 donde se desconoce
a0 , a1 y a2 . Se plantea entonces la solucin de un sistema de tres ecuaciones lineales
con tres incognitas el cual resulta de sustituir los puntos P0 ,P2 y P4 obtetiendose,
Pn (x) = a0 + a1 x + a2 x2 + ::: + an xn
clc;
end
fprintf(nn);
fprintf(UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIAnn);
fprintf(PROYECTO DE PRIMER NOMBRAMIENTOnn);
fprintf(GUIA PRACTICA DE METODOS NUMRICOSnn);
fprintf(ALEXIS FAVIAN MALPICA VEGAnn);
fprintf(nn);
disp( );
disp(APROXIMACION POLINOMIAL SIMPLE );
disp( );
disp(BIENVENIDO);
puntos=input(PORFAVOR, INGRESE EL NUMERO DE PUNTOS CON LOS
QUE DESEA TRABAJAR );
disp( );
if puntos==0
disp(Lo sentimos, el metodo requiere la presencia de al menos dos puntos)
end
if puntos==1
disp(Lo sentimos, el metodo requiere la presencia de al menos dos puntos)
end
%PARA DOS PUNTOS
if puntos==2
a12=input(PORFAVOR, INGRESE EL PRIMER TERMINO (x1) );
a22=input(PORFAVOR, INGRESE EL SEGUNDO TERMINO (x2) );
A=[1 a12 ; 1 a22];
5.1. APROXIMACIN POLINOMIAL SIMPLE E INTERPOLACIN 101
B(3,1) = B(3,1)-((A(3,2))/(A(2,2)))*B(2,:);
A(3,:) = A(3,:)-((A(3,2))/(A(2,2)))*A(2,:);
Amp=[A,B]
disp(......................................................);
disp(Las soluciones para el polinomio de la forma P(x)= a0+ a1(x)+ a2(x^2) son:
);
a2=(B(3,1))/(A(3,3))
a1=(((B(2,1))-((A(2,3))*a2))/(A(2,2)))
a0=((B(1,1)-((A(1,3))*a2)-((A(1,2))*a1))/(A(1,1)))
disp( );
hallarp=input(Desea calcular algun P(xi) particular? (Marque 1=SI o 0=NO) );
if hallarp==1
disp( );
xi=input(Porfavor, ingrese el punto a evaluar (xi): );
P(xi)=a0+(a1*(xi))+(a2*(xi^2));
P(xi)
5.1. APROXIMACIN POLINOMIAL SIMPLE E INTERPOLACIN 103
end
disp(GRACIAS POR UTILIZAR LA APLICACION);
disp( );
end
%PARA CUATRO PUNTOS
if puntos==4
a12=input(PORFAVOR, INGRESE EL PRIMER TERMINO (x1) );
a22=input(PORFAVOR, INGRESE EL SEGUNDO TERMINO (x2) );
a32=input(PORFAVOR, INGRESE EL TERCER TERMINO (x3) );
a42=input(PORFAVOR, INGRESE EL CUARTO TERMINO (x4) );
A=[1 a12 (a12)^2 (a12)^3; 1 a22 (a22)^2 (a22)^3; 1 a32 (a32)^2 (a32)^3; 1 a42
(a42)^2 (a42)^3];
b1=input(PORFAVOR, INGRESE f(x1) );
b2=input(PORFAVOR, INGRESE f(x2) );
b3=input(PORFAVOR, INGRESE f(x3) );
b4=input(PORFAVOR, INGRESE f(x4) );
B=[b1;b2;b3;b4];
Amp=[A,B]
B(4,1) = B(4,1)-(((A(4,1))/(A(1,1))))*(B(1,1));
A(4,:) = A(4,:)-(((A(4,1))/(A(1,1))))*(A(1,:));
B(3,1) = B(3,1)-(((A(3,1))/(A(1,1))))*(B(1,1));
A(3,:) = A(3,:)-(((A(3,1))/(A(1,1))))*(A(1,:));
B(2,:) = B(2,1)-(((A(2,1))/(A(1,1))))*(B(1,1));
A(2,:) = A(2,:)-(((A(2,1))/(A(1,1))))*(A(1,:));
Amp=[A,B]
104 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
disp(......................................................);
B(4,1) = B(4,1)-(((A(4,2))/(A(3,2))))*B(3,1);
A(4,:) = A(4,:)-(((A(4,2))/(A(3,2))))*A(3,:);
B(3,1) = B(3,1)-(((A(3,2))/(A(2,2))))*B(2,1);
A(3,:) = A(3,:)-(((A(3,2))/(A(2,2))))*A(2,:);
Amp=[A,B]
disp(......................................................);
B(4,1) = B(4,1)-((A(4,3))/(A(3,3)))*B(3,1);
A(4,:) = A(4,:)-((A(4,3))/(A(3,3)))*A(3,:);
Amp=[A,B]
disp(......................................................);
disp(Las soluciones del polinomio de la forma P(x)= a0+ a1(x)+ a2(x^2)+ a3(x^3)
son: );
a3=(B(4,1))/(A(4,4))
a2=((B(3,1))-((A(3,4))*a3))/(A(3,3))
a1=((B(2,1))-((A(2,4))*a3)-((A(2,3))*a2))/(A(2,2))
a0=((B(1,1)-((A(1,4))*a3)-((A(1,3))*a2))-((A(1,2))*a1))/(A(1,1))
disp( );
hallarp=input(Desea calcular algun P(xi) particular? (Marque 1=SI o 0=NO) );
if hallarp==1
disp( );
xi=input(Porfavor, ingrese el punto a evaluar (xi): );
P(xi)=a0+(a1*(xi))+(a2*(xi^2))+((a3*(xi^3)));
P(xi)
end
5.1. APROXIMACIN POLINOMIAL SIMPLE E INTERPOLACIN 105
B=[b1;b2;b3;b4;b5];
Amp=[A,B]
B(5,1) = B(5,1)-(((A(5,1))/(A(1,1))))*(B(1,1));
A(5,:) = A(5,:)-(((A(5,1))/(A(1,1))))*(A(1,:));
B(4,1) = B(4,1)-(((A(4,1))/(A(1,1))))*(B(1,1));
A(4,:) = A(4,:)-(((A(4,1))/(A(1,1))))*(A(1,:));
B(3,1) = B(3,1)-(((A(3,1))/(A(1,1))))*(B(1,1));
A(3,:) = A(3,:)-(((A(3,1))/(A(1,1))))*(A(1,:));
B(2,:) = B(2,1)-(((A(2,1))/(A(1,1))))*(B(1,1));
106 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
A(2,:) = A(2,:)-(((A(2,1))/(A(1,1))))*(A(1,:));
Amp=[A,B]
disp(......................................................);
B(5,1) = B(5,1)-(((A(5,2))/(A(4,2))))*B(4,1);
A(5,:) = A(5,:)-(((A(5,2))/(A(4,2))))*A(4,:);
B(4,1) = B(4,1)-(((A(4,2))/(A(3,2))))*B(3,1);
A(4,:) = A(4,:)-(((A(4,2))/(A(3,2))))*A(3,:);
B(3,1) = B(3,1)-(((A(3,2))/(A(2,2))))*B(2,1);
A(3,:) = A(3,:)-(((A(3,2))/(A(2,2))))*A(2,:);
Amp=[A,B]
disp(......................................................);
B(5,1) = B(5,1)-((A(5,3))/(A(4,3)))*B(4,1);
A(5,:) = A(5,:)-((A(5,3))/(A(4,3)))*A(4,:);
B(4,1) = B(4,1)-((A(4,3))/(A(3,3)))*B(3,1);
A(4,:) = A(4,:)-((A(4,3))/(A(3,3)))*A(3,:);
Amp=[A,B]
disp(......................................................);
B(5,1) = B(5,1)-((A(5,4))/(A(4,4)))*B(4,1);
A(5,:) = A(5,:)-((A(5,4))/(A(4,4)))*A(4,:);
Amp=[A,B]
disp(......................................................);
disp(Las soluciones del polinomio de la forma P(x)= a0+ a1(x)+ a2(x^2)+ a3(x^3)+
a4(x^4) son: );
a4=(B(5,1))/(A(5,5))
a3=((B(4,1))-((A(4,5))*a4))/(A(4,4))
a2=((B(3,1))-((A(3,5))*a4)-((A(3,4))*a3))/(A(3,3))
a1=((B(2,1))-((A(2,5))*a4)-((A(2,4))*a3)-((A(2,3))*a2))/(A(2,2))
a0=((B(1,1))-((A(1,5))*a4)-((A(1,4))*a3)-((A(1,3))*a2)-((A(1,2))*a1))/(A(1,1))
5.1. APROXIMACIN POLINOMIAL SIMPLE E INTERPOLACIN 107
disp( );
if hallarp==1
disp( );
P(xi)=a0+(a1*(xi))+(a2*(xi^2))+((a3*(xi^3)))+(a4*(xi^4));
P(xi);
end
end
if retchoose==1
MENU
end
if retchoose==0
end
Ejemplo 5.7 Construir el polinomio de Lagrange de grado tres para la tabla [5.3]
con los puntos (0) ; (1) (2) ; (3) :
donde
(x x1 ) (x x2 ) (x x3 ) (x 988) (x 1050) (x 1088)
L0 (x) = = ;
(x0 x1 ) (x0 x2 ) (x0 x3 ) (930 988) (930 1050) (930 1088)
: as
1
L0 (x) (x 988) (x 1050) (x 1088)
1099 680
112 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
1
L1 (x) = (x 930) (x 1050) (x 1088)
359 600
(x x0 ) (x x1 ) (x x3 ) (x 930) (x 988) (x 1088)
L2 (x) = = ;
(x2 x0 ) (x2 x1 ) (x2 x3 ) (1050 930) (1050 988) (1050 1088)
:
1
L2 (x) = (x 930) (x 988) (x 1088)
282 720
y
(x x0 ) (x x1 ) (x x2 ) (x 930) (x 988) (x 1050)
L3 (x) = = ;
(x3 x0 ) (x3 x1 ) (x3 x2 ) (1088 930) (1088 988) (1088 1050)
:
1
L3 (x) = (x 930) (x 988) (x 1050)
600 400
El polinomio de Lagrange es
367048647864051 243423845357663 2 217456600519417 261117814077185
p(x) = x3 x+ x
73786976294838206464 18014398509481984 17592186044416 68719476736
Algoritmo 5.8 function [C,L]=lagrange(X,Y)disp(
);
cln=input(Desea limpiar la pantalla? (Digite 1=Si; 0=NO) );
if cln==1
clc;
end
fprintf(nn);
fprintf(UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIAnn);
fprintf(PROYECTO DE PRIMER NOMBRAMIENTOnn);
fprintf(GUIA PRACTICA DE METODOS NUMRICOSnn);
fprintf(ALEXIS FAVIAN MALPICA VEGAnn);
5.2. POLINOMIOS DE LAGRANGE 113
fprintf(nn);
disp( );
disp(POLINOMIO DE LAGRANGE );
disp( );
disp(BIENVENIDO);
disp( );
fprintf(PORFAVOR, INGRESE LOS VALORES DE ENTRADA (xi): nn);
X=input(Hagalo en forma de vectorial (Ej.: [-1 1 2]):nn);
disp( );
fprintf(PORFAVOR, INGRESE LOS VALORES DE SALIDA (f(xi)): nn);
Y=input(Hagalo en forma de vectorial (Ej.: [1 4 2]):nn );
disp( );
%coecientes de Lagrange
w=length(X);
n=w-1;
L=zeros(w,w);
% Formacin de los polinomios coecientes de Lagrange
for k=1:n+1
V=1;
for j=1:n+1
if k~=j
V=conv(V,poly(X(j)))/(X(k)-X(j));
end
end
L(k,:)=V;
end
%Calculo de los coecientes del polinomio interpolador de Lagrange
C=Y*L;
114 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
%syms x
pretty(poly2sym(C))
x=-5:0.001:5;
p=polyval(C,x);
plot(x,p,-,x,p,*);
disp( );
disp( );
if retchoose==1
MENU
end
if retchoose==0
end
5.2. POLINOMIOS DE LAGRANGE 115
116 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
x x0 x1 x2 ::: xn
y que pasa por los puntos (0) ; (1) (2) ; :::; (n) los coecientes a0 ; a1 ; a2 ; :::; an estn
dados por
a0 = f [x0 ]
a1 = f [x0 ; x1 ]
a2 = f [x0 ; x1 ; x2 ]
:
:
an = f [x0 ; x1 ; :::; xn]
donde f [x0 ] ; f [x0 ; x1 ] ; :::; f [x0 ; x1 ; :::; xn] : son diferencias divididas.
x4 f [x4 ]
(Tabla general de diferencias divididas)
P untos 0 1 2 3 4 (5.5)
e 40 60 80 100 120
donde e son los volts y p los kilowats en una curva de prdida en el ncleo para un
motor elctrico:
Solucin
5.3. POLINOMIOS DE NEWTON. 119
1.
P4 (x) = a0 +a1 (x 40)+a2 (x 40)(x 60)+a3 (x 40)(x 60)(x 80)+a4 (x 40)(x 60)(x 80)(x
for h=3:1:S(1,1)+1
fprintf(+ %.15f,A(1,h))
i=h-2;
for j=1:1:i
fprintf((x-( %.5f)),A(j,1))
end
end
disp( );
else
clear;
diferencias;
end
if retchoose==1
MENU
end
if retchoose==0
end
122 CAPTULO 5. APROXIMACIN FUNCIONAL E INTERPOLACIN
Captulo 6
Integracin Numrica
Z Z Z
x2 sin x
e dx x
dx ecos x
123
124 CAPTULO 6. INTEGRACIN NUMRICA
f (xk ) + f (xk+1 )
= (xk+1 xk )
2
es decir " #
Z b X1
N
h
f (x)dx = f (a) + f (b) + 2 f (xk )
a 2 k=1
Z b
h
f (x)dx = [f (a) + f (b)]
a 2
El error total es
N b a
ET = h3 f ii ( ) = h2 f ii ( ) 2 (a; b)
12 12
N ii N b a
jET j = h3 f ( ) h3 L = h3 L
12 12 12
b a
recuerde que h =
N
En el caso de la regla simple de los Trapecios, tenemos que h = b ay
h3 00
ET = f ( ) para algn 2 (a; b)
12
Z 2
1
Ejemplo 6.1 Use la regla de los Trapecios con N = 65, para estimar I = dx.
1 x
Solucin Utilizando el algoritmo del mtodo de los trapecios
Es decir,
2 3
Z b
N
X
2
2 N
X
2
2
h4
f (x)dx ' f (a) + f (b) + 4 f (x2k+1 ) + 2 f (x2k )5
a 3 k=0 k=1
N b a iv
ET = h5 f iv ( ) = h4 f ( ) 2 (a; b)
180 180
En el caso N = 2,
h4 iv (b a)5 iv
ET = f ( )= f ( ) 2 (a; b)
90 2880
Se presenta el correspondiente algoritmo.
1
Solucin Utilizando el algoritmo del mtodo de Simpson con a = 0; b =
3
6.2. REGLA DE SIMPSON 1/3 129
3
; m = 3 se obtiene el siguiente resultado,
130 CAPTULO 6. INTEGRACIN NUMRICA
De la misma forma que se obtuvieron las regla de los Trapecios y la regla de Simpson
1
, se puede interpolar la funcin f en cada subintervalo [xk ; xk+3 ] , k = 0; 3; :::; N 3
3
(lo que requiere que N sea un entero positivo mltiplo de 3, es decir, N = 3m, m
un entero positivo), mediante un polinomio de interpolacin de Lagrange de grado
menor o igual que tres, pk (x) , usando los nodos xk ; xk+1 ; xk+2 ; xk+3 :
Es decir
2 3
Z b
N
X
3
3 N
X
3
3 N
X
3
3
3h 4
f (x)dx ' f (a) + f (b) + 3 f (x3k+1 ) + 3 f (x3k+2 ) + 2 f (x3k )5
a 8 k=0 k=0 k=1
Z b
b a 2a + b a + 2b
f (x)dx ' f (a) + 3f ( ) + 3f ( ) + f (b)
a 8 3 3
6.3. REGLA DE SIMPSON 3/8 131
3
frmula que se conoce como regla simple de Simpson :
8
Entonces el error total es
N b a
ET = h5 f iv ( ) = h4 f iv ( ) 2 (a; b)
80 80
b a b a
jET j = h4 f iv ( ) h4 L
80 80
b a
En el caso N = 3, entonces h = y
3
5
3 b a (b a)5 iv
ET = f iv ( ) = f ( ) 2 (a; b)
80 3 6480
Se presenta el correspondiente algoritmo
end
end
end
end
suma=suma+sumav;
integral=(3*h/8)*suma;
t0=feval(f,x(1));
t1=feval(f,x(2));
t2=feval(f,x(3));
t3=feval(f,x(4));
t4=feval(f,x(5));
f4=(t4-(4*t3)+(6*t2)-(4*t1)+t0)/(h^4);
error=-((b-a)/80)*(h^4)*f4;
integral=integral+error
retchoose=input(Desea volver al menu de seleccion? (1=Si; 0=No) );
if retchoose==1
MENU
end
if retchoose==0
disp(GRACIAS POR UTILIZAR LA APLICACION);
end
Z
3
Ejemplo 6.6 Use la regla de Simpson 3/8 con N = 6, para estimar I = sin2 xdx.
0
3
Solucin Utilizando el algoritmo del mtodo de Simpson con a = 0; b =
8
134 CAPTULO 6. INTEGRACIN NUMRICA
3
; N = 6 se obtiene el siguiente resultado
Bibliografa
[4] MATLAB, The lenguaje of technical computing, Getting started with Matlab,
Versin 5. The Math Works Inc.
[8] SANCHEZ. Juan Miguel, SOUTO, Antonio. Problemas de clculo numrico para
ingenieros con aplicaciones Matlab. Mc Graw Hill. Madrid. 2005.
135