Está en la página 1de 10

Integrantes

• Jesús Osorio Taco - 201910506


• Cristhian Chira Vallejo - 201910006
• Andrés Obludzyner Melzi - 202010329
• Rodrigo Rojas Dávalos - 202010378
• Camila Villasana Boggiano - 201710091

Pregunta A

Aproximamos el intervalo en donde puede encontrarse la raíz mediante el método gráfico.

format short
xx=[-2:0.5:2];
plot(xx,2-xx,'b',xx,exp(2*xx),'r')
grid on

1
Se evalúa entre 0 y 0.5 la continuidad y convergencia

xx=[0:0.1:0.5];
g=inline('0.5*log(2-x)','x')

g =

Inline function:
g(x) = 0.5*log(2-x)

plot(xx,g(xx),'b')

syms x
dg=diff(g(x))

dg =

fdg=inline(dg,'x')

fdg =

Inline function:
fdg(x) = 1.0./(x.*2.0-4.0)

plot(xx,fdg(xx),'r')

2
Método del punto fijo

z=puntofijo(g,0.25,10)

z = 11×1
0.2500
0.2798
0.2712
0.2737
0.2730
0.2732
0.2731
0.2732
0.2731
0.2731

x=0.2731

x = 0.2731

y=exp(x)

y = 1.3140

d=sqrt(exp(2*x)+(x-2)^2)

d = 2.1700

Pregunta B

3
format long
syms t
c_pto= inline('sqrt(3.*t - 3.*t.* log(1/12))','t')

c_pto =

Inline function:
c_pto(t) = sqrt(3.*t - 3.*t.* log(1/12))

tt=[9:0.01:11]%Se establece el intervalo entre 9 y 11 debido a que nos dicen que se da después

tt = 1×201
9.000000000000000 9.010000000000000 9.020000000000000 9.029999999999999

der_c= inline(diff(c_pto(t))) %Se deriva para ver que se cumpla una de las condiciones, que la

der_c =

Inline function:
der_c(t) = 1.0./sqrt(t.*1.0454719949364e+1).*5.227359974682001

plot(tt,der_c(tt)) %Se grafican los resultados de la derivada en el intervalo para saber si es

4
plot(tt,c_pto(tt)) %Se grafica la función y se ve que es continua en el intervalo dado

5
%Con estas condiciones podemos decir que la función c_pto es correcta para
%hallar el punto fijo

respuesta= puntofijo(c_pto,0.01,30);
round(respuesta(26:31,1),6)

ans = 6×1
10.454718000000000
10.454719000000001
10.454719000000001
10.454720000000000
10.454720000000000
10.454720000000000

respuesta_val=10.454720

respuesta_val =
10.454720000000000

Pregunta C

format short
v=inline('200*log(1600/(1600-27*x))+9.8*x-100','x')

v =

Inline function:
v(x) = 200*log(1600/(1600-27*x))+9.8*x-100

z=biseccion2(v,7,8,3)

c1 = 7.5000
error = 0.5000
z = 1×7
7.0000 8.0000 7.5000 -6.2590 7.4052 0.5637 0.5000
raiz = 7.2500
raiz = 7.3750
raiz = 7.4375
z = 4×7
7.0000 8.0000 7.5000 -6.2590 7.4052 0.5637 0.5000
7.0000 7.5000 7.2500 -6.2590 0.5637 -2.8499 0.2500
7.2500 7.5000 7.3750 -2.8499 0.5637 -1.1437 0.1250
7.3750 7.5000 7.4375 -1.1437 0.5637 -0.2901 0.0625

En la tercera iteración, la raíz está aproximadamente cuando el tiempo es 7.4375 segundos.

Pregunta D
GENERAL

Si es posible hallar una función iterativa G(t) que contenga la raíz hallada en a), debido a que el método
del punto fijo va a tender a hallar la raíz correcta, por lo cuál no importa en que valor comience, si se tiene
el número necesario de iteraciones se aporximará a la raíz hallada en a). No obstante, no nos podríamos
asegurar de que sea continua y derivable en el intervalo dado, y teniendo un valor de derivada menor a 1 en el
intervalo.

6
ESPECÍFICO

En el caso que G(t) se refiera a la ecuación en C), se evaluó la fórmula de punto fijo con el valor inicial como
el punto medio del intervalo inicial, y los valores de t que nos devuelve el código son distintos a la raíz en a). El
valor de t converge a 7.4587.

format short
g=inline('(100.-200.*log(1600./(1600.-27*t)))./9.8','t')

g =

Inline function:
g(t) = (100.-200.*log(1600./(1600.-27*t)))./9.8

z=puntofijo(g,7.4375,10)

z = 11×1
7.4375
7.4671
7.4554
7.4600
7.4582
7.4589
7.4587
7.4588
7.4587
7.4587

der_g= inline(diff(g(t))) %Se deriva para ver que se cumpla una de las condiciones, que la deri

der_g =

Inline function:
der_g(t) = 1.0./(t.*2.7e+1-1.6e+3).^2.*(t.*1.6875e-2-1.0).*8.816326530612245e+5

intervalo=(7.375:0.001:7.5)

7
intervalo = 1×126
7.3750 7.3760 7.3770 7.3780 7.3790 7.3800 7.3810 7.3820

plot(intervalo,abs(der_g(intervalo))) %Se grafican los resultados de la derivada en el interval

plot(intervalo,g(intervalo)) %Se grafican los resultados de la función donde se demuestra que e

8
Funciones
function z=puntofijo(g,x0,Maxiter)
z=[x0];
for k=1:Maxiter
x1=g(x0);
z=[z;x1];
x0=x1;
end
end

function [z,raiz]=biseccion2(f,a,b,Maxiter)
c1=(a+b)/2
error=(b-a)/2
z=[a b c1 f(a) f(b) f(c1) error]
for i=1:Maxiter
if f(a)*f(c1)<0
b=c1;
else
a=c1;
end
c1=(a+b)/2;
error=(b-a)/2;
z=[z;a b c1 f(a) f(b) f(c1) error];
raiz=c1

9
end
end

10

También podría gustarte