Você está na página 1de 10

LABORATORIO METODOS NUMERICOS

OSWALDO IVAN HOMEZ LOPEZ - 234913


ANDRES FELIPE ROMERO TORRES - 274284
ALGORITMOS Y PROGRAMAS
1.

Halle una aproximacin (exacta hasta la decima cifra decimal) a la tasa de inters I con la que se
conseguira un capital acumulado total de 500000 euros si se realizaran 240 depsitos
mensuales de 300 euros:

Segn la teora expuesta en el libro el capital acumulado A varia segn la taza I en la cual influyen
factores como numero de depsitos mensuales (N) y pagos mensuales (P) , donde:

ajustndola con los datos que nos da el problema tenemos que la funcin final con la que se trabajo el
programa considerando los intervalos a partir de la grafica de la funcin entre 0.14, entre mas pequeo
este intervalo el programa corra mejor.
250

(( ) )

3600
I
1+
I
12

1 500000=0

El programa con diez cifras de precisin nos arroja la siguiente tabla con el valor final de la raz en este
caso I:

2.

Se construye una esfera de madera de r=15 cm con una variedad de roble blanco con densidad
de 0,710 gr/cm3 cunto de la esfera quedara sumergido cuando la ponemos en el agua?

La ecuacin que se uso para determinar la porcin de esfera sumergida en el agua, se obtuvo a partir de
la relacin de la masa de agua desplazada y una distancia de desplazamiento respecto al nivel del agua
(d).

De la ecuacin anterior se remplazaron los valores del problema y se obtuvo la ecuacin final que se
introdujo en Matlab con los intervalos mas cercanos a la raz (17,22) y que se obtuvieron a partir de la
grafica de la funcin. Este resultado tiene una precisin de 8 decimales y se presenta el la tabla siguiente:

3
(d 45 d 2+ 9585)
3

se evalu la misma funcin por el mtodo de la posicin falsa y el resultado fue que convergi
mas rpidamente

3.

Modifique los programas 2.2 y 2.3 respectivamente para obtener como resultado una matriz
anloga a las tablas 2.1 y 2.2, respectivamente

4.

Use su programa anterior para aproximar las tres races positivas mas pequeas de la ecuacin
x=tan(x)
La funcin f(x)=tan(x) tiene asntotas en donde es indeterminada la funcin, para tomar esta la
calculamos en 3 intervalos distintos, para (-0.5 ; 0.5), (2.5 ; 3.5), (5.5 ; 6.5)

Result
ados intervalo (-.5 , .5)

RESULTADOS INTERVALO (2.5 , 3.5)

5.

RESULTADOS INTERVALO (5.5 , 6.5)

Un plano corta una esfera de radio unidad en dos trozos de manera que uno de ellos tiene un
volumen triple que el volumen del otro. Determine la distancia x del plano al centro de la esfera.

V 2=3 V 1
V 1+ V 2=V T V 1+ 3V 1 =V T

1x

4
2
V T = V 1=
3
3
2
4
2 (1x)3 + (1x )3+ =0
3
3

Al aplicar la ecuacin anterior en los


intervalos (-0.5 , 1) se obtiene la tabla
de datos que nos demuestra la raz en
este caso.

1.Modifique los programas 2,5 y 2,6 para que generen mensajes de error apropiados
cuando: se divida entre cero las definiciones de los metodos o bien se exceda el
numero maximo de iteraciones.

este es el mtodo de newton

function [p0,err,k,y]=newton(f,df,p0,delta,epsilon,max1)
%Datos
% - f es la funcin, introducida como una cadena de caracteres 'f'
% - df es la derivada de f, introducida como una cadena 'df'
% - p0 es la aproximacin inicial a un cero de f
% - delta es la tolerancia para p0
% - epsilon es la tolerancia para los valores de la funcin
% - max1 es el nmero mximo de iteraciones
% Resultados
% - p0 es la aproximacin al cero, obtenida con el mtodo de
% Newton-Raphson
% - err es una estimacin del error de p0
% - k es el nmero de iteraciones realizadas
% - y es el valor de la funcin f(p0)

for k=1:max1
p1=p0-feval(f,p0)/feval(df,p0);
err=abs(p1-p0);
relerr=2*err/(abs(p1)+delta);
p0=p1;
y=feval(f,p0);
if (err<delta)|(relerr<delta)(abs(y)<epsilon),break,end
end

este es el metodo de la secante

function [p1,err,k,y]=secant(f,p0,p1,delta,epsilon,max1)
%Datos
% - f es la funcin, introducida como una cadena de caracteres 'f'
% - p0 y p1 son las aproximaciones inicial a un cero de f
% - delta es la tolerancia para p1
% - epsilon es la tolerancia para los valores de la funcin
% - max1 es el nmero mximo de iteraciones
% Resultados
% - p1 es la aproximacin al cero, obtenida con el mtodo de
% la secante
% - err es una estinacin del error de p0
% - k es el nmero de iteraciones realizadas
% - y es el valor de la funcin f(p1)
for k=1:max1
p2=p1-feval(f,p1)*(p1-p0)/(feval(f,p1)-feval(f,p0));
err=abs(p2-p1);
relerr=2*err/(abs(p2)+delta);
p0=p1;
p1=p2;
y=feval(f,p1);
if (err<delta)|(relerr<delta)|(abs(y)<epsilon),break,end
end

modificando los metodos:

aadimos un while a la funcion y con un if le decimos que si divide entre cero no


continue el programa.

para secante

k=1;
while(1),
if feval(f,p1)-feval(f,p0)==0,display('error no se puede dividir entre cero'),break,end

para newton

k=1;
while(1),
if feval(df,p0)==0,display('error no se puede dividir entre cero'),break,end
ahora para que tenga un maximo de iterciones le decimos por medio de un if:

para secante

if k>max1,display('error excedi el nmero de iteraciones'),break,end


k=k+1;
para newton
if k>max1,display('error excedi el nmero de iteraciones'),break,end
k=k+1;
ahora unificamos en un solo codigo para lograr nuestro mensaje de error deseado:
%compilacion primer punto
p0=0;
p1=0.5;
delta=0.000001;
epsilon=0.000001;
max1=10;
display(' Newton Raphson')
raiz=nr('f','df',p0,delta,epsilon,max1)
display('secante')
raiz=sec('f',p0,p1,delta,epsilon,max1)

figura 1 Error en el metodo NR

figura 2 Error en el metodo SEC

2. modifique los programas 2.5 y 2.6 para que den como resultado las sucesiones
generadas por las formulas respectivas.
aadimos para ambos metodos la siguiente linea, que nos permitira observar las
sucesiones generadas:

newton
sucesion_n(k,1)=p1;
secante
sucesion_secante(k,1)=p2;

y compilamos en un solo codigo para obtener las sucesiones:

%compilacion segundo punto


p0=0;

p1=0.5;
delta=0.000001;
epsilon=0-000001;
max1=10;
display(' Newton Raphson')
raiz=nr('f','df',p0,delta,epsilon,max1)
display(' secante')
raiz=sec('f',p0,p1,delta,epsilon,max1)

figura 3 sucesion de los metodos


3. modifique el programa 2,5 de manera que se pueda usar el algoritmo
para calcular raices cubicas y aproximarlas hasta la 10 cifra decimal.
para mejorar el algoritmo es justo modificar la parte en que le pedimos:
% - f es la funcin, introducida como una cadena de caracteres 'f'
% - df es la derivada de f, introducida como una cadena 'df

por:
% - A nmero al cual se evaluara la raz cbica
con esto nuestro programa queda modificado como:
function [p0,err,k,y]=cqrt(A,p0,delta,epsilon,max1)
%Datos
% - A nmero al cual se evaluara la raz cbica
% - p0 es la aproximacin inicial a un cero de f
% - delta es la tolerancia para p0
% - epsilon es la tolerancia para los valores de la funcin

% - max1 es el nmero mximo de iteraciones


% Resultados
% - p0 es la aproximacin al cero, obtenida con el mtodo de Newton-Raphson
% - err es una estinacin del error de p0
% - k es el nmero de iteraciones realizadas
% - y es el valor de la funcin f(p0)
for k=1:max1
p1=(2*p0+A/p0^2)/3;
err=abs(p1-p0);
relerr=2*err/(abs(p1)+delta);
p0=p1;
y=p0^3-A;
if (err<delta)|(relerr<delta)|(abs(y)<epsilon),break,end
end
para expresar adecuadamente nuestras respuestas usamos el siguiente
codigo:

%cuarto punto
delta=0.0000001;
epsilon=0.0000001;
max1=10;
A=7;
p0=2;
display('RTA :');
nrrc(A,p0,delta,epsilon,max1)

figura 4 respuesta inciso A, B, C.


8.hallar distancia entre funciones puntos
derivamos la funcion obtenida,Igualamos a cero la derivada, averiguamos en que
valor de x se anula la derivada, en este valor de x la funcin f(x) toma un mnimo,
por lo tanto encontramos la rimera coordenada del punto buscado, para averiguar
y, reemplazamos el valor de x en la funcion.

para el programa definimos cada una de nuestras funciones y sus respectivas


derivadas

function y=f(x)
y=(x-1)^2;

function dy=df(x)
dy = 2*(x-1);
function d=f8(x)
d=2*x^3-x-3;
function d=df8(x)
d=6*x^2-1;
y despues usando de nuevo el metodo de newton raphson y la formula de distancia entre
puntos obtenemos los valores solicitados
delta=1e-10;
epsilon=1e-10;
max1=10;
p0=3;
display(' distancia mnima y=x^2 y (3,1) es:')
p0=n('f8','df8',p0,delta,epsilon,max1);
sqrt((p0-3)^2+(p0^2-1)^2)
para los siguientes numerales cambiamos los datos de las funciones con el
modelo planteado y se obtendran los resultados deseados:

figura 5 respuestas inciso a, b, c distancias minimas

Você também pode gostar