交作业了

· · 个人记录

P4525 【模板】自适应辛普森法 1

计算 \displaystyle\int_L^R\dfrac{cx + d}{ax + b}\mathrm{d}x,保证能积。

一、a \ne 0

考虑分部积分法则,设 u(x) = cx + d, v'(x) = \dfrac{1}{ax + b},则 u'(x) = c, v(x) = \dfrac{\ln(ax + b)}{a}

\int u(x)v'(x)\mathrm{d}x = u(x)v(x) - \int u'(x)v(x)\mathrm{d}x = \dfrac{(cx + d)\ln(ax + b)}{a} - \int \dfrac{c\ln(ax + b)}{a} \mathrm{d}x = \dfrac{(cx + d)\ln(ax + b)}{a} - \dfrac{c}{a ^ 2} \int \ln(ax + b) \mathrm{d}(ax + b)

问题转化为求 \displaystyle\int \ln(x) \mathrm{d}x

再次考虑分部积分法则:

\int \ln(x)\mathrm{dx} = x\ln(x) - \int \dfrac{x}{x} \mathrm{dx} = x \ln(x) - x

于是原式等于:

= \dfrac{(cx + d)\ln(ax + b)}{a} - \dfrac{c}{a ^ 2} [(ax + b)\ln(ax + b) - (ax + b)]

F(x) = \dfrac{(cx + d)\ln(ax + b)}{a} - \dfrac{c}{a ^ 2} [(ax + b)\ln(ax + b) - (ax + b)],所求即为 F(R) - F(L)

但是由于 ax + b 可能是负的,所以 \ln(ax + b) 就爆了。

因为得保证 ax + b 不为 0,所以 \forall x \in [L, R]ax + b 恒正或恒负。

恒正时正常做,恒负时将 a, b, c, d 取反即可。

二、a = 0

直接积即可:

\int \dfrac{cx + d}{b}\mathrm{d}x = \dfrac{cx ^ 2}{2} + dx

F(x) = \dfrac{cx ^ 2}{2} + dx,所求即为 F(R) - F(L)