抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一方の笔记本

The only source of knowledge is experience.

这篇博客用于记录一些比较有趣的积分问题。

\(I=\displaystyle \int_{0}^{+\infty}\sin(x^2)dx\)

题目为著名的 Fersnel 积分,下面分步进行求解。

\[I\xlongequal{x^2=t}\frac{1}{2}\int_{0}^{+\infty}\frac{\sin t}{\sqrt{t}}dt\]

考虑积分\(\displaystyle \int_{0}^{+\infty}e^{-ax^2}dx\),其中\(a>0\)

\[\int_{0}^{\infty}e^{-ax^2}dx = \frac{1}{2} \sqrt{\frac{\pi}{a}} \int_{-\infty}^{+\infty}\frac{1}{\sqrt{2\pi}\cdot\frac{1}{\sqrt{2a}}}e^{-\frac{x^2}{2(\frac{1}{\sqrt{2a}})^2}}dx = \frac{1}{2} \sqrt{\frac{\pi}{a}} \Rightarrow\sqrt{\frac{1}{a}}=\frac{2}{\sqrt{\pi}}\int_{0}^{\infty}e^{-ax^2}dx\]

则有:

\[I\xlongequal{x^2=t}\frac{1}{\sqrt{\pi}}\int_{0}^{+\infty}\sin t (\int_{0}^{+\infty} e^{-tx^2}dx)dt=\frac{1}{\sqrt{\pi}}\int_{0}^{+\infty}dx\int_{0}^{+\infty}e^{-x^2t}\sin t dt=\frac{1}{\sqrt{\pi}}J\]

上式最后一步直接使用了\(\mathcal{L}(\sin at)\)的结果,其中\(J=\displaystyle \int_{0}^{+\infty}\frac{1}{x^4+1}dx\),下面求解\(J\)

\[J \xlongequal{ x = \frac{1}{t} }\int_{0}^{+\infty}\frac{t^2}{1+t^4}dt=\int_{0}^{+\infty}\frac{x^2}{1+x^4}dx\]

\[J = \frac{1}{2}\int_{0}^{+\infty}\frac{1+x^2}{1+x^4}dx =\frac{1}{2} \int_{0}^{+\infty}\frac{d(x-\frac{1}{x})}{(x-\frac{1}{x})^2+2}=[\frac{1}{2\sqrt{2}}\arctan(\frac{x-\frac{1}{x}}{\sqrt{2}})]_{0}^{+\infty}=\frac{\pi}{2\sqrt{2}}\]

最终得到\(\displaystyle\int_{0}^{+\infty} \sin(x^2) dx = \displaystyle \frac{1}{2} \sqrt{\frac{\pi}{2}}\)。此外,\(\displaystyle\int_{0}^{+\infty} \sin(x^2) dx = \displaystyle\int_{0}^{+\infty} \cos(x^2) dx\),这一性质根据\(\mathcal{L}(\sin at)\)\(\mathcal{L}(\cos at)\)的关系显而易见。

\(I = \displaystyle \int_{0}^{\frac{\pi}{2}}\ln \sin xdx\)

显然\(\displaystyle \int_{0}^{\frac{\pi}{2}}\ln \sin xdx =\int_{0}^{\frac{\pi}{2}}\ln \cos xdx\),那么有:

\[I = \frac{1}{2}\int_{0}^{\frac{\pi}{2}}\ln (\sin x \cos x)dx=\frac{1}{2}\int_{0}^{\frac{\pi}{2}}\ln \sin 2x dx - \frac{\pi}{4}\ln 2\]

\[\int_{0}^{\frac{\pi}{2}}\ln \sin 2x dx \xlongequal{2x = u} \frac{1}{2}\int_{0}^{\pi}\ln \sin udu = \frac{1}{2}(\int_{0}^{\frac{\pi}{2}}\ln \sin xdx + \int_{\frac{\pi}{2}}^{\pi}\ln \sin xdx)\]

\[\int_{\frac{\pi}{2}}^{\pi}\ln \sin xdx \xlongequal{u=\pi-x}\int_{0}^{\frac{\pi}{2}}\ln \sin udu\]

最终得到\(I = \displaystyle-\frac{\pi}{2}\ln 2\)

\(I = \displaystyle\int_{0}^{\frac{\pi}{2}}\sin x \ln \sin x dx\)

首先求解被积函数的原函数:

\[\int\sin x \ln \sin x dx=\int\ln \sin xd(-\cos x)=-\cos x\ln \sin x + \int \frac{1-\sin^2x}{\sin x} \]

\[= (1-\cos x)\ln \sin x - \ln(1+\cos x)+\cos x+C\]

再代入积分限有:

\[I = \ln 2-1-[\lim_\limits{x\to 0}(1-\cos x)\ln \sin x]=\ln2 - 1\]

在此可以复习一下自适应 Simpson 积分的 C++ 实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

const double eps = 1e-9;

double f(double x) {
return sin(x) * log(sin(x));
}

double simpson(double l, double r) {
double mid = (l + r) / 2;
return (r - l) * (f(l) + f(r) + 4 * f(mid)) / 6;
}

double asr(double l, double r, double area) {
double mid = (l + r) / 2;
double area_l = simpson(l, mid), area_r = simpson(mid, r);
return fabs(area - area_l - area_r) < eps? (area_l + area_r):
asr(l, mid, area_l) + asr(mid, r, area_r);
}

int main() {
// l should approach 0 close enough but not equal 0
double l = 1e-9, r = acos(-1) / 2;
cout << fixed << setprecision(4) << asr(l, r, simpson(l, r)) << endl;
return 0;
}

\(I = \displaystyle \int_{0}^{1}\frac{\ln x}{1-x^2}dx\)

\[I = \displaystyle \int_{0}^{1}\sum_{n=0}^{\infty}x^{2n}\ln xdx=\sum_{n=0}^{\infty}\int_{0}^{1}x^{2n}\ln xdx \xlongequal{\ln x = t}-\sum_{n=0}^{\infty}\int_{0}^{+\infty}te^{-(2n+1)t}dt=-\sum_{n=0}^{\infty}\frac{1}{(2n+1)^2}\]

由 Basel 级数易得\(\displaystyle\sum_{n=0}^{\infty}\frac{1}{(2n+1)^2}=\frac{3}{4}\cdot\frac{\pi^2}{6}=\frac{\pi^2}{8}\),那么\(I=\displaystyle -\frac{\pi^2}{8}\)

评论