You are on page 1of 20

1ra opcion

int
Definido e Integrales indefinidas

Sintaxis de
int(expr,var)
int(expr,var,a,b)
int(___,Name,Value)

Descripción
ejemplo

int(expr,var) calcula la integral indefinida de expr con respecto a la variable escalar


simbólico var. Especificar la variable var es opcional. Si no lo especifica, int utiliza la
variable por defecto determinada por symvar. Si expr es una constante, entonces la
variable por defecto es x.

ejemplo

int(expr,var,a,b) calcula la integral definida de expr con respecto a var de a a b. Si


no lo especifica, int utiliza la variable por defecto determinada por symvar. Si expr es
una constante, entonces la variable por defecto es x.

int(expr,var,[a,b]), int(expr,var,[a b]), y int(expr,var,[a;b]) equivalen a


int(expr,var,a,b).

ejemplo

int(___,Name,Value) utiliza opciones adicionales especificadas por uno o más


Name,Value argumentos par.

Ejemplos
Integral indefinida de la expresión univariante

Encontrar una integral indefinida de esta expresión univariante:

syms x
int(-2*x/(1 + x^2)^2)
ans =
1/(x^2 + 1)

Integrales indefinidas de expresión multivariante


Encontrar las Integrales indefinidas de esta expresión multivariante con respecto a las
variables x y z:

syms x z
int(x/(1 + z^2), x)
int(x/(1 + z^2), z)
ans =
x^2/(2*(z^2 + 1))

ans =
x*atan(z)

Si no se especifica la variable de integración, int utiliza la variable devuelta por


symvar. Para esta expresión, symvar devuelve x:

symvar(x/(1 + z^2), 1)
ans =
x

Integrales definidas expresiones univariante

Integrar esta expresión de 0 a 1:

syms x
int(x*log(1 + x), 0, 1)
ans =
1/4

Integrar esta expresión de sin(t) 1 especificar la gama de integración como un vector:

syms x t
int(2*x, [sin(t), 1])
ans =
cos(t)^2

Integrales de los elementos de la matriz

Encuentra Integrales indefinidas de las expresiones como los elementos de una matriz:

syms a x t z
int([exp(t), exp(a*t); sin(t), cos(t)])
ans =
[ exp(t), exp(a*t)/a]
[ -cos(t), sin(t)]

Aplicar IgnoreAnalyticConstraints

Para calcular esta integral indefinida. De forma predeterminada, int utiliza estrictas
reglas matemáticas. Estas normas no dejes que int escribir asin(sin(x)) y
acos(cos(x)) x.

syms x
int(acos(sin(x)), x)
ans =
x*acos(sin(x)) + x^2/(2*sign(cos(x)))

Si quieres una solución práctica simple, prueba IgnoreAnalyticConstraints:

int(acos(sin(x)), x, 'IgnoreAnalyticConstraints', true)


ans =
-(x*(x - pi))/2

Ignorar los casos especiales

Calcular esta integral con respecto a la variable x:

syms x t
int(x^t, x)

Por defecto, int devuelve la integral como un objeto por trozos donde cada rama
corresponde a un valor concreto o un rango de valores de la simbólica parámetro t:

ans =
piecewise(t == -1, log(x), t ~= -1, x^(t + 1)/(t + 1))

Para ignorar los casos especiales de los valores de parámetro, utilice


IgnoreSpecialCases:

int(x^t, x, 'IgnoreSpecialCases', true)

Con esta opción, int ignora el caso especial t=-1 y devuelve sólo la rama donde t<>–
1:

ans =
x^(t + 1)/(t + 1)

Valor a Principal de Cauchy

Para calcular esta integral definida, donde el integrando tiene un polo en el interior del
intervalo de integración. Matemáticamente, esta integral no se define.

syms x
int(1/(x - 1), x, 0, 2)
ans =
NaN

Sin embargo, el valor principal de Cauchy de la integral existe. Use PrincipalValue


para calcular el valor principal de Cauchy de la integral:

int(1/(x - 1), x, 0, 2, 'PrincipalValue', true)


ans =
0

Aproximado de Integrales indefinidas

int no se puede calcular una forma cerrada de una integral, devuelve un integral sin
resolver:
syms x
F = sin(sinh(x));
int(F, x)
ans =
int(sin(sinh(x)), x)

int no se puede calcular de una forma cerrada de una integral indefinida, tratar de
aproximar la expresión en algún momento con taylory para calcular la integral. Por
ejemplo, aproximar la expresión alrededor de x = 0:

int(taylor(F, x, 'ExpansionPoint', 0, 'Order', 10), x)


ans =
x^10/56700 - x^8/720 - x^6/90 + x^2/2

Aproximado de integrales definidas

Calcular esta integral definida:

syms x
F = int(cos(x)/sqrt(1 + x^2), x, 0, 10)
F =
int(cos(x)/(x^2 + 1)^(1/2), x, 0, 10)

int no se puede calcular de una forma cerrada de una integral definida, tratar de
aproximar ese integral numéricamente utilizando el vpa. Por ejemplo, aproximar F con
cinco dígitos:

vpa(F, 5)
ans =
0.37571

Argumentos de entrada
expr, integrando
expresión simbólica | función simbólica | vector simbólico | matriz
simbólica | número simbólico

Integrando, especificado como una expresión simbólica o función, una constante, o un


vector o matriz de expresiones simbólicas, las funciones, o constantes.

var: variable de integración


variable simbólica

Variable de integración, se especifica como una variable simbólica. Si no se especifica


esta variable int utiliza la variable por defecto determinada por symvar(expr,1). Si
expr es una constante, entonces la variable por defecto es x.

a — límite inferior
número | número simbólico | variable simbólica | expresión simbólica |
función simbólica
Límite inferior, especificada como un número, simbólico número, variable, expresión o
función (incluyendo expresiones y funciones con infinitos).

b — límite superior
número | número simbólico | variable simbólica | expresión simbólica |
función simbólica

Límite superior, especifica como un número, simbólico número, variable, expresión o


función (incluyendo expresiones y funciones con infinitos).

Argumentos de par

Especificar opcionales pares separados por comas de los argumentos Name,Value .


Name y Value es el valor correspondiente. Name debe aparecer dentro de las comillas
simples (' '). Puede especificar varios argumentos de pares de nombre y valor en
cualquier orden como Name1,Value1,...,NameN,ValueN.

Ejemplo: 'IgnoreAnalyticConstraints',true especifica que int se aplica


puramente algebraicas simplificaciones en el integrando.

'IgnoreAnalyticConstraints' — indicador de aplicación puramente


algebraicas simplificación integrando
false (por defecto) | true

Indicador de aplicación puramente algebraicas simplificaciones al integrando,


especificado como true o false. Si el valor es true, se aplica puramente algebraicas
simplificaciones en el integrando. Esta opción puede proporcionar resultados más
simples expresiones, para que el uso directo del integrador devuelve resultados
complicados. En algunos casos, también permite int calcular integrales que no pueden
computar lo contrario.

Tenga en cuenta que esta opción puede conducir a resultados erróneos o incompletos.

'IgnoreSpecialCases' — indicador para ignorar casos especiales


false (por defecto) | true

Indicador para ignorar los casos especiales, especificados como true o false. Si el
valor es true y la integración requiere el análisis de casos, ignorar los casos que
requieren uno o más parámetros a ser elementos de un conjunto relativamente pequeño,
como un conjunto finito o un conjunto de números enteros.

'PrincipalValue' — indicador para devolver el valor principal


false (por defecto) | true

Indicador para devolver el valor principal, especificado como true o false. Si el valor
es true, el valor principal de Cauchy de la integral para calcular.

Consejos
 En contraste con la diferenciación, integración simbólica es una tarea más
complicada. int no se puede calcular una integral de una expresión, una de estas
razones podría aplicar:
o La primitiva no existe en una forma cerrada.
o Existe la primitiva, pero int no puede encontrarlo.

int no se puede calcular una forma cerrada de una integral, devuelve un integral
sin resolver.

Trate de aproximar tales integrales utilizando uno de estos métodos:

o Para Integrales indefinidas, utilice extensiones de la serie. Utilice este


método para aproximar una integral alrededor de un valor particular de la
variable.
o Para integrales definidas, utilizar aproximaciones numéricas.
 Resultados devueltos por int no son constantes de integración.
 Para Integrales indefinidas, int implícitamente asume que la variable de
integración var es real. Para integrales definidas, int restringe la variable
integración var al intervalo de integración especificado. Si uno o ambos
integración límites a y b no están numéricos, int asume que a <= b a menos
que se especifique explícitamente lo contrario.

Algoritmos de
Cuando se utiliza IgnoreAnalyticConstraints, int se aplica estas reglas:

 log (a) + log (b) = log (a· b) para todos los valores de a y b. En particular, la
igualdad siguiente es válida para todos los valores de a, by c:

(un· b)c = unc·bc.

 registro (unb) = b·log (un) para todos los valores de a y b. En particular, la


igualdad siguiente es válida para todos los valores de a, by c:

(unb)c = unb· c.

 Si f y g son funciones matemáticas estándar y f(g(x)) = x para todo positivo


números pequeños, entonces f(g(x)) = x es se supone que sea válido para todo el
complejo de valores x. En particular:
o log (ex) = x
o asin (pecado (x)) = x, acos (cos (x)) = x, atan (tan (x)) = x
o asinh (sinh (x)) = x, acosh (cosh (x)) = x, atanh (tanh (x)) = x
o lambertWk(x· ex) = x para todos los valores de k
2da opcion
Integración
Si f es una expresión simbólica, entonces

int(f)

intenta encontrar otra expresión simbólica, F, para que diff(F) = f. Es decir, int(f)
devuelve la integral indefinida o primitiva de f (siempre y cuando exista en forma
cerrada). Similar a la diferenciación,

int(f,v)

utiliza el objeto simbólico v como la variable de integración, en lugar de la variable


determinado por symvar. Vea cómo funciona int mirando esta tabla.

En contraste con la diferenciación, integración simbólica es una tarea más complicada.


Puede surgir una serie de dificultades en cálculo integral:

 La primitiva, F, no puede existir en forma cerrada.


 La primitiva puede definir una función desconocida.
 La primitiva puede existir, pero el software no puede encontrarlo.
 El software podría encontrar la primitiva de una computadora más grande, pero
se queda sin tiempo o memoria de la máquina disponible.

Sin embargo, en muchos casos, MATLAB puede realizar integración simbólica con
éxito. Por ejemplo, crear las variables simbólicas

syms a b theta x y n u z

La siguiente tabla ilustra la integración de las expresiones que contienen las variables.
En el ejemplo anterior, exp(-x^2), no hay ninguna fórmula para el integral que
involucra expresiones de cálculo estándar, tales como funciones trigonométricas y
exponenciales. En este caso, MATLAB devuelve una respuesta en términos de la
función de error erf.

Si MATLAB es incapaz de encontrar una respuesta a la integral de una función f, sólo


devuelve int(f).

También es posible la integración definitiva.

Éstos son algunos ejemplos adicionales.


Para el ejemplo (besselj) la función de Bessel, es posible calcular una aproximación
numérica al valor de la integral, usando la double función. Los comandos

syms z
a = int(besselj(1,z)^2,0,1)

volver

a =
hypergeom([3/2, 3/2], [2, 5/2, 3], -1)/12

y el comando

a = double(a)

Devuelve

a =
0.0717

Integración con parámetros reales

Una de las sutilezas en la integración simbólica es el "valor" de varios parámetros. Por


ejemplo, si a es cualquier número real positivo, la expresión

e−unx2

es la curva de bell en forma positiva, que tiende a 0 como x tiende a ±∞. Puede crear un
ejemplo de esta curva, para a = 1/2. Antes de R2016a, usar ezplot en lugar fplot.

syms x
a = sym(1/2);
f = exp(-a*x^2);
fplot(f)
Sin embargo, si se intenta calcular la integral

sin asignar un valor a una, el MATLAB asume que una representa un número complejo
y por lo tanto devuelve una respuesta por trozos que depende de la discusión de una. Si
te interesa sólo en el caso cuando una es un número real positivo, utilizar assume para
establecer una hipótesis sobre a:

syms a
assume(a > 0)

Ahora puede calcular la integral anterior mediante los comandos

syms x
f = exp(-a*x^2);
int(f, x, -inf, inf)
Esto devuelve

ans =
pi^(1/2)/a^(1/2)

Integración con parámetros complejos

Para calcular la integral

para valores complejos de a, entrar en

syms a x clear
f = 1/(a^2 + x^2);
F = int(f, x, -inf, inf)

syms se utiliza con la opción clear para borrar los supuestos todos en a. Para obtener
más información acerca de variables simbólicas y supuestos sobre ellos, consulte
eliminar objetos simbólicos y sus supuestos.

Los comandos anteriores producen la salida del complejo

F =
(pi*signIm(1i/a))/a

La función signIm se define como:

signIm(z)= 10-1If Im(z)>0, o Im(z)=0 y z<0If z=0de lo contrario.




Evaluar F en a = 1 + i, introduzca

g = subs(F, 1 + i)
g =
pi*(1/2 - 1i/2)
double(g)
ans =
1.5708 - 1.5708i

Integración numérica de la alta precisión usando aritmética de precisión


Variable

Integración numérica de alta precisión está implementado en la función vpaintegral


de la Symbolic Math Toolbox™. vpaintegral utiliza aritmética de precisión variable
en contraste con la función integral de MATLAB, que utiliza aritmética de doble
precisión.

Integrar besseli(5,25*u).*exp(-u*25) integral y vpaintegral. La función


integral devuelve NaN y emite una advertencia mientras que vpaintegral devuelve el
resultado correcto.

syms u
f = besseli(5,25*x).*exp(-x*25);
fun = @(u)besseli(5,25*u).*exp(-u*25);

usingIntegral = integral(fun, 0, 30)


usingVpaintegral = vpaintegral(f, 0, 30)
Warning: Infinite or Not-a-Number value encountered.
usingIntegral =
NaN

usingVpaintegral =
0.688424

3ra opción
int
Estados del filtro en el CIC

Compatibilidad
mfilt se quitará en una versión futura. Consulte la página de referencia para un objeto
específico mfilt ver su reemplazo recomendado.

Sintaxis de
integerstates = int(hm.states)

Descripción
integerstates = int(hm.states) devuelve los Estados de un filtro CIC en forma de
matriz, en lugar de como objeto nativo filtstates . Un punto importante acerca de
int es que quantizes los valores de estado para el menor número de bits posibles
mientras que mantiene los valores con precisión.

Ejemplos
Para muchos usuarios, los Estados de motores filtros son más útiles como una matriz,
pero los filtros CIC almacenan los Estados como objetos. Aquí es cómo usted conseguir
los Estados de filtro CIC como una matriz.

hm = mfilt.cicinterp;
hs = hm.states; % Returns a FILTSTATES.CIC object hs.
states = int(hs); % Convert object hs to a signed integer matrix.

Después de usar int para convertir el objeto de Estados en una matriz, aquí es lo que
obtienes.

Antes de la conversión:

hm.states

ans =

Integrator: [2x1 States]


Comb: [2x1 States]

Después de la conversión y asignación de los Estados a states:

states

states =

0 0
0 0
4ta opción
Int
Sintaxis de
int(f, x)
int(f, x = a .. b, options)

Descripción
int(f, x) calcula la integral indefinida .

int(f, x = a..b) calcula la integral definida .

int(f, x) determina una función F tal que . La función F(x) se llama


primitiva de f(x). Resultados devueltos por int no son constantes de integración.

Para Integrales indefinidas, int implícitamente asume que la variable de integración x es


real. Para integrales definidas, int restringe la integración variable x a la integración
especificado intervalo [a, b] del tipo Type::Interval. Si uno o ambos integración
límites a y b no están numéricos, int asume que a <= b a menos que se especifique
explícitamente lo contrario. Por defecto, int no emitir advertencias sobre estos
supuestos. Para mostrar las advertencias sobre el uso de supuestos implícitos, establezca
el valor de intlib::printWarnings en TRUE.

En general, el resultado de int no es que sea válido para todos los valores complejos de
x. Por ejemplo, la identidad sólo es válida para valores reales de x. Por lo tanto,
también es válidos sólo para verdaderos valores de x .

Puede especificar sus propias suposiciones de la variable de integración. Si estos


supuestos no entran en conflicto con la asunción por defecto que la variable es real o
con el intervalo de integración, luego MuPAD® utiliza sus suposiciones. De lo
contrario, la función int emite una advertencia y cambia los supuestos. Utilice
intlib::printWarnings para habilitar o deshabilitar las advertencias.

Si calcular una integral indefinida y especificar las propiedades de la variable de


integración que describen un subconjunto de los números verdaderos, MuPAD asume
que la variable es real. De lo contrario, el sistema utiliza Asunción temporal que la
variable de integración es compleja. Esta hipótesis sostiene sólo durante esta integración
especial.

Si calcular un integral definida y especificar las propiedades que entran en conflicto con
el intervalo de integración, int utiliza el intervalo de integración.
int pueden devolver resultados con discontinuidades incluso si el integrando es
continuo.

Técnicas de integración, como búsqueda de tabla o integración de Risch para una


integral indefinida, pueden agregar nuevas discontinuidades durante el proceso de
integración. Estas nuevas discontinuidades aparecen porque los antiderivatives pueden
requerir la introducción de los logaritmos complejos. Logaritmos complejos tienen una
discontinuidad de salto cuando el argumento cruza el eje real negativo, y los algoritmos
de integración a veces no pueden encontrar una representación donde cancelación estos
saltos.

Calcular un integral definida primero calculando una integral indefinida y luego


sustituir los límites de integración en el resultado, recuerda que la integración indefinida
puede producir discontinuidades. Si lo hace, debe investigar las discontinuidades en el
intervalo de integración.

Si MuPAD no puede encontrar una solución de forma cerrada para la integral y no se


puede demostrar que tal forma no existe, devuelve un integral sin resolver. En este caso,
puede aproximar numéricamente la integral o intentar una expansión de serie de la
integral de computación. Ver ejemplo 2 y ejemplo 3.

Se puede aproximar un integral definida numéricamente usando numeric::int o float.


Aproximación numérica de un integral definida sólo funciona cuando la función de
float puede convertir los límites a y b del intervalo de integración de números de
punto flotante. Ver ejemplo 2.

int no podría encontrar una forma cerrada de una integral definida por singularidades
del integrando en el intervalo de integración. Si la integral no existe en un sentido
matemático estricto, int devuelve el valor undefined. En este caso, probar hipótesis.
Como alternativa, utilice la opción PrincipalValue para calcular de una forma más
débil de una integral definida llamada el valor principal de Cauchy. Esta forma de una
integral puede existir aunque el valor estándar de la integral es indefinido. Ver ejemplo
6.

En general, el derivado del resultado coincide con f en un subconjunto denso de los


números verdaderos (o, si utiliza supuestos en la variable de integración, el subconjunto
de números verdaderos especificado por estos supuestos).

No siempre es posible decidir algorítmicamente si y f son equivalentes. La razón


es la llamada cero problema de equivalencia, que en general es indecidible.

Interacciones del medio ambiente


int es sensible a las propiedades de identificadores por assume. Ver ejemplo 6.

Ejemplos
Ejemplo 1
Calcular las Integrales indefinidas y :

int(1/x/ln(x), x)

int(1/(x^2 - 8), x)

Calcular la integral definida sobre el intervalo [e, e2]:

int(1/x/ln(x), x = exp(1)..exp(2))

Cuando integrales definidas, puede utilizar infinitos como los límites del intervalo de
integración:

int(exp(-x^2), x = 0..infinity)

Usted puede calcular integrales múltiples. Por ejemplo, calcular las siguientes definidas
integrales múltiples:

int(int(int(1, z = 0..c*(1 - x/a - y/b)),


y = 0..b*(1 - x/a)), x = 0..a)

Ejemplo 2

Use int para calcular esta integral definida. Ya que la int no se puede encontrar una
forma cerrada de este integral, devuelve un integral sin resolver:

S := int(sin(cos(x)), x = 0..1)

Utilice la función de float para aproximar numéricamente la integral:


float(S)

Como alternativa, utilizar la numeric::int función, que es más rápida porque no


implica ningún procesamiento simbólico:

numeric::int(sin(cos(x)), x = 0..1)

Ejemplo 3

Use int para calcular esta integral indefinida. Ya que la int no se puede encontrar una
forma cerrada de este integral, devuelve un integral sin resolver:

int((x^2 + 1)/sqrt(sqrt(x + 1) + 1), x)

Utilice la función de series para calcular una extensión de serie de la integral:

series(%, x = 0)

Alternativamente, calcular una expansión de la serie del integrando y luego integrar el


resultado. Este enfoque es más rápido porque no intenta integrar la expresión original.
Integra una aproximación (la expansión de la serie) de la expresión original:

int(series((x^2 + 1)/sqrt(sqrt(x + 1) + 1), x = 0), x)

Ejemplo 4

La opción IgnoreAnalyticConstraints aplica un conjunto de simplificaciones


puramente algebraicas incluyendo la igualdad de la suma de logaritmos y un logaritmo
de un producto. Usando esta opción, obtendrá un resultado más simple, pero que puede
ser incorrecta para algunos de los valores de las variables:

int(ln(x) + ln(y) - ln(x*y), x, IgnoreAnalyticConstraints)


Sin usar esta opción, obtendrá el siguiente resultado, que es válido para todos los
valores de los parámetros:

int(ln(x) + ln(y) - ln(x*y), x)

Los resultados obtenidos con IgnoreAnalyticConstraints pueden no ser


generalmente válidos:

f := int(ln(x) + ln(y) - ln(x*y), x):


g := int(ln(x) + ln(y) - ln(x*y), x, IgnoreAnalyticConstraints):
simplify([f, g]) assuming x = -1 and y = -1

Ejemplo 5

Por defecto, int devuelve esta integral como un objeto por trozos donde cada rama
corresponde a un valor concreto o un rango de valores de la simbólica parámetro t:

int(x^t, x)

Para ignorar los casos especiales de los valores de parámetro, utilice


IgnoreSpecialCases:

int(x^t, x, IgnoreSpecialCases)

Ejemplo 6

Para calcular esta integral definida, donde el integrando tiene un polo en el interior del
intervalo de integración. Matemáticamente, esta integral no se define:

int(1/(x - 1), x = 0..2)


Sin embargo, el valor principal de Cauchy de la integral existe. Utilice la opción
PrincipalValue para calcular el valor principal de Cauchy de la integral:

hold(int)(1/(x - 1), x = 0..2, PrincipalValue) =


int( 1/(x - 1), x = 0..2, PrincipalValue)

Para integrandos con parámetros, int podría ser incapaz de decidir si el integrando tiene
polos en el intervalo de integración. En este caso, int devuelve una función por trozos-
definida o un integral sin resolver:

int(1/(x - a), x = 0..2)

int no llamar a funciones de simplificación de sus resultados. Para simplificar los


resultados devueltos por int, usar eval, simplifyy Simplify :

Simplify(eval(%))

You might also like