跳到主要内容

数学分析前四章专题练习(实数、数列、函数极限、连续)

本页对标《数学分析》前四章,按“基础-提高-挑战”配置多题训练。每题均支持点击展开过程与答案。


练习 1:[基础] 上下确界

A={11n:nN+}A=\{1-\frac1n:n\in\mathbb{N}_+\},求 supA,infA\sup A,\inf A

点击查看解析与答案

11n<11-\frac1n<1 且可任意逼近 1,得 supA=1\sup A=1;当 n=1n=1 时取到 0,故 infA=0\inf A=0


练习 2:[基础] 阿基米德性质应用

证明:对任意 x>0x>0,存在 nNn\in\mathbb{N} 使 1n<x\frac1n<x

点击查看解析与答案

由阿基米德性质,存在 n>1/xn>1/x,两边取倒数得 1/n<x1/n<x


练习 3:[基础] 数列极限定义法

证明 limn2n3n+4=2\lim_{n\to\infty}\frac{2n-3}{n+4}=2

点击查看解析与答案

2n3n+42=11n+4<11n.\left|\frac{2n-3}{n+4}-2\right|=\frac{11}{n+4}<\frac{11}{n}.

给定 ϵ>0\epsilon>0,取 N>11/ϵN>11/\epsilon,则当 n>Nn>N 时误差小于 ϵ\epsilon


练习 4:[基础] 函数极限

limx01+2x1x.\lim_{x\to0}\frac{\sqrt{1+2x}-1}{x}.

点击查看解析与答案

有理化:

1+2x1x=21+2x+11.\frac{\sqrt{1+2x}-1}{x}=\frac{2}{\sqrt{1+2x}+1}\to1.


练习 5:[提高] Stolz 定理

limn1+3++(2n1)n2.\lim_{n\to\infty}\frac{1+3+\cdots+(2n-1)}{n^2}.

点击查看解析与答案

Xn=k=1n(2k1),Yn=n2X_n=\sum_{k=1}^n(2k-1),Y_n=n^2,则

limXnYn=lim2n1n2(n1)2=lim2n12n1=1.\lim\frac{X_n}{Y_n}=\lim\frac{2n-1}{n^2-(n-1)^2}=\lim\frac{2n-1}{2n-1}=1.


练习 6:[提高] 连续性判定

讨论函数

f(x)={sinxx,x0,1,x=0f(x)=\begin{cases} \frac{\sin x}{x},&x\ne0,\\ 1,&x=0 \end{cases}

x=0x=0 处是否连续。

点击查看解析与答案

limx0sinxx=1=f(0)\lim_{x\to0}\frac{\sin x}{x}=1=f(0),故在 0 处连续。


练习 7:[提高] 复合函数定义域

求函数

g(x)=ln(1x1)g(x)=\ln\big(1-\sqrt{x-1}\big)

的定义域。

点击查看解析与答案

需满足 x10x-1\ge01x1>01-\sqrt{x-1}>0。 后者等价于 x1<1x<2\sqrt{x-1}<1\Rightarrow x<2。 故定义域 [1,2)[1,2)


练习 8:[挑战] 夹逼与路径思想

证明:

limx0xsin1x=0.\lim_{x\to0}x\sin\frac1x=0.

点击查看解析与答案

sin(1/x)1|\sin(1/x)|\le1,得

xxsin1xx.-|x|\le x\sin\frac1x\le |x|.

两端在 x0x\to0 时趋于 0,故中间极限为 0。


练习 9:[挑战] 一致连续性辨析

判断 f(x)=x2f(x)=x^2(0,+)(0,+\infty) 上是否一致连续,并说明理由。

点击查看解析与答案

xn=n,yn=n+1nx_n=n,y_n=n+\frac1n,则

xnyn=1n0,|x_n-y_n|=\frac1n\to0,

f(xn)f(yn)=n2(n+1n)2=21n220.|f(x_n)-f(y_n)|=\left|n^2-\left(n+\frac1n\right)^2\right|=\left| -2-\frac1{n^2}\right|\to2\ne0.

故不一致连续。


练习 10:[挑战] 零点存在性

证明方程 x5+x1=0x^5+x-1=0(0,1)(0,1) 内至少有一根。

点击查看解析与答案

h(x)=x5+x1h(x)=x^5+x-1,多项式在 [0,1][0,1] 上连续。

h(0)=1<0, h(1)=1>0h(0)=-1<0,\ h(1)=1>0,由介值定理存在 ξ(0,1)\xi\in(0,1) 使 h(ξ)=0h(\xi)=0



练习 11:[挑战] 戴德金分割的判定

A={qQq0 或 q2<2},B={qQq>0 且 q2>2}A = \{q \in \mathbb{Q} \mid q \le 0 \text{ 或 } q^2 < 2\}, B = \{q \in \mathbb{Q} \mid q > 0 \text{ 且 } q^2 > 2\}。证明 (A,B)(A, B)Q\mathbb{Q} 的一个分割,但其间没有有理数。

点击查看解析与答案

解析

  1. 非空性0A,2B0 \in A, 2 \in B,均非空。
  2. 并集与不相交:显然 AB=QA \cup B = \mathbb{Q}AB=A \cap B = \emptyset(因为不存在有理数 qq 使 q2=2q^2 = 2)。
  3. 有序性:若 aA,bBa \in A, b \in B,则 a<ba < b 显然。
  4. 无边界有理数:若存在 ξQ\xi \in \mathbb{Q} 是边界,则 ξ2=2\xi^2 = 2,这与 2\sqrt{2} 是无理数矛盾。 结论:这证明了有理数集 Q\mathbb{Q} 不具有连续性(完备性)。

练习 12:[提高] 聚点定理的应用

证明:任何有界序列 {an}\{a_n\} 必存在收敛子列。

点击查看解析与答案

解析: 这是 Bolzano-Weierstrass 定理。

  1. 数列有界,故其值域 S={an}S = \{a_n\} 有界。
  2. SS 为有限集,则必有某个值重复出现无穷多次,取其对应的子序列即收敛。
  3. SS 为无限集,由聚点定理,SS 至少有一个聚点 ξ\xi
  4. ξ\xi 的邻域 (ξ1/k,ξ+1/k)(\xi-1/k, \xi+1/k) 内取项 anka_{n_k},可构造出收敛于 ξ\xi 的子列。

练习 13:[挑战] 有限覆盖定理的应用

证明:闭区间上的连续函数必一致连续。

点击查看解析与答案

解析

  1. ff[a,b][a, b] 上连续。对任意 ϵ>0\epsilon > 0x[a,b]x \in [a, b],存在 δx\delta_x 使得当 yx<δx|y-x| < \delta_xf(y)f(x)<ϵ/2|f(y)-f(x)| < \epsilon/2
  2. 考虑开覆盖 H={(xδx/2,x+δx/2)x[a,b]}H = \{ (x-\delta_x/2, x+\delta_x/2) \mid x \in [a, b] \}
  3. 由有限覆盖定理,存在有限个点 x1,,xkx_1, \dots, x_k 使得 [a,b]i=1k(xiδi/2,xi+δi/2)[a, b] \subset \bigcup_{i=1}^k (x_i-\delta_i/2, x_i+\delta_i/2)
  4. δ=min{δi/2}\delta = \min\{\delta_i/2\}。若 xy<δ|x-y| < \delta,则 xx 属于某个 (xiδi/2,xi+δi/2)(x_i-\delta_i/2, x_i+\delta_i/2)
  5. 通过三角不等式 f(x)f(y)f(x)f(xi)+f(xi)f(y)<ϵ/2+ϵ/2=ϵ|f(x)-f(y)| \le |f(x)-f(x_i)| + |f(x_i)-f(y)| < \epsilon/2 + \epsilon/2 = \epsilon结论:一致连续。


数值模拟与验证练习

练习 14:[数值] 验证 Wallis 乘积公式

已知 Wallis 公式: limnk=1n4k24k21=π2\lim_{n \to \infty} \prod_{k=1}^n \frac{4k^2}{4k^2-1} = \frac{\pi}{2} 编写 C++ 程序验证该公式的收敛过程并计算相对误差。

点击查看 C++ 参考实现与解析

解析:该公式提供了一种通过有理数序列逼近 π\pi 的方法。在程序中,我们通过迭代计算前 nn 项的乘积。

#include <iostream>
#include <iomanip>
#include <cmath>

int main() {
const double PI_HALF = M_PI / 2.0;
double product = 1.0;

std::cout << std::fixed << std::setprecision(10);
std::cout << "Target PI/2: " << PI_HALF << "\n\n";
std::cout << "n\t\tApproximation\t\tError" << std::endl;

for (int n = 1; n <= 1000000; ++n) {
double term = (4.0 * n * n) / (4.0 * n * n - 1.0);
product *= term;

if (n == 10 || n == 100 || n == 1000 || n == 10000 || n == 100000 || n == 1000000) {
std::cout << n << "\t\t" << product << "\t\t" << std::abs(product - PI_HALF) << std::endl;
}
}
return 0;
}

延伸入口