Practica de Computo Cientifico
Practica de Computo Cientifico
Practica de Computo Cientifico
1. Introducción
El cálculo de las raı́ces de ecuaciones nos permite conocer las soluciones que tiene la función cuando pasa
por el eje equis del plano y puede representar valores donde esa función representa algo en especı́fico.
Existen varios métodos para el cálculo de las raı́ces de una función, en esta actividad se presentan dos tipos
de método abierto.
Método de Newton-Raphson.
Si el valor inicial para la raı́z es xi , entonces se puede trazar una tangente desde el punto [xi , f (xi )] de
la curva. Por lo común, el punto donde esta tangente cruza al eje x representa una aproximación mejorada
de la raı́z (Chapra,2015). La ecuación de recta para esta aproximación luce como:
y = fi + m(x − xi )
dónde si m = fi′
y = fi + fi′ (x − xi )
0 = y(xr ) = fi + fi′ (x − xi )
fi
xr = xi − ′
fi
O de otra manera si queremos hacer recursiva esta aproximación:
fi
xi+1 = xi − (1)
fi′
x = g(x) (2)
Ası́ mediante procesos algebraicos podemos despejar una función que se aproximará a la raı́z de la función
principal.
Ası́
xi+1 = g(xi )
Siempre y cuando
|g ′ (xi )| < 1
1
2. Antecedentes
Para determinar la longitud de onda para aguas de profundidad intermedia, estimada con base a la teorı́a
lineal de oleaje, a partir de dispersión se tiene:
9.8T 2
2πd
f (x) = tanh −x (3)
2π x
Dónde:
x: Longitud de onda (m)
T : Periodo del oleaje (s)
d: Profundidad (m)
3. Metodologı́a
Programa realizado en Matlab para el cálculo de la raı́z de la función de longitud de onda para aguas de
profundidad media. Utilizando el método de Newton-Rphson y el método de iteración de punto fijo.
clear all
clc
%%%%%%%
T=7; d=4;
x=10:.1:80;
x1=12;
e=1;
en=1;
x2=12;
j=1;
k=1;
tol=0.0001;
xx(1)=x2;
yy(1)=x2;
funcion=((9.8*T^2)/(2*pi))*tanh(2*pi*d./x)-x;
fx1=((9.8*T^2)/(2*pi))*tanh(2*pi*d./x1)-x1;
gx=((9.8*T^2)/(2*pi))*tanh(2*pi*d./x);
derivada=(1344503993679063*pi*(tanh((8*pi)./x).^2 - 1))./(2199023255552*x.^2) - 1;
while en>tol
xr=x1-(((9.8*T^2)/(2*pi))*tanh(2*pi*d./x1)-x1)/((1344503993679063*pi*(tanh((8*pi)./x1).^2 - 1))./(21
en=abs(x1-xr);
vectoren(k)=en;
vectorxpn(k)=x1;
vectoripn(k)=k;
x1=xr;
k=k+1;
if k>100
disp(’Se han realizado 100 iteraciones’)
break
end
2
end
while e>0.001
x3=((9.8*T^2)/(2*pi))*tanh(2*pi*d./x2);
e=abs(x2-x3);
vectorep(j)=e;
vectorxp(j)=x2;
vectorip(j)=j;
vectorrz(j)=41.4971;
xx(end+1)=x2;
yy(end+1)=x3;
x2=x3;
j=j+1;
xx(end+1)=x2;
yy(end+1)=x2;
if j>25
disp(’Se han realizado 25 iteraciones’)
break
end
end
figure(1)
hold on
plot(x,funcion, ’c’)
plot(x,gx,’r’)
plot(x,x, ’y’)
plot(12,12,’*g’)
plot(xr,0,’og’)
plot(xx,yy, ’o-m’)
axis tight, box on, grid on
xline(xr,’--’)
xlabel(’x’)
legend(’f(x)’,’g(x)’,’x’,’x inicial’,Location=’southeast’)
title(’Funciones’)
figure(2)
hold on
plot(x(:,1:length(derivada)),derivada,’y’)
axis tight, box on, grid on
yline(1,’--’)
yline(-1,’--’)
xlabel(’x’)
legend(’g(x)’, Location=’northeast’)
title(’Derivadas’)
figure(3)
hold on
plot(vectorip, vectorxp, ’o-g’)
plot(vectoripn, vectorxpn, ’*-c’)
plot(vectorip, vectorrz, ’--r’)
axis tight, box on, grid on
xlabel(’Iteraciones’)
3
legend(’Punto fijo’,’Newton-Raphson’, Location=’northeast’)
title(’Aproximación’)
figure(4)
hold on
plot(vectorip,vectorep, ’*-c’)
plot(vectoripn,vectoren, ’o-g’)
axis tight, box on, grid on
xlabel(’Iteraciones’)
legend(’Newton-Raphson’,’Punto fijo’, Location=’northeast’)
title(’Errores’)
4. Resultados
Para interpretar mejor los resultados al cálculo de la raı́z del problema anterior se visualizan cuatro
gráficas en las figuras siguientes:
Figura 1: Gráficas de funciones utilizadas en ambos métodos para encontrar la raı́z de la función f(x), señalada
en la 1acon un cı́rculo verde que intersecta a la función con la linea no continua negra. Raı́z=41.4155
4
(a) Muestra las iteraciones que hizo el programa para (b) Calculo de errores en las aproximaciones que tu-
cada método para llegar a la raı́z de la función (linea vieron ambos métodos en el cálculo de la raı́z de la
discontinua roja). función.
5. Discusión
el algoritmo para la iteración de punto fijo es simple,consta de un ciclo que calcula en forma iterativa
nuevas aproximaciones hasta llegar a la raı́z. El algoritmo para el método de Newton-Raphson se obtiene
fácilmente al sustituir la ecuación (1) sin embargo, hay que calcular la primera derivada por separado.
ambos métodos son efectivos para la resolución de este problema, pero en este caso particular el método de
Newton-Raphson aunque llega antes a la solución el cálculo de su error fue mayor al del punto fijo.
6. Referencias
Chapra, S. (2015, 14 diciembre). METODOS NUMERICOS PARA INGENIEROS (7.a ed.). McGraw-Hill
Interamericana de España S.L.