Taller Numerico Maestria

Descargar como xlsx, pdf o txt
Descargar como xlsx, pdf o txt
Está en la página 1de 42

Método de la bisección

i xL xU xr ea (%) f(xL) f(xr)


1 5 10 7.5 100 4.5 -4.875
2 5 7.5 6.25 20 4.5 0.59375
es 0.5 % 3 6.25 7.5 6.875 9.0909 0.59375 -1.9453125

cL = xL 5
cU = xU 10 f(x)
f(xL) 4.5 10
f(xU) -20.5
f(xL)*f(xU) -92.3 ok (es negativo) 5

0
4 5 6 7 8 9
-5

-10

-15

-20

-25
e la bisección
f(xL)*f(xr) Comentario Com. #2
-21.9375 xU=xr Haga otra
2.671875 xL=xr Haga otra
-1.1550293 xU=xr Haga otra

Delta s f(x)
f(x) 5 4.5
5.5 3.125
6 1.5
6.5 -0.375
7 -2.5
8 9 10 11 7.5 -4.875
8 -7.5
8.5 -10.375
9 -13.5
9.5 -16.875
10 -20.5
Método de la bisección

i xL xU xr ea (%) f(xL)
1 -1 0 -0.5 100 29.75
2 -0.5 0 -0.25 100 3.34375
es 0.01 3 -0.5 -0.25 -0.375 33.333 3.34375
4 -0.5 -0.4 -0.4375 14.286 3.34375
cL = xL -1 5 -0.4375 -0.4 -0.40625 7.6923 0.86309814
cU = xU 0 6 -0.4375 -0.4 -0.42188 3.7037 0.86309814
f(xL) 29.7500 7 -0.42188 -0.4 -0.41406 1.8868 0.26947117
f(xU) -12.0000 8 -0.42188 -0.4141 -0.41797 0.9346 0.26947117
f(xL)*f(xU) -357.0000 ok (es negativo) 9 -0.41797 -0.4141 -0.41602 0.4695 0.12270571
10 -0.41602 -0.4141 -0.41504 0.2353 0.0495685
11 -0.41504 -0.4141 -0.41455 0.1178 0.01306122
12 -0.41504 -0.4146 -0.41479 0.0589 0.01306122
13 -0.41479 -0.4146 -0.41467 0.0294 0.00394079
14 -0.41479 -0.4147 -0.41473 0.0147 0.00394079
15 -0.41473 -0.4147 -0.4147 0.0074 0.00166108

f(x)

-1.2 -1 -0.8 -0.6 -0.4


delta es f(x)
f(xr) f(xL)*f(xr) Comentario Com. #2 -1 29.75
3.34375 99.4765625 xL=xr Haga otra -0.99 29.1001223
-5.58203125 -18.664917 xU=xr Haga otra -0.98 28.455478
-1.44873047 -4.8441925 xU=xr Haga otra -0.97 27.8160508
0.86309814 2.88598442 xL=xr Haga otra -0.96 27.181824
-0.3136673 -0.27072566 xU=xr Haga otra -0.95 26.5527813
0.26947117 0.23258007 xL=xr Haga otra -0.94 25.928906
-0.02340519 -0.00630703 xU=xr Haga otra -0.93 25.3101817
0.12270571 0.03306565 xL=xr Haga otra -0.92 24.696592
0.0495685 0.00608234 xL=xr Haga otra -0.91 24.0881203
0.01306122 0.00064743 xL=xr Haga otra -0.9 23.48475
-0.00517709 -6.7619E-05 xU=xr Haga otra -0.89 22.8864647
0.00394079 5.14715E-05 xL=xr Haga otra -0.88 22.293248
-0.00061847 -2.4373E-06 xU=xr Haga otra -0.87 21.7050832
0.00166108 6.54596E-06 xL=xr Haga otra -0.86 21.121954
0.00052128 8.65892E-07 xL=xr Termino -0.85 20.5438437
-0.84 19.970736
-0.83 19.4026142
-0.82 18.839462
-0.81 18.2812627
-0.8 17.728
-0.79 17.1796572
-0.78 16.636218
-0.77 16.0976657
-0.76 15.563984
-0.75 15.0351562
-0.74 14.511166
f(x) -0.73 13.9919967
-0.72 13.477632
35
-0.71 12.9680552
30 -0.7 12.46325
-0.69 11.9631997
25
-0.68 11.467888
20 -0.67 10.9772982
-0.66 10.491414
15
-0.65 10.0102187
10 -0.64 9.533696
5
-0.63 9.06182925
-0.62 8.594602
0 -0.61 8.13199775
-0.6 -0.4 -0.2 0
-5 -0.6 7.674
-0.59 7.22059225
-10 -0.58 6.771758
-15 -0.57 6.32748075
-0.56 5.887744
-0.55 5.45253125
-0.54 5.021826
-0.53 4.59561175
-0.52 4.173872
-0.51 3.75659025
-0.5 3.34375
-0.49 2.93533475
-0.48 2.531328
-0.47 2.13171325
-0.46 1.736474
-0.45 1.34559375
-0.44 0.959056
-0.43 0.57684425
-0.42 0.198942
-0.41 -0.17466725
-0.4 -0.544
-0.39 -0.90907275
-0.38 -1.269902
-0.37 -1.62650425
-0.36 -1.978896
-0.35 -2.32709375
-0.34 -2.671114
-0.33 -3.01097325
-0.32 -3.346688
-0.31 -3.67827475
-0.3 -4.00575
-0.29 -4.32913025
-0.28 -4.648432
-0.27 -4.96367175
-0.26 -5.274866
-0.25 -5.58203125
-0.24 -5.885184
-0.23 -6.18434075
-0.22 -6.479518
-0.21 -6.77073225
-0.2 -7.058
-0.19 -7.34133775
-0.18 -7.620762
-0.17 -7.89628925
-0.16 -8.167936
-0.15 -8.43571875
-0.14 -8.699654
-0.13 -8.95975825
-0.12 -9.216048
-0.11 -9.46853975
-0.1 -9.71725
-0.09 -9.96219525
-0.08 -10.203392
-0.07 -10.4408568
-0.06 -10.674606
-0.05 -10.9046563
-0.04 -11.131024
-0.03 -11.3537258
-0.02 -11.572778
-0.01 -11.7881973
0 -12
clearvars; % borramos variables del workspace
clc; % borramos la ventana de comandos
format shortg
% este script implementa el metodo de
% la falsa posicion o metodo de
% interpolacion lineal
% definimos variables iniciales
es=0.01;
f =@(x)(-12-21*x+18*x^2-2.75*x^3);
% definimos intervalo de busqueda
xL=-1; xU=0; b = f(xL)*f(xU);
% b = -357.00 es negativo, ok
% implementamos metodo de la F.P.
ea = 100; i=0;
disp(' i xL xU xr ea')
while ea>es
i = i+1;
xr = xU-f(xU)*(xL-xU)/(f(xL)-f(xU)); % M. de F.P.
if i>1
ea = abs((xr-xra)/xr)*100;
end
disp([i xL xU xr ea])
xra = xr;
b = f(xL)*f(xr);
if b<0
xU = xr;
elseif b>0
xL = xr;
else
disp('La raiz es xr');
ea = 0;
end
end
Método de la bisección
i xL xU xr ea (%) f(xL) f(xr)
1 0.5 1 0.75 100 -0.22942554 -0.11913876
2 0.75 1 0.875 14.286 -0.11913876 -0.0019185
es 0.02 % 3 0.875 1 0.9375 6.6667 -0.0019185 0.07282514
4 0.875 0.9375 0.9063 3.4483 -0.0019185 0.03409242
cL = xL 0.5 5 0.875 0.90625 0.8906 1.7544 -0.0019185 0.01574791
cU = xU 1 6 0.875 0.89063 0.8828 0.885 -0.0019185 0.00683009
f(xL) -0.2294 7 0.875 0.88281 0.8789 0.4444 -0.0019185 0.00243466
f(xU) 0.1585 8 0.875 0.87891 0.877 0.2227 -0.0019185 0.0002528
f(xL)*f(xU) -0.2801 ok (es negativo) 9 0.875 0.87695 0.876 0.1115 -0.0019185 -0.00083417
10 0.87598 0.87695 0.8765 0.0557 -0.00083417 -0.00029102
11 0.87646 0.87695 0.8767 0.0278 -0.00029102 -1.9191E-05
12 0.87671 0.87695 0.8768 0.0139 -1.9191E-05 0.00011678
bisección Delta s f(x)
f(xL)*f(xr) Comentario Com. #2 0.5 -0.22942554
0.02733347 xL=xr Haga otra 0.6 -0.20464247
0.00022857 xL=xr Haga otra 0.7 -0.15421769
-0.00013972 xU=xr Haga otra 0.8 -0.07735609
-6.5406E-05 xU=xr Haga otra 0.9 0.02667309
-3.0212E-05 xU=xr Haga otra 1 0.15852902
-1.3104E-05 xU=xr Haga otra
-4.6709E-06 xU=xr Haga otra
Chart Title
-4.85E-07 xU=xr Haga otra
0.2
1.60036E-06 xL=xr Haga otra
2.42758E-07 xL=xr Haga otra 0.15
5.58495E-09 xL=xr Haga otra 0.1
-2.2412E-09 xU=xr Termino 0.05

0
0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
-0.05

-0.1

-0.15

-0.2

-0.25
0.9 1 1.1
clearvars; % borramos variables del workspace
clc; % borramos la ventana de comandos
format shortg
% este script implementa el metodo de
% la falsa posicion o metodo de
% interpolacion lineal
% definimos variables iniciales
es=0.5;
f =@(x)(x-sqrt(18));
% definimos intervalo de busqueda
xL=4; xU=5; b = f(xL)*f(xU);
% b es negativo OK
% implementamos metodo de la F.P.
ea = 100; i=0;
disp(' i xL xU xr ea')
while ea>es
i = i+1;
xr = xU-f(xU)*(xL-xU)/(f(xL)-f(xU)); % M. de F.P.
if i>1
ea = abs((xr-xra)/xr)*100;
end
disp([i xL xU xr ea])
xra = xr;
b = f(xL)*f(xr);
if b<0
xU = xr;
elseif b>0
xL = xr;
else
disp('La raiz es xr');
ea = 0;
end
end
b)

clearvars; % borramos v
clc; % borramos la ve
format
% definimos va
xi=0; es=0.01;
f = @(x)((2*x^3)-(11.7*x^2)+(
(11.7*x^2)
% metodo d
while
i=
% xj =
xj =
ea = abs((x
disp([i x
xi
en

c)

clearvars; % borr
clc; % borram
f
% definim
xi=3; es
f=@(x)((2*x^3)-(11.7*x^2)+(17

x
ea=
d

d)

clearvars; % borr
clearvars; % borr
clc; % borram
f
% definim
xi=4; es=0
f=@(x)((2*x^
%Me

%
xj= xi-((f
ea=
d

e)

clearvars; % borr
clc; % borram
f
% definim
xi=3; es=0.
f=@(x)((2*x^
%Metodo d

%
xj= xi-((d
ea=
d
clearvars; % borramos variables del workspace
clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=0; es=0.01; ea = 100; i=0;
f = @(x)((2*x^3)-(11.7*x^2)+(17.7*x)-5); g = @(x)(((2*x^3)-
(11.7*x^2)-5)/-17.7);
% metodo del punto fijo
while ea>es
i = i+1;
% xj = x[i+1]
xj = g(xi);
ea = abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi = xj;
end

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=3; es=0.01;ea = 100; i=0;
f=@(x)((2*x^3)-(11.7*x^2)+(17.7*x)-5); df=@(x)((6*x^2)-(23.4*x)+(17.7));
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end

clearvars; % borramos variables del workspace


clearvars; % borramos variables del workspace
clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=4; es=0.01;ea = 100; i=0; xk=3;
f=@(x)((2*x^3)-(11.7*x^2)+(17.7*x)-5);
%Metodo de la secante
while ea>es
i = i+1;
% xj=x[i+1], xk=x[i-1]
xj= xi-((f(xi)*(xk-xi))/(f(xk)-f(xi)));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xk=xi;
xi=xj;
end

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=3; es=0.5;ea = 100; i=0;dx=0.01;
f=@(x)((2*x^3)-(11.7*x^2)+(17.7*x)-5);
%Metodo de la secante modificada
while ea>es
i = i+1;
% xj=x[i+1], xk=x[i-1]
xj= xi-((dx*f(xi))/(f(xi+dx)-f(xi)));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
dx=xj-xi;
xi=xj;
end
b) xi=4,54

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=4.54; es=0.5;ea = 100; i=0;
f=@(x)(-1+(5.5*x)-(4*x^2)+(0.5*x^3)); df=@(x)(5.5-(8*x)+(1.5*x^2));
%Metodo de Newton-Rampson
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
a) xi=4,52

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=4.52; es=0.5;ea = 100; i=0;
f=@(x)(-1+(5.5*x)-(4*x^2)+(0.5*x^3)); df=@(x)(5.5-(8*x)+(1.5*x^2));
%Metodo de Newton-Rampson
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
clearvars; % borramos variables del w
clc; % borramos la ventana de com
format shortg
% definimos variables iniciale
xi=3.5; es=0.1;ea = 100; i=0;dx=
f=@(x)((x^3.5)-80);
%Metodo de la secante modific
while ea>es
i = i+1;
% xj=x[i+1], xk=x[i-1]
xj= xi-((dx*f(xi))/(f(xi+dx)-f(x
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
dx=xj-xi;
xi=xj;
end
vars; % borramos variables del workspace
c; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=3.5; es=0.1;ea = 100; i=0;dx=0.01;
f=@(x)((x^3.5)-80);
%Metodo de la secante modificada
while ea>es
i = i+1;
% xj=x[i+1], xk=x[i-1]
xj= xi-((dx*f(xi))/(f(xi+dx)-f(xi)));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
dx=xj-xi;
xi=xj;
end
a) xi= 2

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=2; es=0.5;ea = 100; i=0;
f=@(x)(exp(-0.5*x)*(4-x)-2); df=@(x)(exp(-
0.5*x)*((0.5*x)-3));
%Metodo de punto fijo
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
b) x=6

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=6; es=0.5;ea = 100; i=0;
f=@(x)(exp(-0.5*x)*(4-x)-2); df=@(x)(exp(-0.5*x)*((0.5*x)-3));
%Metodo de punto fijo
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end

c) xi=8
clearvars; % borramos variables del workspace
clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=8; es=0.5;ea = 100; i=0;
f=@(x)(exp(-0.5*x)*(4-x)-2); df=@(x)(exp(-0.5*x)*((0.5*x)-3));
%Metodo de punto fijo
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=2; es=0.5;ea = 100; i=0; xk=0;
f=@(x)(5-(5*x)-exp(0.5*x));
%Metodo de la secante
while ea>es
i = i+1;
% xj=x[i+1], xk=x[i-1]
xj= xi-((f(xi)*(xk-xi))/(f(xk)-f(xi)));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xk=xi;
xi=xj;
end
Metodos abiertos metodo de Newton
clearvars; % borramos variables del workspace
clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=16.15; es=0.5;ea = 100; i=0;
f=@(x)(0.0074*x^4-0.284*x^3+3.355*x^2-12.183*x+5); df=@(x)
(0.296*x^3-0.852*x^2+6.71*x-12.183);
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
a) metodo de newton

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=1.2; es=0.5;ea = 100; i=0;
f=@(x)(x^3-2*x^2-4*x+8); df=@(x)(3*x^2-4*x-4);
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-f(xi)/df(xi);
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
b) el método de Newton-Raphson
modificado

clearvars; % borramos variables del


workspace
clc; % borramos la ventana de
comandos
format shortg
% definimos variables iniciales
xi=1.2; es=0.5;ea = 100; i=0;
f=@(x)(x^3-2*x^2-4*x+8); df=@(x)
(3*x^2-4*x-4);
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-2*(f(xi)/df(xi));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end
f=@(x)(x^3-2*x^2-4*x+8); df=@(x)
(3*x^2-4*x-4);
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-2*(f(xi)/df(xi));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end

c) el método de Newton-Raphson modificado

clearvars; % borramos variables del workspace


clc; % borramos la ventana de comandos
format shortg
% definimos variables iniciales
xi=1.2; es=0.5;ea = 100; i=0;
f=@(x)(x^3-2*x^2-4*x+8); df=@(x)(3*x^2-4*x-4);
d2f=@(x)(6*x-4);
while ea>es
i = i+1;
% xj=x[i+1]
xj= xi-(f(xi)*df(xi))/((df(xi))^2-f(xi)*d2f(xi));
ea= abs((xj-xi)/xj)*100;
disp([i xj f(xj) ea])
xi=xj;
end

También podría gustarte