2012-01-01 843 views
8

Cuando intento para calcular la siguiente integral en Mathematica 8, me sale este extraño resultado:¿Por qué Mathematica no puede resolver esta integral definida?

In[1]:= Integrate[y/((1 + x^2 + y^2)^(3/2)), {y, 0, 1}] 

Mathematica graphics

arce 14 puede resolver éste fácilmente:


¿Por qué Mathematica me da un resultado diferente?

+1

No está integrando sobre la misma variable en ambos ejemplos. Por favor, asegúrese de hacer preguntas directas y claramente respondibles en StackOverflow para obtener buenas respuestas. En este caso, ¿te refieres a "cómo puedo calcular esta integral usando Mathematica"? – Szabolcs

+0

tiene razón, copié y pegué la expresión incorrecta. Lo corregí. –

+7

Para los cerradores: esta es una pregunta perfectamente sobre el tema ** del lenguaje de programación ** * Mathematica *. Esta no es una pregunta matemática/matemática. –

Respuesta

12

probar este

r = Integrate[y/((1 + x^2 + y^2)^(3/2)), {y, 0, 1}] 
r = Assuming[Element[x, Reals], Simplify[r]]; 
Together[r] 

que da

(-Sqrt[1+x^2]+Sqrt[2+x^2])/(Sqrt[1+x^2] Sqrt[2+x^2]) 

Cuál es el mismo que el de arce de:

enter image description here

+0

muchas gracias. ¿Puedo tomar esto como una regla general que cuando obtengo una expresión condicional confusa con partes reales e imaginarias utilizo la expresión Asumir x = Real? Por cierto, la evaluación en matemática lleva varios segundos en mi máquina mientras que en arce está ahí al instante. Además, el resultado se puede simplificar aún más utilizando FullSimplify, pero cuando sustituyo Simplify en su expresión Asumir con FullSimplify obtengo el mismo resultado que con Simplify. –

+10

@MartinKoller Puedes buscar ['ConditionalExpression'] (http://goo.gl/orIqS) en los documentos para encontrar cuál es. Se usa cuando el resultado solo es válido cuando ciertas suposiciones son verdaderas. Si 'x == I', entonces el resultado que da Maple simplemente no es correcto. En este caso, Mathematica puede detectar esto y genera condiciones bajo las cuales el resultado es válido. Si está interesado en 'x' solo valor real, dígalo * dentro * de la función 'Integrate',' Integrar [y/((1 + x^2 + y^2)^(3/2)), { y, 0, 1}, Supuestos -> x \ [Elemento] Reales] 'y será mucho más rápido. – Szabolcs

Cuestiones relacionadas