跳转至

高等数学(七)练习题目

章节概述

本章提供了从基础到应用的练习题目,帮助你巩固高等数学知识。建议按顺序完成,每道题都经过精心设计,涵盖了前面章节的所有知识点。

学习目标

  • 巩固高等数学基础知识
  • 提高解题能力
  • 掌握数值计算方法
  • 培养数学思维

(一)基础练习

练习1:计算数列极限

计算 lim(n→∞) (n+1)/(n-1)

def seq_exercise(n):
    """数列 aₙ = (n+1)/(n-1)"""
    return (n + 1) / (n - 1)

from chapter1 import sequence_limit

limit = sequence_limit(seq_exercise)
print(f"lim(n→∞) (n+1)/(n-1) ≈ {limit:.6f}")
print(f"理论值: 1.0")

练习2:计算函数极限

计算 lim(x→0) (eˣ - 1)/x

def f_limit(x):
    """函数 f(x) = (eˣ - 1)/x"""
    return (math.exp(x) - 1) / x if x != 0 else 1

from chapter1 import function_limit

limit = function_limit(f_limit, 0)
print(f"lim(x→0) (eˣ - 1)/x ≈ {limit:.6f}")
print(f"理论值: 1.0")

练习3:求导数

求 f(x) = x³ + 2x² - x + 1 的导数

def f_derivative(x):
    """函数 f(x) = x³ + 2x² - x + 1"""
    return x**3 + 2*x**2 - x + 1

from chapter2 import numerical_derivative

for x in [0, 1, 2]:
    derivative = numerical_derivative(f_derivative, x)
    print(f"f'({x}) = {derivative:.6f}")
    print(f"理论值: {3*x**2 + 4*x - 1:.6f}")

练习4:计算定积分

计算 ∫₀^π sin²x dx

def integrand(x):
    """被积函数 f(x) = sin²x"""
    return math.sin(x)**2

from chapter3 import numerical_integral

integral = numerical_integral(integrand, 0, math.pi)
print(f"∫₀^π sin²x dx ≈ {integral:.6f}")
print(f"理论值: π/2 ≈ {math.pi/2:.6f}")

练习5:求偏导数

求 f(x, y) = x²y + xy² 的偏导数

def f_partial(x, y):
    """函数 f(x, y) = x²y + xy²"""
    return x**2 * y + x * y**2

from chapter5 import partial_x, partial_y

x, y = 2, 3
fx = partial_x(f_partial, x, y)
fy = partial_y(f_partial, x, y)

print(f"∂f/∂x 在 (2, 3) 处: {fx:.4f}")
print(f"理论值: {2*x*y + y**2:.4f}")

print(f"∂f/∂y 在 (2, 3) 处: {fy:.4f}")
print(f"理论值: {x**2 + 2*x*y:.4f}")

(二)进阶练习

练习6:计算级数和

计算 Σ(n=1 to ∞) 1/n! = e - 1

def factorial_term(n):
    """1/n!"""
    return 1 / math.factorial(n + 1)

from chapter4 import series_sum

sum_series = series_sum(factorial_term, 20)
print(f"Σ(n=1 to ∞) 1/n! ≈ {sum_series:.10f}")
print(f"理论值: e - 1 ≈ {math.e - 1:.10f}")

练习7:用泰勒级数近似计算

用泰勒级数计算 cos(π/6)

def taylor_cos(x, terms=10):
    """用泰勒级数计算 cos x"""
    result = 0
    for n in range(terms):
        sign = (-1)**n
        term = sign * x**(2*n) / math.factorial(2*n)
        result += term
    return result

x = math.pi/6
for terms in [4, 6, 8, 10]:
    approx = taylor_cos(x, terms)
    error = abs(approx - math.cos(x))
    print(f"{terms} 项: cos({x:.4f}) ≈ {approx:.10f}, 误差: {error:.10f}")

练习8:计算二重积分

计算 ∬ᴰ e^(x+y) dxdy,其中 D = [0, 1] × [0, 1]

def integrand_ex(x, y):
    """被积函数 f(x, y) = e^(x+y)"""
    return math.exp(x + y)

from chapter5 import double_integral

result = double_integral(integrand_ex, [0, 1], [0, 1])
print(f"∬ᴰ e^(x+y) dxdy ≈ {result:.6f}")
print(f"理论值: (e - 1)² ≈ {(math.e - 1)**2:.6f}")

练习9:求解微分方程

求解 dy/dx = 2x, y(0) = 1

import sympy as sp

x = sp.symbols('x')
y = sp.Function('y')

ode = sp.Eq(sp.diff(y(x), x), 2*x)
solution = sp.dsolve(ode, ics={y(0): 1})
print(f"解析解: {solution}")

练习10:求解二阶微分方程

求解 y'' - y = 0, y(0) = 1, y'(0) = 0

ode = sp.Eq(sp.diff(y(x), x, 2) - y(x), 0)
solution = sp.dsolve(ode, ics={y(0): 1, sp.diff(y(x), x).subs(x, 0): 0})
print(f"解析解: {solution}")

(三)应用练习

练习11:优化问题

求函数 f(x) = x³ - 3x² + 2 的极值

def f_opt(x):
    """函数 f(x) = x³ - 3x² + 2"""
    return x**3 - 3*x**2 + 2

from chapter2 import find_extrema

extrema = find_extrema(f_opt, [-1, 3])
print(f"极值点: {extrema}")

for x in extrema:
    y = f_opt(x)
    print(f"极值点 x={x:.4f}, f(x)={y:.4f}")

练习12:计算面积

求抛物线 y = x² 和直线 y = x 之间的面积

def f_area1(x):
    """函数 f(x) = x²"""
    return x**2

def f_area2(x):
    """函数 f(x) = x"""
    return x

# 找到交点
import sympy as sp
x = sp.symbols('x')
solutions = sp.solve(x**2 - x, x)
print(f"交点: x = {solutions}")

# 计算面积
from chapter3 import numerical_integral

area = numerical_integral(lambda x: abs(f_area2(x) - f_area1(x)), 0, 1)
print(f"面积 ≈ {area:.6f}")
print(f"理论值: 1/6 ≈ {1/6:.6f}")

练习13:计算旋转体体积

求 y = sin x 绕 x 轴旋转一周在 [0, π] 上的体积

def f_volume(x):
    """函数 f(x) = sin x"""
    return math.sin(x)

volume = math.pi * numerical_integral(lambda x: f_volume(x)**2, 0, math.pi)
print(f"旋转体体积 ≈ {volume:.6f}")
print(f"理论值: π²/2 ≈ {math.pi**2/2:.6f}")

练习14:求解微分方程的应用

一个物体的冷却速度与物体和环境的温差成正比。设环境温度为 20°C,物体初始温度为 100°C,1 小时后温度为 60°C。求 2 小时后物体的温度。

# 建立微分方程: dT/dt = -k(T - 20)
# T(0) = 100, T(1) = 60

t = sp.symbols('t')
T = sp.Function('T')

ode = sp.Eq(sp.diff(T(t), t), -sp.symbols('k')*(T(t) - 20))
solution = sp.dsolve(ode, ics={T(0): 100})

print(f"通解: {solution}")

# 利用 T(1) = 60 求 k
# 代入求解
k = sp.symbols('k')
eq = sp.Eq(20 + 80*sp.exp(-k*1), 60)
k_value = sp.solve(eq, k)[0]
print(f"k = {k_value:.6f}")

# 求 T(2)
T_2 = 20 + 80*sp.exp(-k_value*2)
print(f"2 小时后温度: {float(T_2):.2f}°C")

练习15:级数求和的应用

计算 e 的值,精确到小数点后 10 位

def calculate_e(terms=20):
    """使用泰勒级数计算 e"""
    result = 0
    for n in range(terms):
        result += 1 / math.factorial(n)
    return result

for terms in [10, 15, 20]:
    e_approx = calculate_e(terms)
    error = abs(e_approx - math.e)
    print(f"{terms} 项: e ≈ {e_approx:.12f}, 误差: {error:.12f}")

(四)综合项目

项目1:函数分析工具箱

创建一个函数分析工具箱,包含: - 极限计算 - 导数计算 - 积分计算 - 极值点寻找 - 函数图像绘制

class FunctionAnalyzer:
    """
    函数分析工具箱
    """

    def __init__(self, func):
        """
        初始化

        参数:
            func: 要分析的函数
        """
        self.func = func

    def limit_at(self, x0, approach='both'):
        """计算极限"""
        return function_limit(self.func, x0, approach)

    def derivative_at(self, x):
        """计算导数"""
        return numerical_derivative(self.func, x)

    def integral(self, a, b):
        """计算定积分"""
        return numerical_integral(self.func, a, b)

    def find_extrema(self, x_range):
        """寻找极值点"""
        from chapter2 import find_extrema
        return find_extrema(self.func, x_range)

    def analyze(self, x_range):
        """综合分析"""
        print("=== 函数分析报告 ===")

        # 寻找极值点
        extrema = self.find_extrema(x_range)
        print(f"\n极值点: {extrema}")

        for x in extrema:
            y = self.func(x)
            derivative = self.derivative_at(x)
            print(f"  x = {x:.4f}, f(x) = {y:.4f}, f'(x) = {derivative:.6f}")

        # 计算积分
        a, b = x_range
        integral_value = self.integral(a, b)
        print(f"\n定积分 ∫ₐᵇ f(x) dx ≈ {integral_value:.6f}")

# 示例使用
def example_func(x):
    """示例函数 f(x) = x³ - 3x² + 2"""
    return x**3 - 3*x**2 + 2

analyzer = FunctionAnalyzer(example_func)
analyzer.analyze([-2, 4])

项目2:微分方程求解器

创建一个微分方程求解器,能够求解: - 可分离变量方程 - 一阶线性微分方程 - 二阶常系数线性微分方程

class DifferentialEquationSolver:
    """
    微分方程求解器
    """

    @staticmethod
    def solve_separable(f):
        """
        求解可分离变量方程 dy/dx = f(x, y)
        """
        x = sp.symbols('x')
        y = sp.Function('y')
        ode = sp.Eq(sp.diff(y(x), x), f(x, y(x)))
        return sp.dsolve(ode)

    @staticmethod
    def solve_linear(P, Q):
        """
        求解一阶线性微分方程 dy/dx + P(x)y = Q(x)
        """
        x = sp.symbols('x')
        y = sp.Function('y')
        ode = sp.Eq(sp.diff(y(x), x) + P(x)*y(x), Q(x))
        return sp.dsolve(ode)

    @staticmethod
    def solve_second_order(a, b, c, f=None):
        """
        求解二阶常系数线性微分方程 ay'' + by' + cy = f(x)
        """
        x = sp.symbols('x')
        y = sp.Function('y')

        if f is None:
            # 齐次方程
            ode = sp.Eq(a*sp.diff(y(x), x, 2) + b*sp.diff(y(x), x) + c*y(x), 0)
        else:
            # 非齐次方程
            ode = sp.Eq(a*sp.diff(y(x), x, 2) + b*sp.diff(y(x), x) + c*y(x), f(x))

        return sp.dsolve(ode)

# 示例使用
print("=== 微分方程求解器 ===")

# 1. 可分离变量方程: dy/dx = x/y
solver = DifferentialEquationSolver()
solution1 = solver.solve_separable(lambda x, y: x/y)
print(f"\n可分离变量方程: {solution1}")

# 2. 一阶线性微分方程: dy/dx + y = e^x
P = lambda x: 1
Q = lambda x: sp.exp(x)
solution2 = solver.solve_linear(P, Q)
print(f"\n一阶线性微分方程: {solution2}")

# 3. 二阶常系数微分方程: y'' - 5y' + 6y = 0
solution3 = solver.solve_second_order(1, -5, 6)
print(f"\n二阶常系数微分方程: {solution3}")

章节小结

本章提供了从基础到应用的练习题目:

  1. 基础练习:巩固极限、导数、积分、偏导数等基本概念
  2. 进阶练习:掌握级数、泰勒展开、重积分、微分方程等进阶内容
  3. 应用练习:解决优化、面积、体积、冷却等实际问题
  4. 综合项目:完成函数分析工具箱和微分方程求解器

通过这些练习,你将全面掌握高等数学的知识和技能。


恭喜你完成了高等数学教程!

高等数学是理工科的重要基础,本教程只是入门。继续深入学习吧!

推荐学习资源: - 《高等数学》- 同济大学数学系 - 《微积分学教程》- 菲赫金哥尔茨 - 《数学分析》- 华东师范大学数学系 - 各大MOOC平台的高等数学课程

学习建议: - 多做练习题 - 理解概念的本质 - 掌握解题方法 - 培养数学思维 - 与实际应用结合