当前位置: 首页 > news >正文

用Python来学微积分29-原函数与不定积分完全指南

开启数学新视角,掌握微积分逆运算的奥秘

大家好!今天我们来一起探索微积分中极具魅力的概念——原函数与不定积分。这是微积分中与求导相对应的"逆运算",就像加法和减法的关系一样。掌握了它,你就能解决很多实际应用问题!

一、原函数:微积分的"反其道而行之"

1.1 什么是原函数?

让我们从一个简单的例子开始:我们知道函数 f(x)=2xf(x) = 2xf(x)=2x 的导数是 f′(x)=2f'(x) = 2f(x)=2。那么反过来,谁的导数是 2x2x2x

通过逆向思维,我们发现 x2x^2x2 的导数正好是 2x2x2x,那么 x2x^2x2 就是 2x2x2x 的一个原函数

正式定义:如果在区间 III 上,可导函数 F(x)F(x)F(x) 的导数为 f(x)f(x)f(x),即 F′(x)=f(x)F'(x) = f(x)F(x)=f(x),那么 F(x)F(x)F(x) 就称为 f(x)f(x)f(x) 在区间 III 上的一个原函数。

1.2 原函数的不唯一性

有趣的是,一个函数的原函数并不唯一!比如:

  • (x2)′=2x(x^2)' = 2x(x2)=2xx2x^2x22x2x2x 的原函数
  • (x2+1)′=2x(x^2 + 1)' = 2x(x2+1)=2xx2+1x^2 + 1x2+1 也是 2x2x2x 的原函数
  • (x2−5)′=2x(x^2 - 5)' = 2x(x25)=2xx2−5x^2 - 5x25 还是 2x2x2x 的原函数

实际上,同一函数的原函数之间只相差一个常数。如果 F(x)F(x)F(x)f(x)f(x)f(x) 的一个原函数,那么 f(x)f(x)f(x) 的全体原函数可以表示为 F(x)+CF(x) + CF(x)+C(其中 CCC 为任意常数)。

1.3 验证原函数的性质

手动求解步骤

  1. 写出原函数:F(x)=x2+CF(x) = x^2 + CF(x)=x2+C
  2. F(x)F(x)F(x) 求导:F′(x)=2xF'(x) = 2xF(x)=2x
  3. 验证结果:无论 CCC 取什么值,导数都是 2x2x2x

Python 代码实现

import sympy as sp# 定义符号变量
x = sp.Symbol('x')# 定义函数F(x) = x^2 + C
C = 3  # 可以尝试改变C的值:1, -5, 100...
F = x**2 + C# 计算导数
derivative = sp.diff(F, x)
print(f"F(x) = {F} 的导数是:{derivative}")

代码运行结果和手动计算结果一致,如下:

F(x) = x**2 + 3 的导数是:2*x

二、不定积分:原函数的"全家福"

2.1 不定积分的定义

既然一个函数有无数个原函数,我们需要一种方式来表示所有原函数的集合,这就是不定积分

函数 f(x)f(x)f(x) 在区间 III 上的全体原函数称为 f(x)f(x)f(x) 的不定积分,记作: ∫f(x)dx=F(x)+C\int f(x)dx = F(x) + Cf(x)dx=F(x)+C 其中:

  • ∫\int 是积分号
  • f(x)f(x)f(x) 是被积函数
  • xxx 是积分变量
  • CCC 是积分常数

2.2 不定积分的几何意义

不定积分在几何上表示一簇称为积分曲线的曲线族。这些曲线在横坐标相同的点处的切线互相平行,因为它们在对应点的斜率相同(导数相同)。

2.3 计算不定积分示例

手动求解步骤

  1. 识别被积函数:f(x)=2xf(x) = 2xf(x)=2x
  2. 回想导数公式:(x2)′=2x(x^2)' = 2x(x2)=2x
  3. 写出原函数:F(x)=x2F(x) = x^2F(x)=x2
  4. 添加积分常数:∫2xdx=x2+C\int 2x dx = x^2 + C2xdx=x2+C

Python 代码实现

import sympy as sp# 定义符号变量
x = sp.Symbol('x')# 定义被积函数
f = 2*x# 计算不定积分
integral_result = sp.integrate(f, x)
print(f"函数 {f} 的不定积分是:{integral_result} + C")

代码运行结果:

函数 2*x 的不定积分是:x**2 + C

三、不定积分的基本公式:微积分的"九九乘法表"

就像学习乘法需要背九九乘法表一样,掌握不定积分需要熟记基本积分公式。这些公式实际上是基本导数公式的逆运算:

3.1 基本积分公式表

积分类型公式说明
幂函数∫xndx=xn+1n+1+C\int x^n dx = \frac{x^{n+1}}{n+1} + Cxndx=n+1xn+1+C (n≠−1)(n \neq -1)(n=1)最常用的积分公式
指数函数∫exdx=ex+C\int e^x dx = e^x + Cexdx=ex+C指数函数积分不变
∫axdx=axln⁡a+C\int a^x dx = \frac{a^x}{\ln a} + Caxdx=lnaax+C一般指数函数积分
三角函数∫sin⁡xdx=−cos⁡x+C\int \sin x dx = -\cos x + Csinxdx=cosx+C注意负号!
∫cos⁡xdx=sin⁡x+C\int \cos x dx = \sin x + Ccosxdx=sinx+C
倒数$\int \frac{1}{x} dx = \lnx

3.2 验证基本积分公式

手动求解示例:求 ∫x3dx\int x^3 dxx3dx

  1. 识别 n=3n = 3n=3
  2. 应用幂函数公式:∫x3dx=x3+13+1+C\int x^3 dx = \frac{x^{3+1}}{3+1} + Cx3dx=3+1x3+1+C
  3. 计算结果:x44+C\frac{x^4}{4} + C4x4+C

Python 代码实现

import sympy as sp# 定义符号变量
x = sp.Symbol('x')# 计算多个不定积分
functions = [x**3, sp.sin(x), sp.exp(x), 1/x]print("基本积分公式验证:")
for f in functions:integral = sp.integrate(f, x)print(f"∫({f}) dx = {integral} + C")

代码运行结果:

基本积分公式验证:
∫(x**3) dx = x**4/4 + C
∫(sin(x)) dx = -cos(x) + C
∫(exp(x)) dx = exp(x) + C
∫(1/x) dx = log(x) + C

四、不定积分的性质:简化计算的利器

不定积分有几个非常重要的性质,可以大大简化计算过程。

4.1 线性性质(最重要的性质)

∫[k1f(x)+k2g(x)]dx=k1∫f(x)dx+k2∫g(x)dx\int [k_1f(x) + k_2g(x)]dx = k_1\int f(x)dx + k_2\int g(x)dx[k1f(x)+k2g(x)]dx=k1f(x)dx+k2g(x)dx

其中 k1k_1k1k2k_2k2 为常数。

4.2 微分与积分的互逆关系

  1. ddx[∫f(x)dx]=f(x)\frac{d}{dx}\left[\int f(x)dx\right] = f(x)dxd[f(x)dx]=f(x)(先积后导,还原函数)
  2. ∫F′(x)dx=F(x)+C\int F'(x)dx = F(x) + CF(x)dx=F(x)+C(先导后积,还原函数加常数)

4.3 验证线性性质

手动求解步骤:求 ∫(3x2+2sin⁡x−5ex)dx\int (3x^2 + 2\sin x - 5e^x) dx(3x2+2sinx5ex)dx

  1. 应用线性性质:3∫x2dx+2∫sin⁡xdx−5∫exdx3\int x^2 dx + 2\int \sin x dx - 5\int e^x dx3x2dx+2sinxdx5exdx
  2. 应用基本公式:
    • ∫x2dx=x33+C1\int x^2 dx = \frac{x^3}{3} + C_1x2dx=3x3+C1
    • ∫sin⁡xdx=−cos⁡x+C2\int \sin x dx = -\cos x + C_2sinxdx=cosx+C2
    • ∫exdx=ex+C3\int e^x dx = e^x + C_3exdx=ex+C3
  3. 组合结果:x3−2cos⁡x−5ex+Cx^3 - 2\cos x - 5e^x + Cx32cosx5ex+C

Python 代码实现

import sympy as sp# 定义符号变量
x = sp.Symbol('x')# 定义复杂函数
f = 3*x**2 + 2*sp.sin(x) - 5*sp.exp(x)print("验证线性性质:")
print(f"原函数:{f}")# 方法一:直接积分
direct_integral = sp.integrate(f, x)
print(f"直接积分结果:{direct_integral}")# 方法二:分别积分再组合
part1 = 3 * sp.integrate(x**2, x)
part2 = 2 * sp.integrate(sp.sin(x), x)
part3 = -5 * sp.integrate(sp.exp(x), x)
combined_integral = part1 + part2 + part3
print(f"分别积分组合结果:{combined_integral}")# 验证两种方法结果是否相同
print(f"结果相同:{sp.simplify(direct_integral - combined_integral) == 0}")

代码运行结果:

验证线性性质:
原函数:3*x**2 - 5*exp(x) + 2*sin(x)
直接积分结果:x**3 - 5*exp(x) - 2*cos(x)
分别积分组合结果:x**3 - 5*exp(x) - 2*cos(x)
结果相同:True

五、实战演练:综合应用

让我们通过一个复杂例子来综合运用所学知识:

求不定积分∫(2x3−3cos⁡x+4x)dx\int (2x^3 - 3\cos x + \frac{4}{x}) dx(2x33cosx+x4)dx

手动求解详细步骤

  1. 拆分积分∫(2x3−3cos⁡x+4x)dx=2∫x3dx−3∫cos⁡xdx+4∫1xdx\int (2x^3 - 3\cos x + \frac{4}{x}) dx = 2\int x^3 dx - 3\int \cos x dx + 4\int \frac{1}{x} dx(2x33cosx+x4)dx=2x3dx3cosxdx+4x1dx

  2. 应用基本积分公式

    • ∫x3dx=x44+C1\int x^3 dx = \frac{x^4}{4} + C_1x3dx=4x4+C1
    • ∫cos⁡xdx=sin⁡x+C2\int \cos x dx = \sin x + C_2cosxdx=sinx+C2
    • ∫1xdx=ln⁡∣x∣+C3\int \frac{1}{x} dx = \ln |x| + C_3x1dx=lnx+C3
  3. 代入并简化2×x44−3×sin⁡x+4×ln⁡∣x∣+C=12x4−3sin⁡x+4ln⁡∣x∣+C2 \times \frac{x^4}{4} - 3 \times \sin x + 4 \times \ln |x| + C = \frac{1}{2}x^4 - 3\sin x + 4\ln |x| + C2×4x43×sinx+4×lnx+C=21x43sinx+4lnx+C

  4. 验证结果: 对结果求导:ddx(12x4−3sin⁡x+4ln⁡∣x∣)=2x3−3cos⁡x+4x\frac{d}{dx} \left( \frac{1}{2}x^4 - 3\sin x + 4\ln |x| \right) = 2x^3 - 3\cos x + \frac{4}{x}dxd(21x43sinx+4lnx)=2x33cosx+x4

Python 代码实现

import sympy as sp# 定义符号变量
x = sp.Symbol('x')# 定义被积函数
f = 2*x**3 - 3*sp.cos(x) + 4/x# 计算不定积分
result = sp.integrate(f, x)
print(f"不定积分结果:{result} + C")# 验证结果:对积分结果求导
derivative_check = sp.diff(result, x)
print(f"验证导数:{derivative_check}")
print(f"验证通过:{sp.simplify(derivative_check - f) == 0}")

代码运行结果:

不定积分结果:x**4/2 + 4*log(x) - 3*sin(x) + C
验证导数:2*x**3 - 3*cos(x) + 4/x
验证通过:True

六、总结与思考

今天我们学习了:

  • 原函数:导数的逆运算
  • 不定积分:所有原函数的集合
  • 基本积分公式:必须熟记的"积分表"
  • 线性性质:简化复杂积分计算的利器

不定积分是微积分中的重要基础,它为后续学习定积分、微分方程等内容奠定了坚实的基础。

互动环节

  1. 你最喜欢哪个积分公式?为什么?
  2. 尝试手动计算 ∫(3x4+2/x−5sin⁡x)dx\int (3x^4 + 2/x - 5\sin x) dx(3x4+2/x5sinx)dx,并在评论区分享你的步骤和结果!
  3. 如果遇到困难,记得使用Python验证你的结果哦!

往期精彩回顾

  • 用Python来学微积分27-曲线的渐近线
  • 用Python来学微积分28-泰勒公式

专栏导航目录 《程序员AI之路:从Python起步》完全学习导航

完整代码已开源 ai-learning-path,欢迎Star和Fork!

下期预告:在下一篇文章中,我们将开始学习曲线的渐近线。


参考资料

  1. 扈志明《微积分》教材

互动邀请:如果你对本章内容有独特的理解或在实际应用中遇到过有趣的问题,欢迎在评论区分享交流!

http://www.dtcms.com/a/565011.html

相关文章:

  • JavaSE---文件(File)、IO流(基础)
  • 论坛类网站备案吗红色专题网站首页模板
  • 网页设计师主要是做什么的呢深圳seo
  • C++多线程之 安全日志系统
  • 哪里有做效果图的网站wordpress文章内模板
  • Nof1:探索大语言模型作为量化交易者的极限(翻译)
  • 做网站整理信息的表格免费有效的推广网站
  • 基于ASM1042A系列芯片的CAN协议扩展方案在汽车座椅控制器中的应用探讨
  • 超越金融:深入解析STC的“绿色算力网络”与参与机制
  • 【大模型 Tokenizer 核心技术解析】从 BPE 到 Byte-Level 的完整指南
  • 黄岛网站建设价格怎么做自动下单网站
  • 关于我遇到的豆包的bug:mermaid图无法加载
  • Milvus:通过Docker安装Milvus向量数据库(一)
  • 第三方软件测试机构:【“Bug预防”比“Bug发现”更有价值:如何建立缺陷根因分析与流转机制?】
  • Milvus:Schema详解(四)
  • maven的jakarta项目直接运用jetty插件运行
  • 建设外贸网站哪家好网页制作流程视频
  • Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
  • 如何建立小企业网站wordpress图片上传地址修改
  • 【开题答辩过程】以《基于SpringBoot的中国传统文化推广系统的设计与实现》为例,不会开题答辩的可以进来看看
  • QML笔记
  • Android 在屏幕的右下角添加客户Logo
  • linux服务-frp内网穿透工具
  • 宣城高端网站建设延吉网站开发
  • Springboot+BannerBanner(启动横幅)
  • 护照阅读器:公安安全检查的科技新助力
  • 网站支持ipv6做哪些改造余姚响应式网站建设
  • 建自己的网站多少钱网页设计与网站建设分析
  • Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的对抗训练与鲁棒性提升
  • Go语言设计模式:中介者模式详解