Está en la página 1de 3

Desarrollo Tarea 1

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)

En el apartado a) se solicita, para el intervalo comprendido entre 0C y 40C, determinar la cantidad


de iteraciones que garanticen un error en la temperatura inferior a 0.05C, en otras palabras,

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

Ta Ta2 Ta3 Ta4

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

Cdigo 1: Rutina para el mtodo de biseccin

As las 3 funciones requeridas para determinar el inciso b) son

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);

Cdigo 2: Script con resolucin de Tarea.

También podría gustarte