Integral keeps showing wrong answer

I have been doing the integral of f=(8*x-4)/(4*x^2-4*x+5) with matlab, however, it keeps giving the wrong answer, could you help me spot whether I did something wrong with my codes? Or is it a problem of matlab?
PS: the correct answer should be log(4*x^2−4*x+5)+c, but matlab keeps showing log(x^2 - x + 5/4) (yeah I know that matlab doesn't show "+c", but still, the answer is wrong).

 采纳的回答

It appears to be correct, simply simplified:
syms x
f = (8*x-4)/(4*x^2-4*x+5);
fint = int(f)
dfint = diff(fint)
figure
fplot(f, [-10 10])
hold on
fplot(dfint, [-10 10], '--')
hold off
The two plots are the same.

2 个评论

Hmmm ok thank you so much
My pleasure!
If my Answer helped you solve your problem, please Accept it!

请先登录,再进行评论。

更多回答(1 个)

Log of something multiplied by 4 is equal to log 4 plus log of the something. log 4 is an additive constant and indefinite integrals can have arbitrary additive constants. Therefore both versions are correct.
MATLAB considers division (your proposed 5/4) to be more expensive than multiplication so it prefers the version without the division.

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by