用Python学《微积分B》(反常积分)


  Riemann积分有两个局限:一是积分区间[a, b]必须有限;二是被积函数f(x)在积分区间[a, b]上有界。而反常积分(Improper Integral)就是对Riemann积分这两个局限的扩展,前者扩展后被称为“无穷积分”,后者扩展后被称为“瑕积分”。
  本节的内容属于“微积分的扩展”,课程中介绍的本就不太详细,主要讨论反常积分的“敛散性”我就不作扩展了,仅用Python辅助,展示课后练习和单元测试的解答。

#Exercise 7-7-1
from sympy import *
init_printing()
x = Symbol('x')
f = 1 / (1 + E ** x) ** 2
f, integrate(f, (x, 0, +oo))

(1(ex+1)2,12+log(2))

#Exercise 7-7-2
x = Symbol('x')
f = 1 / (x ** 2 + 4 * x + 9)
f, integrate(f, (x, -oo, +oo))

(1x2+4x+9,5π5)

#Exercise 7-7-3
x = Symbol('x')
f = log(x) / (1 + x) ** 2
f, integrate(f, (x, 0, +oo))

(log(x)(x+1)2,0)

#Exercise 7-7-4
x = Symbol('x')
f = 1 / sqrt(abs((1 - x)))
f1 = 1 / sqrt(1 - x)
f2 = 1 / sqrt(x - 1)
f, integrate(f1, (x, 0, 1)),  integrate(f2, (x, 1, 2))

(1|x1|,2,2)

#Exercise 7-7-4
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
#x = np.array(filter(lambda t:t != 1, np.linspace(0, 2))).flatten()
x = np.linspace(0, 2)
t = np.asarray([1]).repeat(x.size)
y = 1 / np.sqrt(np.abs((t - x)))
plt.plot(x,y)
plt.show()


这里写图片描述

Exercise 7-7-5

10x1xdx=?

解:本题直接用sympy计算不出来,观察它的被积函数,其中含有2次根号,很容易相等“三角函数平方和/差公式”,令 x=sin2(t) ,得:
10x1xdx=π20tan(t)d[sin2(t)]=2π20sin2(t)dt

#Exercise 7-7-3
x = Symbol('x')
f = sin(x) ** 2
2 * integrate(f, (x, 0, pi / 2))


π2


Exercise 7-7-6
+0dx(x+1)x2+1=?

解:同样地,用三角函数换元法
+0dx(x+1)x2+1=π20cos2(t)d[tan(t)]sin(t)+cos(t)=π20dtsin(t)+cos(t)=π20dt2sin(t+π4)


#Exercise 7-7-6
x = Symbol('x')
f = 1 / (sqrt(2) * sin(x + pi / 4))
integrate(f, (x, 0, pi / 2))

22log(2(22+1))22log(2(22+1))

Exercise 7-7-1b

+2dxxlnp(x)

若上式收敛,求p的范围
解:运用“比阶判别法的极限形式”
limx+xqf(x)=limx+xq1lnp(x)

要是这个极限存在,则 pq1>11=0

Exercise 7-7-2b

+2dxx+x2+2

解:先看被积函数的性质
f(x)=1x+x2+2=12(x2+2x)

f(x)=12(xx2+21)=xx2+22x2+2<0

limx+f(x)=0

因此,f(x)单调递减,且有下界,必收敛
运用“比阶判别法的极限形式”
limx+xqf(x)=limx+xpx+x2+2

p=1时,这个极限值存在且不等于0,故该无穷积分发散


Exercise 7-7-3b
10ln(x)dx

解:运用瑕积分收敛判断 (xa)p
limx0+xpln(x)

当 p = -1 < 1 时,这个极限存在,故该瑕积分收敛


Exercise 7-7-4b
10ex1xdx

解:运用瑕积分收敛判断 (xa)p
limx0+xpex1x=limx0+xp

当 0 < p < 1 时,这个极限存在,故该瑕积分收敛

#Exercise 7-7-5b
from sympy import *
init_printing()
x = Symbol('x')
for n in range(-1, 3):f = x ** (n) * E ** (-x)F = integrate(f, x)print(limit(F, x, +oo))

0
0
0
0


Unit Test 4-1
解:本题考察被积函数与原函数的关系。可以利用变上限积分将被积函数与原函数联系起来,假设其中一个积分限 a = 0

F(x)=x0f(t)dt=x0f(u)d(u)=x0f(u)du

很明显,f(x)若为奇函数,F(x)将为偶函数。

#Unit Test 4-5
from sympy import *
init_printing()
x = Symbol('x')
f = cos(2 * x) / (1 + 1 / 2 * sin(2 * x))
integrate(f, x)

1.0log(0.5sin(2x)+1.0)



Unit Test 4-6
arctan1x1+x2dx=?

解:三角函数换元,令 x=tan(t),t=arctan(x)
arctan1x1+x2dx=arctan1tan(t)1+tan2(t)d[tan(t)]=arctan1tan(t)dt=(π2t)dt



Unit Test 4-7
dxex(1+e2x)=?

解:先分解部分分式(partial fraction),再换元。其中分式分解也可以用sympy执行,如下代码
f(x)=1ex(1+e2x)=1exex1+e2x


#Unit Test 4-7
from sympy import *
init_printing()
x = Symbol('x')
expr = 1 / (x * (1 + x ** 2))
apart(expr)

xx2+1+1x

t = E ** x
f = 1 / t
g = 1 / (1 + x ** 2)
integrate(f, x), integrate(g, x), integrate(f, x) - integrate(g, x).subs(x, E ** x) 

(ex,atan(x),atan(ex)ex)

#Unit Test 4-8
from sympy import *
init_printing()
x = Symbol('x')
f = 1 / (x ** 2 + 2 * x + 5)
integrate(f, x)



12atan(x2+12)



Unit Test 4-9
xdx(1+x2)1x2=?

解:先凑微分,再三角函数替换。
xdx(1+x2)1x2=dsin2(t)2[1+sin2(t)]1sin2(t)=sin(t)cos(t)dt[1+sin2(t)]cos(t)=dcos(t)2cos2(t)

注意,本题经过了两次换元,求出原函数后要换回去,如下代码

#Unit Test 4-9
from sympy import *
init_printing()
x = Symbol('x')
f = - 1 / ( 2 - x ** 2)
integrate(f, x).subs(x, cos(x)).subs(x, asin(x))

24log(x2+12)24log(x2+1+2)



Unit Test 4-10
x29x2dx=?

解:先有理化,再三角换元
x29x2dx=uu2+9du2+9=3tan(θ)9tan2θ+9d9tan2θ+9=tan(θ)sec2θdsec(θ)=sin2θcos(θ)dθ=1cos(θ)dθcos(θ)dθ


#Unit Test 4-10
from sympy import *
init_printing()
x = Symbol('x')
f = 1 / cos(x) - cos(x)
integrate(f, x).subs(x, atan(1 / 3 * x)).subs(x, sqrt(x ** 2 - 9))

1.0x2x2912log(1.0x2x291)+12log(1.0x2x29+1)


#Unit Test 4-11
from sympy import *
init_printing()
x = Symbol('x')
f = 1 / (1 + x + x ** 2)
integrate(f, x).subs(x, 2 ** x) / log(2)

23atan(2332x+33)3log(2)



Unit Test 4-12
In=dxxnx2+1

求上式的递推公式
解:很显然,要应用“分部积分法”
In2=dxxn2x2+1=dx2+1xn1=x2+1xn1x2+1dx1n=x2+1xn1+(n1)x2+1xndx=x2+1xn1+(n1)x2+1xnx2+1dx=x2+1xn1+(n1)(In+In2)



Unit Test 4-13
dxx(x10+1)=?

解:很显然,这是一个“Partial Fraction” (部分分式)的积分,要先进行分式分解
f(x)=1x(x10+1)=1xx5x2+5x(4x63x4+2x21)5x85x6+5x45x2+5

然后根据第二三项的特点进行“凑微分和换元”,凑成 x2

#Unit Test 4-13
from sympy import *
init_printing()
x = Symbol('x')
f = 1 / (x ** 11 + x)
apart(f), integrate(f, x)

(x(4x63x4+2x21)5x85x6+5x45x2+5x5x2+5+1x,log(x)110log(x10+1))


#Unit Test 4-14
from sympy import *
init_printing()
x = Symbol('x')
f = (x ** 2 + 1) * E ** (2 * x)
integrate(f, x)

e2x4(2x22x+3)


#Unit Test 4-15
from sympy import *
init_printing()
x = Symbol('x')
f = x ** 2 * acos(x)
integrate(f, x)

x33acos(x)x29x2+129x2+1



Unit Test 4-16
dxx+x3=?

解:先有理化
dxx+x3=dt6t3+t2=6x5dtt3+t2


#Unit Test 4-16
from sympy import *
init_printing()
x = Symbol('x')
f = 6 * x ** 5 / (x ** 2 + x ** 3)
integrate(f, x).subs(x, x ** (1 / 6))



6x0.1666666666666673x0.333333333333333+2x0.56log(x0.166666666666667+1)



Unit Test 4-17
x+1xdx=?

解:先有理化
x+1xdx=tan2(t)+1tan2(t)dtan2(t)


#Unit Test 4-17
from sympy import *
init_printing()
x = Symbol('x')
f = diff(tan(x) ** 2, x)
g = 2 / (cos(x) ** 3)
f, integrate(g, x).subs(x, atan(x))



(2tan2(x)+2)tan(x),2xx2+1(2x2x2+12)12log(xx2+11)+12log(xx2+1+1)



Unit Test 4-18
dxex+1+ex1=?

解:先有理化,再分部积分
dxex+1+ex1=ex+1ex12dx=12ex+1dx12ex1dx=12tdln(t21)12udln(u2+1)=12[tln(t21)ln(t21)dtuln(u2+1)+ln(u2+1)du]


#Unit Test 4-18
from sympy import *
init_printing()
x = Symbol('x')
f = log(x ** 2 -1)
g = log(x ** 2 + 1)
integrate(f, x), integrate(g, x)



(xlog(x21)2xlog(x1)+log(x+1),xlog(x2+1)2x+2atan(x))


part1 = x * f - integrate(f, x)
part2 = x * g - integrate(g, x)
part1.subs(x, sqrt(E ** x + 1)) - part2.subs(x, sqrt(E ** x - 1))



2ex1+2ex+1+log(ex+11)log(ex+1+1)+2atan(ex1)



Unit Test 4-19
sin(x)1+sin(x)dx=?

解:简化分式
sin(x)1+sin(x)dx=dx11+sin(x)dx


#Unit Test 4-19
from sympy import *
init_printing()
x = Symbol('x')
f = 1 / (sin(x) + 1)
integrate(f, x)



2tan(x2)+1



Unit Test 4-20
x21+x2atan(x)dx=?

解:简化分式
x21+x2atan(x)dx=x2atan(x)datan(x)=12x2(x2+1)datan2(x)=12[x2(x2+1)atan2(x)atan2(x)dx2(x2+1)]=12[x2(x2+1)atan2(x)4atan2(x)x3dx2atan2(x)xdx]


#Unit Test 4-19
from sympy import *
init_printing()
x = Symbol('x')
f = atan(x) ** 2 * x
integrate(f, x)



x22atan2(x)xatan(x)+12log(x2+1)+12atan2(x)


g = f * x ** 2
integrate(g, x)



x44atan2(x)x36atan(x)+x212+x2atan(x)13log(x2+1)14atan2(x)


simplify(atan(x) ** 2 * (x ** 4 + x ** 2) - 4 * integrate(g, x) - 2 * integrate(f, x))



2x33atan(x)x23+13log(x2+1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33713.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mathematica做微积分

微积分 求极限函数极限数列极限递归定义的数列极限单侧极限累次极限渐近线 微商和微分微商&#xff08;导数&#xff09;全微分 不定积分和定积分不定积分定积分多重积分 级数幂级数展开幂级数计算Fourier级数 微分方程求解常微分方程求解偏微分方程 参考资料 求极限 函数极限…

《微积分基础》学习(一)

本系列文章主要记录我在学习coursera上的《Calculus One》在线课程的笔记。该课程是俄亥俄州立大学的经典课程&#xff0c;教授的发音比较标准&#xff0c;授课方式轻松愉悦&#xff0c;是不可错过的“微积分”入门课程。 本文直接从第二周切入&#xff08;第一周是课程介绍和学…

【计算题】(五)多元函数微积分学

目录 多元微分1. 极限偏导可微2. 复合函数求导3. 多元函数极值 多元积分1. 积分对称性2. 坐标系相互转换3. 交换积分次序 多元微分 1. 极限偏导可微 证明二重极限&#xff1a; x r c o s θ &#xff0c; y r s i n θ xrcos \theta&#xff0c;yrsin \theta xrcosθ&#x…

微积分专项----MIT GS老师

四. Limits and Continuous Functions极限和连续 &#xff08;11/n&#xff09;^n--->e 平衡的好时 &#xff08;11/n^2&#xff09;^n---> 1 &#xff08;11/n&#xff09;^(n^2)---> infinity 洛必达法则&#xff1a;用来计算趋于0时&#xff0c;且均有良好的…

IDC发布《2022中国大模型发展白皮书》,文心大模型能力全面领先

火爆全球的ChatGPT让背后的大模型技术进入了更多人的视野。日前&#xff0c;国际权威咨询机构IDC发布《2022中国大模型发展白皮书》&#xff08;以下简称《白皮书》&#xff09;&#xff0c;认为大模型是AI发展的必然趋势&#xff0c;并提出业内首个大模型评估框架。经评估&…

了解 GPU

近期ChatGPT十分火爆&#xff0c;随之而来的是M国开始禁售高端GPU显卡。M国想通过禁售GPU显卡的方式阻挡中国在AI领域的发展。 GPU是什么&#xff1f; GPU&#xff08;英语&#xff1a;Graphics Processing Unit&#xff0c;缩写&#xff1a;GPU&#xff09;是显卡的“大脑”&…

被“薄纱”的文心一言,真的一无是处?

大家好&#xff0c;我是王有志&#xff0c;欢迎和我聊技术&#xff0c;聊漂泊在外的生活。本文单纯讨论文心一言&#xff0c;不涉及其母公司百度的所作所为 3月16日百度交卷了&#xff0c;正式推出了自己的知识增强大语言模型文心一言。 作为全球第二家&#xff0c;中国第一家…

面对ChatGPT引发的人工智能革命,中国如何应对?

ChatGPT是一款由美国OpenAI公司开发的自然语言人机交互应用&#xff0c;拥有接近人类水平的语言理解和生成能力&#xff0c;是迄今为止人工智能领域最成功的产品和历史上用户增长速度最快的应用程序。ChatGPT依赖大模型、大数据、大算力支撑&#xff0c;其出现标志着通用人工智…

chatgpt赋能python:Python拟合数据-一种强大的数据分析工具

Python拟合数据 - 一种强大的数据分析工具 Python是一种用于数据科学的强大编程语言。 它具有丰富的功能&#xff0c;具有大量的数据分析库和工具&#xff0c;其中包括拟合数据的功能。 在此文章中&#xff0c;我们将介绍如何使用Python拟合数据&#xff0c;并探索这种功能对数…

chatgpt赋能python:Python处理图片去白底的介绍

Python处理图片去白底的介绍 在现今的互联网时代&#xff0c;图片在网页设计和营销中占有重要的地位。然而&#xff0c;在制作图片时&#xff0c;如果图片中有一个白色底色&#xff0c;将导致图片的美观度和质量降低。因此&#xff0c;图片去白底是非常实用的技巧&#xff0c;…

最强的数据增强--ChatGPT?

在许多自然语言处理(NLP)任务中&#xff0c;文本数据增强是克服样本量有限挑战的有效策略。 目前的文本数据增强方法要么不能保证生成数据的正确标记(缺乏可信度)&#xff0c;要么不能保证生成数据的足够多样性(缺乏完整性)&#xff0c;要么两者兼有。 ChatGPT在具有无与伦比…

Chatgpt帮我写程序切分Midjourney生成的图片

背景&#xff1a;非程序员&#xff0c;只懂VBA&#xff0c;其他语言一概没入门。 这两天在尝试MJ在抖音上做图文的玩法&#xff0c;遇到一个问题&#xff0c;如何将MJ生成的一张4宫格图片切分成4张单独的图片&#xff0c;找了一圈&#xff0c;要是用图片处理软件&#xff0c;那…

爬取网易云音乐用户听歌排行,来制作一张Ta最爱歌手的词云图!

平时写代码的时候&#xff0c;作为云村用户的一员&#xff0c;我当然也是最爱开着网易云音乐&#xff08;以下简称网易云&#xff09;。大家都知道在网易云里你可以查看好友或是任意用户的听歌排行&#xff08;假使Ta设置全部可见&#xff09;&#xff0c;但是如果想知道Ta喜欢…

【Python实战】爬取网易云音乐用户听歌排行,来制作一张Ta最爱歌手的词云图

前言 大家好&#xff0c;我是Samaritan。 平时写代码的时候&#xff0c;作为云村用户的一员&#xff0c;我当然也是最爱开着网易云音乐&#xff08;以下简称网易云&#xff09;。 大家都知道在网易云里你可以查看好友或是任意用户的听歌排行&#xff08;假使Ta设置全部可见&am…

一招搞定某易云歌曲评论并生成漂亮词图,想爬什么歌就爬什么歌,练手推荐

网易云音乐一直是一个非常棒的听歌平台&#xff0c;尤其是推荐算法&#xff0c;我个人觉得是比某Q音乐更得人心&#xff0c;一直以来都用的都是网易云来听歌。 今天我就来教大家一个爬取网易云任意歌曲的评论并生成特殊词图的方法&#xff0c;对爬虫感兴趣的小伙伴们可以去试试…

足足 8 项新功能,微信可以和好友一同听歌了

本文转载自IT之家 此前&#xff0c;iOS 版微信已经陆续推出过 8.0.8 和 8.0.9 两次更新&#xff0c;加入了很多新功能&#xff0c;但安卓这边却一直没有动静。在历经了多日等待后&#xff0c;微信 8.0.9 安卓版也终于出现了。此次官方直接跳过了 8.0.8 这个版本&#xff0c;主…

最新【2021.1.28】今日头条_signature 分析

最新【2021.1.28】头条_signature 分析 【温馨提示】:此文仅适用PC端web版本某日某条加密 最新今日头条sign加密更新了,看了看,比之前的坑增加了许多; 今日头条web版的请求主要参数是:_signature,已经取消了之前的as、cp参数; 话不多说,开整。。。 1.参数定位 这个…

微信订阅号内测大改版,这一次更像「今日头条」了

微信订阅号想要「新生」。 2018 年 6 月&#xff0c;微信大部分用户都看到了自己的新版订阅号。在订阅号的改版中&#xff0c;文章变为了卡片式的内容展示。所有公众号不再分享一屏的手机屏幕&#xff0c;而是根据用户的阅读习惯&#xff0c;常读、收藏获得更大的卡片展示区域。…

如何实现今日头条跳转到微信?

说到付费搜索流量推广&#xff0c;大家第一时间想到的肯定是百度&#xff01; 但真实做过百度的小伙伴知道&#xff0c;百度的智能推荐有多坑&#xff0c;如果没有自己调整成非智能推荐&#xff0c;那么流量费就会嗖嗖的消耗&#xff0c;却没有实际的收益。 头条的算法推荐跟…