2012-01-01 73 views
8

Khi tôi cố gắng tính toán tích phân sau trong Mathematica 8, tôi nhận được kết quả này lạ:Tại sao Mathematica không thể giải được tích phân xác định này?

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

Mathematica graphics

Maple 14 có thể giải quyết điều này một cách dễ dàng:


Tại sao Mathematica lại cho tôi một kết quả khác?

+1

You are not tích hợp trên cùng một biến trong cả hai ví dụ. Vui lòng đảm bảo đặt câu hỏi trực tiếp và rõ ràng về StackOverflow để nhận câu trả lời hay. Trong trường hợp này, bạn có nghĩa là, "Làm thế nào tôi có thể tính toán tích phân này bằng cách sử dụng Mathematica" ?? – Szabolcs

+0

bạn nói đúng, tôi đã sao chép nhầm biểu thức. Tôi sửa nó rồi. –

+7

Để các closers: Đây là một câu hỏi hoàn hảo về chủ đề về ngôn ngữ lập trình ** ** * Mathematica *. Đây không phải là một câu hỏi toán học/toán học. –

Trả lời

12

Hãy thử điều này

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

mang đến cho

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

Mà là giống như Maple của:

enter image description here

+0

cảm ơn bạn rất nhiều. Tôi có thể thực hiện điều này như một quy tắc chung khi tôi nhận được một điều kiện gây nhầm lẫn với các phần thực và tưởng tượng tôi sử dụng biểu thức Giả sử x = Real? Btw, việc đánh giá trong mathematica mất vài giây trên máy tính của tôi trong khi trong phong nó có ngay lập tức. Ngoài ra, kết quả có thể được đơn giản hơn nữa bằng cách sử dụng FullSimplify, nhưng khi tôi áp dụng Simplify trong biểu thức Giả sử của bạn với FullSimplify tôi nhận được kết quả tương tự như với Simplify. –

+10

@MartinKoller Bạn có thể tra cứu ['ConditionalExpression'] (http://goo.gl/orIqS) trong tài liệu để tìm ra nó là gì. Nó được sử dụng khi kết quả chỉ hợp lệ khi các giả định nhất định là đúng. Nếu 'x == I', thì kết quả mà Maple đưa ra chỉ đơn giản là không chính xác. Trong trường hợp này Mathematica có thể phát hiện điều này và tạo ra các điều kiện theo đó kết quả là hợp lệ. Nếu bạn chỉ quan tâm đến giá trị thực 'x', hãy nói * bên trong * hàm' Tích hợp', 'Tích hợp [y/((1 + x^2 + y^2)^(3/2)), { y, 0, 1}, Giả định -> x \ [Yếu tố] Thực] và sẽ nhanh hơn nhiều. – Szabolcs

Các vấn đề liên quan