Integral gives wrong answer

1 view (last 30 days)
Frank Hansper
Frank Hansper on 5 Jan 2017
Edited: Frank Hansper on 7 Jan 2017
Hey forum
When I solve this integral:
-x * (1/2) * int(log10(x)/x^2) + (1/2)*x^3 * int(log10(x)/x^4)
I get
(3*log(5) + 4)/(9*log(10))
which is the same as the answer from my other program:
(1/3)·log10(x)+0.193
But this is wrong!
The real answer should be:
(4/9) + log10(x)/3
How can this be?
Frank
  1 Comment
Frank Hansper
Frank Hansper on 5 Jan 2017
The reason why I know:
(4/9) + log10(x)/3
Is right, is because im solving a nonhomogeneous linear ODE and when i pop it in, it gives the right answer.
When I try with the other solution, it gives me a wrong answer.

Sign in to comment.

Accepted Answer

David Goodmanson
David Goodmanson on 5 Jan 2017
Edited: David Goodmanson on 5 Jan 2017
Hello Frank, This might be more of an observation than an answer, but one point not in your favor is that since log10(x) = log(x)/log(10), your entire integral is proportional to 1/log(10):
Int = (1/log(10)) * [ -x * (1/2) * int(log(x)/x^2) + (1/2)*x^3 * int(log(x)/x^4) ]
With the annoying log10 behavior out of there, the rest of the integral is
(1/3)log(x) + 4/9
and the entire answer is what your symbolic math programs are saying. However, there are a couple of indefinite integrals here and it's possible that there is an additional constant floating around having to do with the lower limit for x in the integrals (and of course things also depend on whether you are using log or log10 in the ODE).
  3 Comments
Walter Roberson
Walter Roberson on 5 Jan 2017
I did some searching a couple of months ago, and I had difficulty finding a programming language which used ln() or loge() for natural log; all the ones I checked used log() for natural log.
Frank Hansper
Frank Hansper on 7 Jan 2017
Edited: Frank Hansper on 7 Jan 2017
I will remember that. Matlab is my "first" encounter with programming language (pl), so my experience with others is limited. The reason I was confused is that my advisor is fond of solving integrals by hand, so I was puzzled to see log as ln (expecting him not to write in pl).
I have talked to him now and he said: "In my world log = ln", so it was a misunderstanding and my question is now all cleared out.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!