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).

 採用された回答

Star Strider
Star Strider 2020 年 3 月 1 日

0 投票

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 件のコメント

Graciano Ding
Graciano Ding 2020 年 3 月 1 日
Hmmm ok thank you so much
Star Strider
Star Strider 2020 年 3 月 1 日
My pleasure!
If my Answer helped you solve your problem, please Accept it!

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 3 月 1 日

0 投票

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 で Time Series Events についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by