SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Análisis Numérico
Universidad Nacional de Misiones
Mario R. ROSENBERGER 1 de 6
Integración numérica con MatLab
Matlab cuenta con las siguientes comandos para calcular la integral de
una serie de datos en numérica:
quad Método Simpson 1/3, recursivo* y adaptativo**
quadl Método Gauss-Lobatto recursivo* y adaptativo**
dblquad Evalúa numéricamente la integral doble
triplequad Evalúa numéricamente la integral triple
quad8 Método de Newton-Cotes 8 panel rule
¿Método de Simpson 3/8? y adaptativo**.
trapz Método del trapecio.
La palabra inglesa “quadrature” se usa para designar el cálculo de un área encerrada por una
función y los ejes de coordenadas, es decir, el valor de la integral definida. De allí el nombre de estos
comandos. Quadrature es los que nosotros llamamos integración numérica.
De la lista el comando quad8 se considera obsoleto y se recomienda emplear el método quadl.
Trapz es el único comando que acepta datos sueltos, los demás trabajan con funciones
declaradas en forma simbólica.
* Recursividad implica que la función realiza una referencia a si misma para calcular nuevos valores de
la imagen.
** Adaptativo indica que el tamaño de los intervalos varía para minimizar el error de la aproximación.
El comando “trapz”
El formato de este comando se describe en el esiguiente esquema:
Donde:
X es una vector columna que indica los valores de abscisas de los datos cuya integral se quiere
calcular.
Y es un vector o matriz donde cada columna es una serie de datos a integrar.
Algunos ejemplos de implementación:
>> trapz([ 1 1 1 1])
ans =
3
>> trapz([0 1 2 6],[ 1 1 1 1])
ans =
6
>> trapz([0 1 2 6]',[ 1 1 1 1])
ans =
Comandos utilizados
en esta guía
quad
quadl
dbquad
inline
polyint
int
@
),( YXtrapz
espaciado de los datos
datos a integrar
Integración numérica con MatLab
Mario R. ROSENBERGER
2 de 6
6
>> trapz([0 1 2 6]',[ 1 1 1 1; 2 2 2 2 ]')
ans =
6 12
El comando “quad”
El formato del comando quad admite los argumentos, tal como se muestra en el siguiente esquema:
La función a integra debe definirse en forma simbólica mediante el comando inline o a través de
un archivo m. Por ejemplo, para integrar la función y = x2
+5, entre los límites [0,1], puede escribirse:
>> quad('x.^2+5',0,1)
ans =
5.3333
y utilizando un archivo m, llamado fun.m y definido como :
function y=fun(x)
y= x.^2+5;
>> quad('fun',0,1)
ans =
5.3333
o
q = quad(@fun,0,1)
q =
5.3333
Este comando admite más argumentos, tales como, tolerancia del cálculo(tol), la posibilidad de
imprimir los resultados de las iteraciones (trace) e incluir parámetros adicionales para la función (p1
p2,...)tal como se muestra a continuación:
q = quad( fun , a , b , tol , trace , p1 , p2 , ...)
Para quadl, quad8 rigen las mismas recomendaciones.
Integrales dobles:
En Matlab pueden calcularse numéricamente integrales dobles, para ello se usa el comando
dblquad, el formato de dicho comando es como sigue:
q = dblquad ( fun, xmin, xmax, ymin, ymax, tol, method, p1, p2, ...)
),,( bafunciónquad
función a integrar
límite inferior
del intervalo
límite superior
del intervalo
Integración numérica con MatLab
Mario R. ROSENBERGER
3 de 6
donde:
fun es una función declarada del tipo inline o a través de un archivo m.
xmin ; xmax : son los valores extremos de la variable x
ymin; ymax : son los valores extremos de la variable y
tol : es la tolerancia para el cálculo numérico
method: especifica el método de cálculo
p1, p2 ,...: son parámetros adicionales que se pueden utilizar en el cálculo.
Ejemplos:
1). usando un función definica con inline:
>>dblquad(inline('y*sin(x) + x*cos(y)'),0, 1, 0,1)
ans =
0.65058433794530
2). usando una función definida en un archivo_m.
function out = esta(x,y)
out = y*sin(x) + x*cos(y);
>> dblquad(@esta,0, 1, 0,1)
ans =
0.65058433794530
3). otra manera de invocar una función definida en un archivo_m.
>> dblquad(‘esta’,0, 1, 0,1, [], @quadl)
ans =
0.65058433946982
En el ejemplo nº 3 los corchetes vacíos “[]” indican que no se modifica el parámetro tolerancia,
empleándose el valor predeterminado
Atención al orden de las variables de integración: estas siguen el orden alfabético. Para los
ejemplos siguientes se define la función: f(x,y) = y2
*x de tres diferentes maneras.
>> a=inline('y^2.*x')
a =
Inline function:
a(x,y) = y^2.*x
>> a2=inline('x*y^2’);
>> a3=inline(‘y*x.^2’);
>> a, dblquad(a,1.3,1.4,2.1,2.2)
a =
Inline function:
a(x,y) = y^2.*x
ans =
0.062415
Integración numérica con MatLab
Mario R. ROSENBERGER
4 de 6
>> a2, dblquad(a2,1.3,1.4,2.1,2.2)
a2 =
Inline function:
a2(x,y) = x*y^2
ans =
0.062415
Pero si cambiamos y por x, también debemos cambiar los límites de integración, ya que sino
darán valores diferentes. Comparar los dos ejemplos que siguen:
>> a3, dblquad(a3,1.3,1.4,2.1,2.2) % se invirtieron las variables pero no los límites de integración
a3 =
Inline function:
a3(x,y) = y*x.^2
ans =
0.039202
>> a3, dblquad(a4,2.1,2.2, 1.3,1.4) % aquí se invirtieron las variables y los límites de integración
a3 =
Inline function:
a3(x,y) = y*x.^2
ans =
0.062415
Posibles mensajes de error:
'Minimum step size reached' indicates that the recursive interval subdivision has produced a
subinterval whose length is on the order of roundoff error in the length of the original interval. A
nonintegrable singularity is possible.
'Maximum function count exceeded' indicates that the integrand has been evaluated more than
10,000 times. A nonintegrable singularity is likely.
'Infinite or Not-a-Number function value encountered' indicates a floating point overflow or division
by zero during the evaluation of the integrand in the interior of the interval.
Integración de Polinomios:
Un comando específico, polyint, permite calcular la integral analítica de polinomios, el formato se
indica a continuación:
polyint (p , k)
donde:
p es el polinomio definido como vector fila y k es una constante de integración, cuyo valor
predeterminado es 0 (cero).
>> p = [1 3 4];
polyint(p)
ans =
0.33333 1.5 4 0
eso se interpreta como:
Integración numérica con MatLab
Mario R. ROSENBERGER
5 de 6
p = 1*x2
+ 3*x + 4
y
ans = 0.3333*x3
+ 1.5*x2
+ 4*x + 0
Integración simbólica:
El comando int permite calcular la integral de funciones en forma simbólica, su formato es el siguiente:
int (fun , v)
donde:
fun: es la función que se desea integrar.
v: es la variable sobre la que se quiere integrar
Una variable:
>> syms x
>> int(x^2)
ans =
1/3*x^3
más de una variable:
>> syms v x
>> int(v*x^2)
ans =
1/3*v*x^3
>> int(v*x^2,x)
ans =
1/3*v*x^3
>> int(v*x^2,v)
ans =
1/2*v^2*x^2
>> int(v*x^2,v)+int(v*x^2,x)
ans =
1/2*v^2*x^2+1/3*v*x^3
Integral definida resuelta simbólicamente
El comando int además permite calcular la integral definida de
una función, tal como:
y el formato es:
int (f,v,a,b)
∫
b
a
dvvf )(
Integración numérica con MatLab
Mario R. ROSENBERGER
6 de 6
donde:
fun: es la función que se desea integrar.
v: es la variable sobre la que se quiere integrar
a y b son los límites de integración
El programa asume de forma predeterminada la variable x como incógnita, entonces puede usarse:
int ( f, a, b)
por ejemplo:
>> int(x^2,1,3)
ans =
26/3
integrales dobles empleando funciones “int” anidadas:
Si anidamos dos comandos int podremos calcular integrales doble. Por anidar se entiende poner un
comando como elemento sobre el que se aplica otro comando del mismo tipo, es decir, un comando
dentro de otro.
por ejemplo:
>> syms x y
>> int ( int (x.^2 * y, x, 1.3, 1.4) , y, 2.1, 2.2 )
ans =
23521/600000
>> eval (ans)
ans =
0.03920166666667

Weitere ähnliche Inhalte

Was ist angesagt?

Factorización con matlab
Factorización con matlabFactorización con matlab
Factorización con matlab
doping92
 
Fortran 90 con métodos numéricos
Fortran 90 con métodos numéricosFortran 90 con métodos numéricos
Fortran 90 con métodos numéricos
Marco Antonio
 
Aplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorAplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superior
Isai Esparza Agustin
 
Trabajo ecuaciones
Trabajo ecuacionesTrabajo ecuaciones
Trabajo ecuaciones
Miguel Doria
 
Método de gauss y gauss seidel
Método de gauss y gauss seidelMétodo de gauss y gauss seidel
Método de gauss y gauss seidel
Lilly Kwang
 
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulliEcuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
ge0ser
 
Ecuaciones diferenciales de cauchy euler
Ecuaciones diferenciales de cauchy eulerEcuaciones diferenciales de cauchy euler
Ecuaciones diferenciales de cauchy euler
Joonser
 
Ejercicios resueltos de transformada de laplace
Ejercicios resueltos de transformada de laplaceEjercicios resueltos de transformada de laplace
Ejercicios resueltos de transformada de laplace
Sthefany Celeste
 

Was ist angesagt? (20)

Diferenciabilidad func. de 2 variables leo lópez
Diferenciabilidad func. de 2 variables leo lópezDiferenciabilidad func. de 2 variables leo lópez
Diferenciabilidad func. de 2 variables leo lópez
 
Método de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosMétodo de newton raphson Metodos Numericos
Método de newton raphson Metodos Numericos
 
Factorización con matlab
Factorización con matlabFactorización con matlab
Factorización con matlab
 
Fortran 90 con métodos numéricos
Fortran 90 con métodos numéricosFortran 90 con métodos numéricos
Fortran 90 con métodos numéricos
 
Aplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorAplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superior
 
Trabajo ecuaciones
Trabajo ecuacionesTrabajo ecuaciones
Trabajo ecuaciones
 
Runge Kutta Fehlberg
Runge Kutta FehlbergRunge Kutta Fehlberg
Runge Kutta Fehlberg
 
metodo de trapecio.pdf
metodo de trapecio.pdfmetodo de trapecio.pdf
metodo de trapecio.pdf
 
Método de gauss y gauss seidel
Método de gauss y gauss seidelMétodo de gauss y gauss seidel
Método de gauss y gauss seidel
 
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulliEcuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
 
Funcion de heaviside
Funcion de heavisideFuncion de heaviside
Funcion de heaviside
 
Pendulo de torsion_fhg
Pendulo de torsion_fhgPendulo de torsion_fhg
Pendulo de torsion_fhg
 
Tabla momento de inercia sólidos rigidos
Tabla momento de inercia sólidos rigidosTabla momento de inercia sólidos rigidos
Tabla momento de inercia sólidos rigidos
 
Resumen tema 2
Resumen tema 2Resumen tema 2
Resumen tema 2
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
 
Ecuaciones diferenciales de cauchy euler
Ecuaciones diferenciales de cauchy eulerEcuaciones diferenciales de cauchy euler
Ecuaciones diferenciales de cauchy euler
 
1 teoría de errores
1 teoría de errores1 teoría de errores
1 teoría de errores
 
Ejercicios resueltos de transformada de laplace
Ejercicios resueltos de transformada de laplaceEjercicios resueltos de transformada de laplace
Ejercicios resueltos de transformada de laplace
 
FACTORES DE INTEGRACIÓN
FACTORES DE INTEGRACIÓNFACTORES DE INTEGRACIÓN
FACTORES DE INTEGRACIÓN
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 

Ähnlich wie Clase integracion matlab (20)

Cuaderno 1
Cuaderno 1Cuaderno 1
Cuaderno 1
 
Mat lab03
Mat lab03Mat lab03
Mat lab03
 
Capitulo5
Capitulo5Capitulo5
Capitulo5
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
Mat lab01
Mat lab01Mat lab01
Mat lab01
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Mathscript
MathscriptMathscript
Mathscript
 
COMANDOS EJEMPLOS DE MATLAB.pdf
COMANDOS EJEMPLOS DE MATLAB.pdfCOMANDOS EJEMPLOS DE MATLAB.pdf
COMANDOS EJEMPLOS DE MATLAB.pdf
 
Matlab
MatlabMatlab
Matlab
 
Matlab principios
Matlab principiosMatlab principios
Matlab principios
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
 
Arreglos. lidia
Arreglos. lidiaArreglos. lidia
Arreglos. lidia
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Int_Octave_II_2021.pptx
Int_Octave_II_2021.pptxInt_Octave_II_2021.pptx
Int_Octave_II_2021.pptx
 
Clase 10
Clase 10Clase 10
Clase 10
 
Taller 10-14-ii
Taller 10-14-iiTaller 10-14-ii
Taller 10-14-ii
 
Matlab
MatlabMatlab
Matlab
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
 
Matlab
MatlabMatlab
Matlab
 

Kürzlich hochgeladen

Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
OBSERVATORIOREGIONAL
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
IrapuatoCmovamos
 

Kürzlich hochgeladen (20)

REGISTRO CONTABLE DE CONTABILIDAD 2022..
REGISTRO CONTABLE DE CONTABILIDAD 2022..REGISTRO CONTABLE DE CONTABILIDAD 2022..
REGISTRO CONTABLE DE CONTABILIDAD 2022..
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificación
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpoint
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
 
Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
 
max-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptxmax-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptx
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdfSEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
 
data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdf
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
 
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxCUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
Unidad 6 estadística 2011  TABLA DE FRECUENCIAUnidad 6 estadística 2011  TABLA DE FRECUENCIA
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
 

Clase integracion matlab

  • 1. Análisis Numérico Universidad Nacional de Misiones Mario R. ROSENBERGER 1 de 6 Integración numérica con MatLab Matlab cuenta con las siguientes comandos para calcular la integral de una serie de datos en numérica: quad Método Simpson 1/3, recursivo* y adaptativo** quadl Método Gauss-Lobatto recursivo* y adaptativo** dblquad Evalúa numéricamente la integral doble triplequad Evalúa numéricamente la integral triple quad8 Método de Newton-Cotes 8 panel rule ¿Método de Simpson 3/8? y adaptativo**. trapz Método del trapecio. La palabra inglesa “quadrature” se usa para designar el cálculo de un área encerrada por una función y los ejes de coordenadas, es decir, el valor de la integral definida. De allí el nombre de estos comandos. Quadrature es los que nosotros llamamos integración numérica. De la lista el comando quad8 se considera obsoleto y se recomienda emplear el método quadl. Trapz es el único comando que acepta datos sueltos, los demás trabajan con funciones declaradas en forma simbólica. * Recursividad implica que la función realiza una referencia a si misma para calcular nuevos valores de la imagen. ** Adaptativo indica que el tamaño de los intervalos varía para minimizar el error de la aproximación. El comando “trapz” El formato de este comando se describe en el esiguiente esquema: Donde: X es una vector columna que indica los valores de abscisas de los datos cuya integral se quiere calcular. Y es un vector o matriz donde cada columna es una serie de datos a integrar. Algunos ejemplos de implementación: >> trapz([ 1 1 1 1]) ans = 3 >> trapz([0 1 2 6],[ 1 1 1 1]) ans = 6 >> trapz([0 1 2 6]',[ 1 1 1 1]) ans = Comandos utilizados en esta guía quad quadl dbquad inline polyint int @ ),( YXtrapz espaciado de los datos datos a integrar
  • 2. Integración numérica con MatLab Mario R. ROSENBERGER 2 de 6 6 >> trapz([0 1 2 6]',[ 1 1 1 1; 2 2 2 2 ]') ans = 6 12 El comando “quad” El formato del comando quad admite los argumentos, tal como se muestra en el siguiente esquema: La función a integra debe definirse en forma simbólica mediante el comando inline o a través de un archivo m. Por ejemplo, para integrar la función y = x2 +5, entre los límites [0,1], puede escribirse: >> quad('x.^2+5',0,1) ans = 5.3333 y utilizando un archivo m, llamado fun.m y definido como : function y=fun(x) y= x.^2+5; >> quad('fun',0,1) ans = 5.3333 o q = quad(@fun,0,1) q = 5.3333 Este comando admite más argumentos, tales como, tolerancia del cálculo(tol), la posibilidad de imprimir los resultados de las iteraciones (trace) e incluir parámetros adicionales para la función (p1 p2,...)tal como se muestra a continuación: q = quad( fun , a , b , tol , trace , p1 , p2 , ...) Para quadl, quad8 rigen las mismas recomendaciones. Integrales dobles: En Matlab pueden calcularse numéricamente integrales dobles, para ello se usa el comando dblquad, el formato de dicho comando es como sigue: q = dblquad ( fun, xmin, xmax, ymin, ymax, tol, method, p1, p2, ...) ),,( bafunciónquad función a integrar límite inferior del intervalo límite superior del intervalo
  • 3. Integración numérica con MatLab Mario R. ROSENBERGER 3 de 6 donde: fun es una función declarada del tipo inline o a través de un archivo m. xmin ; xmax : son los valores extremos de la variable x ymin; ymax : son los valores extremos de la variable y tol : es la tolerancia para el cálculo numérico method: especifica el método de cálculo p1, p2 ,...: son parámetros adicionales que se pueden utilizar en el cálculo. Ejemplos: 1). usando un función definica con inline: >>dblquad(inline('y*sin(x) + x*cos(y)'),0, 1, 0,1) ans = 0.65058433794530 2). usando una función definida en un archivo_m. function out = esta(x,y) out = y*sin(x) + x*cos(y); >> dblquad(@esta,0, 1, 0,1) ans = 0.65058433794530 3). otra manera de invocar una función definida en un archivo_m. >> dblquad(‘esta’,0, 1, 0,1, [], @quadl) ans = 0.65058433946982 En el ejemplo nº 3 los corchetes vacíos “[]” indican que no se modifica el parámetro tolerancia, empleándose el valor predeterminado Atención al orden de las variables de integración: estas siguen el orden alfabético. Para los ejemplos siguientes se define la función: f(x,y) = y2 *x de tres diferentes maneras. >> a=inline('y^2.*x') a = Inline function: a(x,y) = y^2.*x >> a2=inline('x*y^2’); >> a3=inline(‘y*x.^2’); >> a, dblquad(a,1.3,1.4,2.1,2.2) a = Inline function: a(x,y) = y^2.*x ans = 0.062415
  • 4. Integración numérica con MatLab Mario R. ROSENBERGER 4 de 6 >> a2, dblquad(a2,1.3,1.4,2.1,2.2) a2 = Inline function: a2(x,y) = x*y^2 ans = 0.062415 Pero si cambiamos y por x, también debemos cambiar los límites de integración, ya que sino darán valores diferentes. Comparar los dos ejemplos que siguen: >> a3, dblquad(a3,1.3,1.4,2.1,2.2) % se invirtieron las variables pero no los límites de integración a3 = Inline function: a3(x,y) = y*x.^2 ans = 0.039202 >> a3, dblquad(a4,2.1,2.2, 1.3,1.4) % aquí se invirtieron las variables y los límites de integración a3 = Inline function: a3(x,y) = y*x.^2 ans = 0.062415 Posibles mensajes de error: 'Minimum step size reached' indicates that the recursive interval subdivision has produced a subinterval whose length is on the order of roundoff error in the length of the original interval. A nonintegrable singularity is possible. 'Maximum function count exceeded' indicates that the integrand has been evaluated more than 10,000 times. A nonintegrable singularity is likely. 'Infinite or Not-a-Number function value encountered' indicates a floating point overflow or division by zero during the evaluation of the integrand in the interior of the interval. Integración de Polinomios: Un comando específico, polyint, permite calcular la integral analítica de polinomios, el formato se indica a continuación: polyint (p , k) donde: p es el polinomio definido como vector fila y k es una constante de integración, cuyo valor predeterminado es 0 (cero). >> p = [1 3 4]; polyint(p) ans = 0.33333 1.5 4 0 eso se interpreta como:
  • 5. Integración numérica con MatLab Mario R. ROSENBERGER 5 de 6 p = 1*x2 + 3*x + 4 y ans = 0.3333*x3 + 1.5*x2 + 4*x + 0 Integración simbólica: El comando int permite calcular la integral de funciones en forma simbólica, su formato es el siguiente: int (fun , v) donde: fun: es la función que se desea integrar. v: es la variable sobre la que se quiere integrar Una variable: >> syms x >> int(x^2) ans = 1/3*x^3 más de una variable: >> syms v x >> int(v*x^2) ans = 1/3*v*x^3 >> int(v*x^2,x) ans = 1/3*v*x^3 >> int(v*x^2,v) ans = 1/2*v^2*x^2 >> int(v*x^2,v)+int(v*x^2,x) ans = 1/2*v^2*x^2+1/3*v*x^3 Integral definida resuelta simbólicamente El comando int además permite calcular la integral definida de una función, tal como: y el formato es: int (f,v,a,b) ∫ b a dvvf )(
  • 6. Integración numérica con MatLab Mario R. ROSENBERGER 6 de 6 donde: fun: es la función que se desea integrar. v: es la variable sobre la que se quiere integrar a y b son los límites de integración El programa asume de forma predeterminada la variable x como incógnita, entonces puede usarse: int ( f, a, b) por ejemplo: >> int(x^2,1,3) ans = 26/3 integrales dobles empleando funciones “int” anidadas: Si anidamos dos comandos int podremos calcular integrales doble. Por anidar se entiende poner un comando como elemento sobre el que se aplica otro comando del mismo tipo, es decir, un comando dentro de otro. por ejemplo: >> syms x y >> int ( int (x.^2 * y, x, 1.3, 1.4) , y, 2.1, 2.2 ) ans = 23521/600000 >> eval (ans) ans = 0.03920166666667