Está en la página 1de 7

a)

Es complicado definir el valor medio gráficamente así que para esto se ayuda de una recta que
pase por los extremos( , de la cual se sabe que el punto medio esta en x= 6 ,así de
toma como el punto medio el promedio de los valores de y entre la función y la recta obtenido

x=[ 2:1:10]

x = 1×9
2 3 4 5 6 7 8 9 10

y=f(x)

y = 1×9
2.8000 10.9250 18.8000 32.1250 54.8000 88.9250 134.8000 ⋯

z=g(x)

z = 1×9
2.8000 34.2000 65.6000 97.0000 128.4000 159.8000 191.2000 ⋯

plot(x,y,x,z)
grid on

xlim([2.37 9.64])
ylim([22 294])

xlim([2.00 10.00])
ylim([3 294])

de la recta se sabe que el punto medio esta en x= 6 ,así de toma como el punto medio el promedio
de los valores de y entre la función y la recta obteniendo que el valor medio es 91.6,sin embargo la
pendiente de la curva aumenta con x por lo que el valor medio seri un valor menor al punto medio
antes mencionado por lo que tomamos como valor medio

b)
haciendo uso de la ecuación tenemos

para resolverlo se hace uso la función de Matlab que permite calcular analíticamente la integral

syms x
analytically_int=int(f(x),2,10)

analytically_int = 
M= (1./(10-2))*analytically_int

M = 

6142/75

ans = 81.8933

finalmente obtenemos

c)
tememos

para el cálculo de la integral se utiliza la regla de Simpson compuesta con 5 segmentos

i=simpson(f(x),2,10,5)

Output argument "I" (and maybe others) not assigned during call to "21.12>simpson".

M=(1/8)*654.2292

function [I] = simpson(fun,a,b,n)


fa= subs(fun,a);
fb=subs(fun,b);
h=(b-a)/n;
s1=0;
s2=0;
for i=1:n-1
x(i)=a+i*h;
end
for i=1:2:n-1
s1=s1+subs(fun,x(i));
end
for i=2:2:n-2
s2=s2+subs(fun,x(i));
end
i=h*(fa+4*s1+2*s2+fb)/3;
end

function y =f(x)
y= -46+45*x -14*x.^2+ 2*x .^3 -0.075*x.^4;
end

function y =g(x)
y= 31.4*x-60;
end

a = 0;
b = 3;
I = Romberg_P(@(x)func(x),a,b);
fprintf('I = %0.15f\n',I);

I = 504.535991865918902

RombergDisp_P(@(x)func(x),a,b,3);

1815.429570717307797
952.907243435826103 665.399801008665577
630.878480889608795 523.535560040869655 514.077943976349957
537.225888423362335 506.008357601280125 504.839877438640826 504.693241461851812
function[I]=Romberg_P(func,a,b)
% función [I] = Romberg (func, a, b, tol, kmax)
% Romberg integra la función 'func' de una variable y no singular
% de 'a' a 'b' con tolerancia 'tol' y orden máximo de 'kmax'.
tol = 1e-10;
kmax = 15;
R = zeros(1,kmax+1);
err = 1;
Ip = 0;
R(1) = ((b-a)/2)*(func(a)+func(b));
k = 1;
while(err>tol*abs(Ip))
R(k+1) = trapm(func,a,b,k+1,R(k));
for j=k:-1:1
p = 4^(k-j+1);
R(j) = (p*R(j+1)-R(j))/(p-1);
end
err = abs(R(1)-Ip);
Ip = R(1);
k = k+1;
if k==kmax
warning('Ensayos máximos superados sin convergencia');
break;
end
end
I = R(1);
function[I]=trapm(func,a,b,k,Ip)
I = 0;
H = b-a;
for i=1:2^(k-2)
I = I+func(a+(2*i-1)*H/(2^(k-1)));
end
I = 0.5*Ip+(H/(2^(k-1)))*I;
end
end

function[]=RombergDisp_P(func,a,b,K)
% función [] = RombergDisp_P (func, a, b, k)
% Romberg integra la función "func" de una variable y no singular
% de "a" a "b" con el orden de "K" y muestra todos los resultados.

tol = 1e-15;
kmax = abs(K);
R = zeros(1,kmax+1);
err = 1;
Ip = 0;
R(1) = ((b-a)/2)*(func(a)+func(b));
fprintf('%0.15f\n',R(1));
k = 1;
while(err>tol*abs(Ip))
R(k+1) = trapm(func,a,b,k+1,R(k));
fprintf('%0.15f\t',R(k+1));
for j=k:-1:1
p = 4^(k-j+1);
R(j) = (p*R(j+1)-R(j))/(p-1);
fprintf('%0.15f\t',R(j));
end
fprintf('\n');
err = abs(R(1)-Ip);
Ip = R(1);
k = k+1;
if k==K+1
break;
end
end
function[I]=trapm(func,a,b,k,Ip)
I = 0;
H = b-a;
for i=1:2^(k-2)
I = I+func(a+(2*i-1)*H/(2^(k-1)));
end
I = 0.5*Ip+(H/(2^(k-1)))*I;
end
end

function[y]=func(x)
y = x*exp(2*x);
end
tenemos

f_7=(1*(2*7-5-8)./((1-5)*(1-8)))+(8*(2*7-1-8)./((5-1)*(5-8)))+(16.4*(2*7-1-5)./
((8-1)*(8-5)))

f_7 = 2.9500

También podría gustarte