Anda di halaman 1dari 19

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO

ESCUELA PROFESIONAL DE
INGENIERÍA CIVIL

MÉTODO DE BISECCIÓN
ALUMNOS:
GAMBOA FERNÁNDEZ, PEDRO (166007F)
IRIGOIN BUSTAMANTE, WILSON (152019G)
VASQUEZ MERA, EDINSON ABAD (165124I)
CUMPA REYES, EDY YERSI (160433C)

PROFESORA:

RIMARACHIN LOPEZ, BETTY

CURSO:
MATEMÁTICA BÁSICA II

CICLO:
2016 – II

Lambayeque, Octubre de 2016


MATEMÁTICA BÁSICA 2 – UNIDAD I

Para ejecutar el método de Bisección en MATLAB empleamos el siguiente programa:

function [c] = bisec(f,a,b,tol)

k=0;
ya=feval(f,a);
yb=feval(f,b);
if ya*yb<0
while abs(a-b)>tol
c = (a+b)/2;
yc=feval(f,c);
fprintf('%5d%15.11f%15.11f%15.11f%15.11f\n',k,a,b,c,yc);
k=k+1;
if ya*yc==0
a=b;
elseif ya*yc<0
b=c;yb=yc;
else
a=c;ya=yc;
end
end
else
fprintf('Cambiar limites');
end

INGENIERÍA CIVIL – II CICLO 2


MATEMÁTICA BÁSICA 2 – UNIDAD I

14. Sea f(x)= x.^3-exp(-x)-4

A) Ubicamos geometricamente el cero de la función f en el editor de la siguiente manera:

clc
clear
x=[-2:0.01:5];
y1=x.^3;
y2=exp(-x)+4;
plot(x,y1,'m',x,y2,'g','linewidth',2)
grid on
axis([-2.5 5.5 -20 140])

Obteniendo la siguiente gráfica:

GRÁFICO N°1

INGENIERÍA CIVIL – II CICLO 3


MATEMÁTICA BÁSICA 2 – UNIDAD I

B) Introducimos en el editor la función:

function y=f01(x)
y=x.^3-exp(-x)-4;
end

Aplicamos el método de Bisección en command window:

I) .
a=1,b=2,tol=10^(-6)

a= 1

b= 2

tol = 1.0000e-06

>> format long

>> [c] = bisec('f01',a,b,tol)

0 1.00000000000 2.00000000000 1.50000000000 -0.84813016015

1 1.50000000000 2.00000000000 1.75000000000 1.18560105655

2 1.50000000000 1.75000000000 1.62500000000 0.09410394980

3 1.50000000000 1.62500000000 1.56250000000 -0.39491412153

4 1.56250000000 1.62500000000 1.59375000000 -0.15497506689

5 1.59375000000 1.62500000000 1.60937500000 -0.03158988391

6 1.60937500000 1.62500000000 1.61718750000 0.03096697350

7 1.60937500000 1.61718750000 1.61328125000 -0.00038378533

8 1.61328125000 1.61718750000 1.61523437500 0.01527348846

9 1.61328125000 1.61523437500 1.61425781250 0.00744032804

INGENIERÍA CIVIL – II CICLO 4


MATEMÁTICA BÁSICA 2 – UNIDAD I

10 1.61328125000 1.61425781250 1.61376953125 0.00352714084

11 1.61328125000 1.61376953125 1.61352539063 0.00157139517

12 1.61328125000 1.61352539063 1.61340332031 0.00059373428

13 1.61328125000 1.61340332031 1.61334228516 0.00010495681

14 1.61328125000 1.61334228516 1.61331176758 -0.00013941867

15 1.61331176758 1.61334228516 1.61332702637 -0.00001723203

16 1.61332702637 1.61334228516 1.61333465576 0.00004386211

17 1.61332702637 1.61333465576 1.61333084106 0.00001331497

18 1.61332702637 1.61333084106 1.61332893372 -0.00000195855

19 1.61332893372 1.61333084106 1.61332988739 0.00000567821

c = 1.613329887390137

15. Sea f(x)= 3*log(2*x+5)+x-12

A) Ubicamos geometricamente el cero de la función f en el editor de la siguiente manera:

clc
clear
x=[0:0.01:9];
y1=3*log(2*x+5);
y2=12-x;
plot(x,y1,'b',x,y2,'g','linewidth',2)
grid on
axis([-0.5 9.5 2 13])

INGENIERÍA CIVIL – II CICLO 5


MATEMÁTICA BÁSICA 2 – UNIDAD I

Obteniendo la siguiente Gráfica:

GRAFICA N°2

B) Introducimos en el editor la función:

function y=f02(x)
y=3*log(2*x+5)+x-12;
end

Aplicamos el método de Bisección en command window:

I) .
a=4,b=5,tol=10^(-5)

INGENIERÍA CIVIL – II CICLO 6


MATEMÁTICA BÁSICA 2 – UNIDAD I

a=4

b= 5

tol = 9.999999999999999e-06

>> format long

>> [c] = bisec('f02',a,b,tol)

0 4.00000000000 5.00000000000 4.50000000000 0.41717198885

1 4.00000000000 4.50000000000 4.25000000000 0.05806905633

2 4.00000000000 4.25000000000 4.12500000000 -0.12300734270

3 4.12500000000 4.25000000000 4.18750000000 -0.03233812165

4 4.18750000000 4.25000000000 4.21875000000 0.01289791766

5 4.18750000000 4.21875000000 4.20312500000 -0.00971195162

6 4.20312500000 4.21875000000 4.21093750000 0.00159501587

7 4.20312500000 4.21093750000 4.20703125000 -0.00405795907

8 4.20703125000 4.21093750000 4.20898437500 -0.00123134447

9 4.20898437500 4.21093750000 4.20996093750 0.00018186747

10 4.20898437500 4.20996093750 4.20947265625 -0.00052473055

11 4.20947265625 4.20996093750 4.20971679688 -0.00017142955

12 4.20971679688 4.20996093750 4.20983886719 0.00000521946

13 4.20971679688 4.20983886719 4.20977783203 -0.00008310492

14 4.20977783203 4.20983886719 4.20980834961 -0.00003894270

15 4.20980834961 4.20983886719 4.20982360840 -0.00001686161

16 4.20982360840 4.20983886719 4.20983123779 -0.00000582108

c = 4.209831237792969

INGENIERÍA CIVIL – II CICLO 7


MATEMÁTICA BÁSICA 2 – UNIDAD I

16. Sea f(x)= x.^3-(x-3).^2-1

A) Ubicamos geometricamente el cero de la función f en el editor de la siguiente manera:

clc
clear
x=[-1:0.01:5];
y1=x.^3;
y2=(x-3).^2+1;
plot(x,y1,'b',x,y2,'g','linewidth',2)
grid on
axis([-1.5 5.5 -20 140])

Obteniendo la siguiente gráfica:

GRAFICA N°31

INGENIERÍA CIVIL – II CICLO 8


MATEMÁTICA BÁSICA 2 – UNIDAD I

B) Introducimos en el editor la función:

function y=f03(x)
y=x.^3-(x-3).^2-1;
end

Aplicamos el método de Bisección en command window:

I) .
a=1,b=2,tol=10^(-6)

a=1

b=2

tol = 1.000000000000000e-06

>> format long

>> [c] = bisec('f03',a,b,tol)

0 1.00000000000 2.00000000000 1.50000000000 0.12500000000

1 1.00000000000 1.50000000000 1.25000000000 -2.10937500000

2 1.25000000000 1.50000000000 1.37500000000 -1.04101562500

3 1.37500000000 1.50000000000 1.43750000000 -0.47094726563

4 1.43750000000 1.50000000000 1.46875000000 -0.17630004883

5 1.46875000000 1.50000000000 1.48437500000 -0.02649307251

6 1.48437500000 1.50000000000 1.49218750000 0.04904127121

7 1.48437500000 1.49218750000 1.48828125000 0.01122123003

8 1.48437500000 1.48828125000 1.48632812500 -0.00764911622

9 1.48632812500 1.48828125000 1.48730468750 0.00178275537

10 1.48632812500 1.48730468750 1.48681640625 -0.00293400546

INGENIERÍA CIVIL – II CICLO 9


MATEMÁTICA BÁSICA 2 – UNIDAD I

11 1.48681640625 1.48730468750 1.48706054688 -0.00057583135

12 1.48706054688 1.48730468750 1.48718261719 0.00060341043

13 1.48706054688 1.48718261719 1.48712158203 0.00001377664

14 1.48706054688 1.48712158203 1.48709106445 -0.00028103058

15 1.48709106445 1.48712158203 1.48710632324 -0.00013362777

16 1.48710632324 1.48712158203 1.48711395264 -0.00005992576

17 1.48711395264 1.48712158203 1.48711776733 -0.00002307461

18 1.48711776733 1.48712158203 1.48711967468 -0.00000464900

19 1.48711967468 1.48712158203 1.48712062836 0.00000456382

c = 1.487120628356934

INGENIERÍA CIVIL – II CICLO 10


MATEMÁTICA BÁSICA 2 – UNIDAD I

Para ejecutar el método de Newton Raphson en MATLAB empleamos el siguiente

programa

function [p1]= newton(f,df,p0,tol,N)

for k=1:N

p1 = p0 - feval(f,p0)/feval(df,p0);

fprintf('%7d %15.12f\n ',k,p1);

if abs(p1-p0) < tol, break

end

p0=p1;

end

17. Sea f(x)=x2-x-3

A) Ubicamos geometricamente el cero de la función f en el editor de la siguiente manera:

clc

clear

x=[0:0.001:4];

f1=x.^2;

f2=x+3;

plot(x,f1,'r',x,f2,'k','linewidth',2)

grid on

INGENIERÍA CIVIL – II CICLO 11


MATEMÁTICA BÁSICA 2 – UNIDAD I

Obteniendo la siguiente gráfica:

16

14

12

10

0
0 0.5 1 1.5 2 2.5 3 3.5 4

GRÁFICO N°04

B) Introducimos en el editor la función y su derivada, con un posterior guardado:

function y=fn17(x) function y=dfn17(x)

y=x^2-x-3; y=2*x-1;

end end

Aplicamos el método de Newton Raphson en command window:

I) .
po=2, tol=10^(-7),N=50

INGENIERÍA CIVIL – II CICLO 12


MATEMÁTICA BÁSICA 2 – UNIDAD I

[p1]= newton ('fn17','dfn17', p0, tol, N)

1 2.333333333333

2 2.303030303030

3 2.302775655717

4 2.302775637732

p1 = 2.302775637731995

II) .
po=3, tol=10^(-7),N=50

[p1]= newton('fn17','dfn17',p0,tol,N)

1 2.400000000000

2 2.305263157895

3 2.302777351542

4 2.302775637733

5 2.302775637732

p1 = 2.302775637731995

III) .
po=4, tol=10^(-7),N=50

[p1]= newton('fn17','dfn17',p0,tol,N)

1 2.714285714286

2 2.341013824885

3 2.303172744733

4 2.302775681459

5 2.302775637732

p1 = 2.302775637731995

IV) .
po=10, tol=10^(-7),N=50

[p1]= newton('fn17','dfn17',p0,tol,N)

INGENIERÍA CIVIL – II CICLO 13


MATEMÁTICA BÁSICA 2 – UNIDAD I

1 5.421052631579

2 3.290740219533

3 2.477652899338

4 2.310507544741

5 2.302792147574

6 2.302775637808

7 2.302775637732

p1 = 2.302775637731995

V) .
po=10, tol=10^(-7),N=50

[p1]= newton('fn17','dfn17',p0,tol,N)

1 50.266331658291

2 25.415818426712

3 13.023128824937

4 6.891324316939

5 3.949913064763

6 2.695982894349

7 2.337978996341

8 2.303112767933

9 2.302775669249

10 2.302775637732

p1 = 2.302775637731995

C). Podemos ver que si empleamos p0=2 como punto inicial obtenemos menos iteraciones para

la precisión pedida, por lo cual es más recomendable tomar como punto inicial uno cercano al

cero hallado gráficamente, ya que converge con mayor rapidez, conforme tomamos puntos

iniciales más lejanos, requerimos de más iteraciones.

INGENIERÍA CIVIL – II CICLO 14


MATEMÁTICA BÁSICA 2 – UNIDAD I

18. Sea f(x)=x2+10cos(x)-1

A) Ubicamos geometricamente el cero de la función f en el editor de la siguiente manera:

clc

clear

x=[-4:0.001:4];

f1=x.^2-1;

f2=-10*cos(x);

plot(x,f1,'r',x,f2,'k','linewidth',2)

grid on

Obteniendo la siguiente gráfica:

15

10

-5

-10
-4 -3 -2 -1 0 1 2 3 4

GRÁFICO N°05

INGENIERÍA CIVIL – II CICLO 15


MATEMÁTICA BÁSICA 2 – UNIDAD I

B) Introducimos en el editor la función y su derivada, con un posterior guardado:

function y=fn18(x) function y=dfn17(x)

y=x^2+10*cos(x)-1; y=2*x-1;

end end

Aplicamos el método de Newton Raphson en command window:

I) .
po=0, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 -Inf
2 NaN
3 NaN
4 NaN
5 NaN

49 NaN
50 NaN
p1 = NaN

II) .
po=1, tol=10^(-7),N=50

[p1]= newton ('fn18','dfn18’, p0, tol, N)


1 1.842286430196
2 1.793934438371
3 1.794792712789
4 1.794792964829
5 1.794792964829

INGENIERÍA CIVIL – II CICLO 16


MATEMÁTICA BÁSICA 2 – UNIDAD I

p1 = 1.794792964829379

III) .
po=2, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 1.771946940178
2 1.794623038381
3 1.794792954940
4 1.794792964829
p1 = 1.794792964829379

IV) .
po=100, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 51.197480022202
2 23.368377889823
3 13.763470918443
4 3.219325719464
5 3.303279735376
6 3.298157530919
7 3.298138433969
8 3.298138433703
p1 = 3.298138433703030

V) .
po=-1, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 -1.842286430196
2 -1.793934438371
3 -1.794792712789
4 -1.794792964829
5 -1.794792964829

INGENIERÍA CIVIL – II CICLO 17


MATEMÁTICA BÁSICA 2 – UNIDAD I

p1 = -1.794792964829379

VI) .
po=-2, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 -1.771946940178
2 -1.794623038381
3 -1.794792954940
4 -1.794792964829
p1 = -1.794792964829379

VII) .
po=-3, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 -3.414035259627
2 -3.306410450859
3 -3.298187633640
4 -3.298138435466
5 -3.298138433703
p1 = -3.298138433703030

VIII) .
po=-100, tol=10^(-7),N=50

[p1]= newton('fn18','dfn18',p0,tol,N)
1 -51.197480022202
2 -23.368377889823
3 -13.763470918443
4 -3.219325719464
5 -3.303279735376
6 -3.298157530919
7 -3.298138433969
8 -3.298138433703

INGENIERÍA CIVIL – II CICLO 18


MATEMÁTICA BÁSICA 2 – UNIDAD I

p1 = -3.298138433703030

C) Al observar la Gráfica obtenida con 4 ceros, nos damos cuenta que los puntos iniciales

convergen hacia los ceros más cercanos, y aquellos que poseen simetría vertical, con respecto a

sus ceros, no convergen, como en el caso del primer ejercicio.

INGENIERÍA CIVIL – II CICLO 19

Anda mungkin juga menyukai