You are on page 1of 6

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FISICAS Y


MATEMATICAS
ING INFORMATICA (III CICLO)
REGLA DEL TRAPECIO Y TRAPECIO COMPUESTO COMPUESTO

REGLA DEL TRAPECIO:

Input: (2*x)+cos(x)

a=0

b=2

Output:
sin(x) + x 2

10

0
0 0.5 1 1.5 2 2.5 3
x

CODIGO

%REGLA DE EL TRAPECIO

clc;

fprintf('\t\tREGLA DEL TRAPECIO\n');

fprintf('\t\t----- --- --------\n\n');

fun=input('Ingrese la funcion: ','s'); % solicita funcion

b=input('Ingrese el limite superior de la integral: '); %limite


superior (b)

a=input('Ingrese el limite inferior de la integral: '); %limite


inferior (a)

h=(b-a); %la altura

x = a; %se carga a x con a

f1=eval(fun); % se evalua la funcion con el x cargado anteriormente

x=b; %se carga a x con b

f2=eval(fun); %se evalua a x cragado anteriormente

aprox = h/2*(f1+f2); %se ha hallado el aproximado valor del area


integ=int(fun) % se integra la funcion

x=a; %se carga a x con el valor d a

i1 = eval(integ); %se evalua a la funcion con el valor d x cargado


antes

x=b; %se carga a x con el valor de b

i2 = eval(integ); %se evalua el valor de la funcion con el de x

error = abs(aprox - (i2 - i1)); %se halla el error restando el valor


aproximado y el exacto

fprintf('El area aproximada : %f ± %f \n',aprox,error); %muetsra el


resultado completo

grid ;

hold on;

ezplot(fun);

ezplot(integ);
REGLA DEL TRAPECIO COMPUESTO:

Input: (2*x)+cos(x)

a=0

b=2

n=4

Output:

CODIGO

%REGLA DEL TRAPECIO COMPUESTO

clc;

fprintf('\t\tREGLA DEL TRAPECIO COMPUESTO\n');

fprintf('\t\t----- --- -------- ---------\n\n');


f=input('Ingrese funcion en terminos de x:','s'); %se solicita la
funcion en términos de x

fprintf('Ingrese limites:\n'); %solicitud de los limites para hallar


ela rea

a=input('inferior: '); %limite inferior(a)

b=input('superior: '); %limite superior(b)

n=input('Ingrese cantidad de intervalos: '); %cantidad d intervalos


entre los limites

fun=f; %se guarda la funcion en la variable fun para luego derivarla

f=inline(f); %f se prepara para se analizada en puntos determinados

h=(b-a)/n; %se halla h mediante la formula b-a/n

aprox=f(a)+f(b); %aprox toma su primer valor

for i=1:n-1

x=a+i*h; %se obtiene un valor para x para ser analizado en f(x)


en la siguiente linea

aprox=aprox+2*f(x); %aprox va tomando valores en cada vuelta


end

aprox=(h/2)*aprox; %aprox = valor aproximado del area bajo la curva

fprintf('\nEl area aproximada es: %f',aprox); % muestra el area


aproximada

%AQUI EMPIEZA A HALLARSE EL ERROR

der=diff(diff(fun)); %en der se almacena la doble derivada de


fun(guardada en un comienzo)

er=0; %e se inicializa en 0

der=inline(der); %der se prepara para ser analizado diversos en


puntos

for i=0:n-1

aux=a+i*h; %aux sera cada intervalo sumado a el punto inicial


inferior

er=er+der(aux); %se analiza der en aux y er comienza a cambiar


su valor en cada vuelta
end

r=-(h^3/12)*er; %se halla el error mediante la formula

r=abs(r); %valor absoluto del error (por el engativo)


fprintf('\nEl error es: %f',r); % muestra el error

fprintf('\nEl área bajo la curva hallada mediante la regla del


trapecio compuesto es:\n\t%f ± %f',aprox,r); %muestra el valor
aproximado con el posible error

hold on;
ezplot(fun);
ezplot(der);

You might also like