Está en la página 1de 5

UNIDAD 6.

%Integrales simples mediante la funcion 'quad'


>> f=@(x) x.*sin((4*log(x)));
>> z=quad(f,0.2,3)
z=
-0.2837
>> %Integrales dobles mediante la funcion 'integral2'
f=@(x,y) (x.^2).*y;
>> g=integral2(f,1,2,0,3);
>> fprintf('El valor de la integral es: %2.4f\n',g)
El valor de la integral es: 10.5000
%Otra forma de hacer una integral doble
>> syms x y
>> f=@(x,y) (x.^2).*y;
>> z=int(int(f,x,1,2),y,0,3)
z=
21/2
>> double(z)
ans =
10.5000
%La primera int es la de dentro, y la integral dentro de la integral es la de fuera
A continuación, interesa calcular la integral doble de la función f(x,y) en la región no
rectangular comprendida entre las curvas y=c(x), y=d(x) y las rectas x=a y x=b

Ejecutamos el siguiente script que utiliza el fichero g.m y así poder calcular la integral entre los
extremos a=0 y b=2:

>> z=integral(@g,0,2); %aquí se usa el comando integral

>>fprintf('El valor de la integral es: %3.4f\n',z)

El valor de la integral es: 10.5000


EJEMPLOS: Comprobar los resultados de las integrales siguientes:

Cambiamos el nombre de la función g1 en vez de g. Modificamos los límites c y d de la integral


así como la definición de la función f(x,y). EJECUTAMOS EL SCRIPT Y SEGUIDAMENTE:

z=quad(@g1,0.1,0.5);

>> fprintf('El valor de la integral es: %1.4f\n',z)

El valor de la integral es: 0.0333

Vamos ahora a resolver el segundo ejemplo. Cargamos el fichero g1.m en el editor y lo


guardamos (File/Save As…) con nombre g2.m Cambiamos el nombre de la función g2 en vez de
g1. Modificamos los límites c y d de la integral así como la definición de la función f(x,y)

Modificamos el script para llamar al fichero g2.m y así poder calcular la integral entre los
extremos a=0 y b=1:

z=integral(@g2,0,1);

>> fprintf('El valor de la integral es: %1.4f\n',z)

El valor de la integral es: 0.9167

EJERCICIOS PROPUESTOS

1. a) metodo_simpson
abscisa inicial, x0: 0
abscisa final, xf: 1
número intervalos (par), n: 100
El valor aproximado de la integral: 0.6931
Método función ‘integral’
>> f=@(x)1./(1+x);
m=integral(f,0,1)
m=
0.6931
b) format long

>>f=@(x) 1./(1+(x.^2));

>> m=integral(f,0,1)

m=

0.785398163397448

>> int_medio_resolver

tiempo inicial, t0: 0

tiempo final, tf: 1

número de intervalos, n: 100

g=

0.785400246730781

e) como el limite en un decimal, utilizo el comando quad

>>f=@(x) (1+x).^(1./2);

>> z=quad(f,0,0.1)

z=

0.102459821991442

2.

a) f=@(x) (1+(x.^3)).^(1./2); >> m=integral(f,0,10) m = 127.8575

>> metodo_simpson

abscisa inicial, x0: 0

abscisa final, xf: 10

número intervalos (par), n: 10

El valor aproximado de la integral: 127.8366

>> int_medio_resolver

tiempo inicial, t0: 0

tiempo final, tf: 10

número de intervalos, n: 10

g=

127.6547
b) int_medio_resolver

tiempo inicial, t0: 0

tiempo final, tf: 1

número de intervalos, n: 100

g=

1.3083

>> metodo_simpson

abscisa inicial, x0: 0

abscisa final, xf: 1

número intervalos (par), n: 100

El valor aproximado de la integral: 1.3083

>> f=@(x) (1+exp(-x).*(sin(4.*x)));

>> m=integral(f,0,1)

m=

1.3083

3.

a) f=@(x) (x.^3).*(1./y);

>> z=int(int(f,x,1,2),y,1,3)

z=

(15*log(3))/4

>> double(z)

ans =

4.119796082505411

>> f=@(x,y) (x.^3).*(1./y);

>> g=integral2(f,1,2,1,3);

>> fprintf('El valor de la integral es: %2.4f\n',g)

El valor de la integral es: 4.1198


B) He usado el script g.m y lo he modificado

z=integral(@g3b,1,3); %aquí se usa el comando integral fprintf('El valor de la integral


es: %1.4f\n',z)

>> fprintf('El valor de la integral es: %1.4f\n',z)

El valor de la integral es: 148.7536

c) z=integral(@g3c,0,1); %aquí se usa el comando integral

>> fprintf('El valor de la integral es: %1.4f\n',z)

El valor de la integral es: 3.2000

También podría gustarte