Mathematics">
Metodos Numericos - Informe 01
Metodos Numericos - Informe 01
Metodos Numericos - Informe 01
Compromiso Climático”
TEMA:
Programación de los métodos numéricos
ELABORADO PARA:
Lic. Lenin Quiñones Huatangari
UNIVERSIDAD NACIONAL DE JAÉN
ÍNDICE
Introducción…………………………………………………………….……………..02
Objetivos…………………………………………………………………….………...03
Métodos Numéricos…………………………………………………………….......…………..04
Ejemplo 01………………………………………………………………..................07
Ejemplo 02…………………………………………………………….....................10
Método De La Bisección…………………………………………………………….13
Ejemplo 01……………………………………………………………………........14
Ejemplo 02………………………………………………………………..............17
Método De La Secante……………………………………………………………...19
Ejemplo 01…………………………………………………………………………….20
Ejemplo 02…………………………......................................................................24
Ejemplo 01……………………………………….………………………….………..28
Ejemplo 02……………………………………….…………………………………...30
Conclusiones…………………………………………………………………….......32
1
UNIVERSIDAD NACIONAL DE JAÉN
INTRODUCCIÓN
2
UNIVERSIDAD NACIONAL DE JAÉN
OBJETIVOS
3
UNIVERSIDAD NACIONAL DE JAÉN
MÉTODOS NUMÉRICOS
4
UNIVERSIDAD NACIONAL DE JAÉN
Grafica 1
MÉTODOS NUMÉRICOS
5
UNIVERSIDAD NACIONAL DE JAÉN
function[x,fx,xx] = newton(f,df,x0,Tolx,MaxIter)
%newton.m to solve f(x) = 0 by using Newton method.
%input: f = =ftn to be given as a string 'f' if defined in an M-file
% df = df(x)/dx (if not given, numerical derivate is used)
% x0 = the initial guess of the solution
% Tolx = the upper limit of |x(k)- x(k-1)|
% MaxIter = the maximum # of iteration
% output: x = the point which the algorithm has reached
% fx = f(x(last)), xx = the history of x
h =1e-4; h2 =2*h; TolFun=eps;
if nargin == 4 && isnumeric(df), MaxIter = Tolx; Tolx =x0;x0 = df, end
xx(1)= x0;fx =feval(f,x0);
for k = 1:MaxIter
if - isnumeric(df),dfdx = feval(df,xx(k));%derivative function
else dfdx = (feval(f,xx(k)+h)-feval(f,xx(k)-h))/h2;%numerical drv
end
dx =-fx/dfdx;
xx(k+1)=xx(k)+dx;%Eq.(4.4.2)
fx = feval (f,xx(k+1));
if abs(fx)<TolFun | abs (dx) <Tolx, break;end
end
x = xx(k+1)
if k == MaxIter,fprintf('The best in %d iterations\n', MaxIter), end
MÉTODOS NUMÉRICOS
6
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 01:
Solución:
Se sustituye f(x) y f´(x) en 1.1
Primera iteración:
Como , se calcula
Segunda iteración:
MÉTODOS NUMÉRICOS
7
UNIVERSIDAD NACIONAL DE JAÉN
I
0 1.0000
1 1.4118 0.4118
2 1.3693 0.0424
3 1.3688 0.0005
4 1.3688 0.0000
8
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
9
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 02:
Solución:
Primera iteración:
MÉTODOS NUMÉRICOS
Como , se calcula
10
UNIVERSIDAD NACIONAL DE JAÉN
Segunda iteración:
I
0 1.00000
1 0.70588 0.29412
2 0.60030 0.10550
3 0.58720 0.01310
4 0.58701 0.00019
5 0.58701 0.00000
11
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
12
UNIVERSIDAD NACIONAL DE JAÉN
2) MÉTODO DE LA BISECCIÓN
13
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 01:
Encontrar por el método de la bisección en el
intervalo [ ].
MÉTODOS NUMÉRICOS
Solución:
14
UNIVERSIDAD NACIONAL DE JAÉN
1 1 2 1.5 -1 2 0.25
2 1 1.5 1.25 -1 0.25 -0,4375
3 1.25 1.5 1.375 -0.4375 0.25 -0.19375
4 1.375 1.5 1.4375 -0.109375 0.25 0.06640625
5 1.3755 1.4375 1,40625 -0,109375 0.06640625 -0.0224009375
6 0.03125 1.4375 0.03125 -0,022460937 0,06640625 -1999023438
7 0.03125 1.4375 0,703125 -1.999023438 0.06640625 -1.505615234
8 0.703125 1.4375 1.0703125 -1.50561523 0.06640625 -0.8544311523
9 1.0703125 1.4375 1.25390625 -0.854431152 0.06640625 -0.4277191162
10 1.25390625 1.4375 1.345703125 -0.427791162 0.06640625 -0.1890830994
11 1.345703125 1.4375 1.391601563 -0.189085099 0.06640625 -0.0634450912
12 1.391601563 1.4375 1.414550782 -0.06344508 0.06640625 0.0009539148
>> f42=inline('x^2-2','x');
>> [x,err.xx]=bisct(f42,1,2,1e-4,50);
xx = Columns 1 through 9: 0.5000 -0.3333 4.4286 0.3624 -
1.1485 2.1883 -4.7673 1.3575 1.8199
Columns 10 through 18: 6.0017 0.5835 -0.0079 128.4286
0.9843 0.9686 0.9371 0.8738 0.7435
Columns 19 through 27: 0.4508 -0.5728 3.1345 -0.2005 6.4420
0.6196 0.1106 -7.5098 1.2383
MÉTODOS NUMÉRICOS
15
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
16
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 02:
n
1 1 2 1.5 -4 3 -1.625
17
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
18
UNIVERSIDAD NACIONAL DE JAÉN
3) MÉTODO DE LA SECANTE
Cuando la derivada se hace muy compleja es necesario conocer un
método que nos ayude a encontrar raíces sin utilizar la derivada, para
estos casos se utiliza el método de la secante. Este método utiliza una
recta secante a la curva la cual tiene una pendiente similar a la recta
tangente y se asume que los dos puntos que toca la recta tangente a
la curva están tan juntos que las pendientes pueden ser casi iguales.
Grafica – 02
19
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 01:
Use el método de la secante para encontrar una raíz real de la
MÉTODOS NUMÉRICOS
ecuación polinómica:
; con un valor inicial de 4.5 y un error de 0.001
20
UNIVERSIDAD NACIONAL DE JAÉN
Solución:
Se sustituye f(x) y f´(x) en 1.1
Primera iteración:
Como , se calcula
Segunda iteración:
[ ]
MÉTODOS NUMÉRICOS
21
UNIVERSIDAD NACIONAL DE JAÉN
Como , se calcula
Tercera iteración:
[ ]
>> f1 = inline('sin(x)','x');
MÉTODOS NUMÉRICOS
>> [x,fx,xx]=secant(f1,4.5,1e-4,50);
>> plot(xx)
22
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
23
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 02:
Solución:
>> f2 = inline('x*(log(x))-10','x')
>>[x,fx,xx]= secant (f2,9,1e-4,50)
>> plot(xx)
24
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
25
UNIVERSIDAD NACIONAL DE JAÉN
26
UNIVERSIDAD NACIONAL DE JAÉN
end
x = xx(k+1);
if k == MaxIter, fprintf('The best in %d iterations\n', MaxIter),
end
MÉTODOS NUMÉRICOS
27
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 01:
Solución:
Con este proceso obtenemos la siguiente tabla:
n [ ]
n
[ ]
0 3
28
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
29
UNIVERSIDAD NACIONAL DE JAÉN
Ejemplo 02:
Solución:
Con este proceso obtenemos la siguiente tabla:
n
[ ]
>> f2=inline('2*x-8','x');
>> f3=inline('2,'x');
MÉTODOS NUMÉRICOS
>> [x,fx,xx]=RalstonRabinowits(f1,f2,f3,1.2,1e-4,50)
>> plot(xx)
30
MÉTODOS NUMÉRICOS UNIVERSIDAD NACIONAL DE JAÉN
31
UNIVERSIDAD NACIONAL DE JAÉN
CONCLUSIONES
32