Documentos de Académico
Documentos de Profesional
Documentos de Cultura
De acuerdo a la teora, se sabe que el mtodo de biseccin posee una cota del error en la n-sima
interacin es
jb a j
2n
En consecuencia, se tiene que
b a
< "a
n
Lo que implica que el nmero mximo de interaciones viene dado por la expresin
b a
ln "a
n>
ln(2)
40 0
< 0;05
2n
n
2 > 800
ln(800)
n >
ln(2)
n > 9;643856189774725
Aproximando la expresin obtenida, con 10 iteraciones del mtodo de biseccin se garantiza un error
menor a 0.05C.
Para el apartado b), se sabe que
ln(osf ) = 139;34411 +
1;575701 10 5
6;62308 10 7
+
1;243800 10 10
8;621949 10 11
Para utilizar el mtodo de biseccin, se debe contar una expresin de la forma f (x) = 0, entonces
f (Ta ) = 139;34411+
1;575701 10 5
6;62308 10 7
+
1;243800 10 10
8;621949 10 11
ln(osf )
Ta Ta2 Ta3 Ta4
La expresin anterior es vlida para valores de temperatura en Kelvin y el ejercicios solicita deter-
minar los datos en Celsius, por lo que la funcin cambia a
f (T ) = 139;34411+
1;575701 10 5
6;62308 10 7
+
1;243800 10 10
8;621949 10 11
ln(osf )
T + 273;15 (T + 273;15)2 (T + 273;15)3 (T + 273;15)4
1
1 % Funcin diseada para calcular la solucin de una funcin mediante el
2 % mtodo de biseccin.
3 % Los argumentos de la funcin son
4 % f -- funcin a evaluar.
5 % a -- lmite inferior.
6 % b -- lmite superior.
7 % n -- nmero de intervalos.
8 % t -- tolerancia para convergencia.
9 function [Cero,Mat] = biseccion(f,a,b,n,t)
10 Err=1; % Inicializacin del Error.
11 c=0; % Contador de Iteraciones.
12 while Err > t && c <= n
13 h = (a+b)/2;
14 c = c+1;
15 Mat(c,:) = [a f(a) b f(b) h f(h)];
16 disc = f(h)*f(a);
17 if abs(disc) < t
18 Err = 0;
19 Cero = h;
20 elseif abs(disc) == 0
21 Err = 0;
22 Cero = h;
23 elseif disc > 0
24 a = h;
25 elseif disc < 0
26 b = h;
27 end
28 Err=abs(disc); % Criterio de Error.
29 end
30 Cero = h; % Solucin.
31 end
f (T ) = 139;34411 +
1;575701 105
6;62308 107
+
1;243800 1010
8;621949 1011
ln(8)
T +273;15 (T +273;15)2 (T +273;15)3 (T +273;15)4
f (T ) = 139;34411 +
1;575701 105
6;62308 107
+
1;243800 1010
8;621949 1011
ln(10)
T +273;15 (T +273;15)2 (T +273;15)3 (T +273;15)4
f (T ) = 139;34411 +
1;575701 105
6;62308 107
+
1;243800 1010
8;621949 1011
ln(12)
T +273;15 (T +273;15)2 (T +273;15)3 (T +273;15)4
Una rutina para el mtodo de biseccin puede ser denida como, la cual debe almacenarse como
biseccion.m
Una vez guardada creado y guardado el archivo biseccion.m, procedemos a crear un script llamado
tarea1.m, el cual contendr los pasos realizados en Matlab
2
1 % Script con desarrollo tarea 1 anlisis numrico.
2
3 clc;
4 clear;
5
6 a=0; % Inicio intervalo.
7 b=40; % Fin intervalo.
8 n=ceil(log((b-a)/0.05)/log(2)); % el comando ceil redondea a un entero.
9 fprintf('Se requieren %d interaciones para garantizar un error de 0.05[C].\n',n);
10
11 f1=@(T)-139.34411+1.575701e5./(T+273.15)-6.642308e7./(T+273.15).^2+...
12 1.243800e10./(T+273.15).^3-8.621949e11./(T+273.15).^4-log(8);
13 f2=@(T)-139.34411+1.575701e5./(T+273.15)-6.642308e7./(T+273.15).^2+...
14 1.243800e10./(T+273.15).^3-8.621949e11./(T+273.15).^4-log(10);
15 f3=@(T)-139.34411+1.575701e5./(T+273.15)-6.642308e7./(T+273.15).^2+...
16 1.243800e10./(T+273.15).^3-8.621949e11./(T+273.15).^4-log(12);
17
18 t=0.05; % Tolerancia.
19
20 [S1,M1]=biseccion(f1,a,b,n,t);
21 fprintf('Para 8 [mg/L], la temperatura es %.2f [C].\n',S1);
22
23 [S2,M2]=biseccion(f2,a,b,n,t);
24 fprintf('Para 10 [mg/L], la temperatura es %.2f [C].\n',S2);
25
26 [S3,M3]=biseccion(f3,a,b,n,t);
27 fprintf('Para 12 [mg/L], la temperatura es %.2f [C].\n',S3);