数据思维 实验一 微积分基础 (大数据数学基础(Python语言描述))

2022-07-28,,,,

一、实验目的及要求

掌握微积分中常用函数及其性质。
掌握一元函数的微分与积分,包括导数的概念及各种求导法则、微分及其应用、微积分学的基本定理。

二、实验主要内容

1、利用PythonSymPy库中的函数求下列极限

(1)

 

lim

x

[

(

x

3

x

2

+

x

2

)

e

1

x

x

6

+

1

]

\text { } \lim _{x \rightarrow \infty}\left[\left(x^{3}-x^{2}+\frac{x}{2}\right) e^{\frac{1}{x}}-\sqrt{x^{6}+1}\right]

 limx[(x3x2+2x)ex1x6+1
]

from sympy import *
x = symbols('x')
y = (x**3-x**2 + x/2)**(1/(E ** x)) - sqrt(x ** 6 + 1)
print(limit(y, x, oo))  # 求极限
#结果为:-oo

(2)

 

lim

x

(

π

2

)

(

sin

x

)

tan

x

\text { } \lim _{x \rightarrow\left(\frac{\pi}{2}\right)^{-}}(\sin x)^{\tan x}

 limx(2π)(sinx)tanx

from sympy import *
x = symbols('x')
y = (sin(x)) ** tan(x)
print(limit(y, x, pi/2, dir='-'))  # 求极限
#结果为:1

(3)

lim

x

(

4

x

+

3

4

x

+

1

)

2

x

+

5

\lim _{x \rightarrow \infty}\left(\frac{4 x+3}{4 x+1}\right)^{2 x+5}

limx(4x+14x+3)2x+5

from sympy import *
x = symbols('x')
y = ((4*x + 3)/(4*x + 1)) ** (2*x + 5)
print(limit(y, x, oo))  # 求极限
#结果为:E

(4)

lim

x

0

(

1

1

2

x

2

)

2

/

3

1

x

ln

(

1

+

x

)

\lim _{x \rightarrow 0} \frac{\left(1-\frac{1}{2} x^{2}\right)^{2 / 3}-1}{x \ln (1+x)}

limx0xln(1+x)(121x2)2/31

from sympy import *
x = symbols('x')
y = ((1 - 1/2*(x ** 2)) ** (2/3) - 1) / (x*log(1 + x))
print(limit(y, x, 0))  # 求极限
#结果为:-0.333333333333333
2、利用PythonSymPy库中的函数求下列函数关于x的导数

(1)

y

=

x

+

x

+

x

y=\sqrt{x+\sqrt{x+\sqrt{x}}}

y=x+x+x


from sympy import *
x = symbols('x')
y = sqrt(x + sqrt(x + sqrt(x)))
print(diff(y,x))  # 求导
#结果是:((1/2 + 1/(4*sqrt(x)))/(2*sqrt(sqrt(x) + x)) + 1/2)/sqrt(x + sqrt(sqrt(x) + x))    

(2)

y

=

x

2

x

3

y=\sqrt{\frac{x-2}{x-3}}

y=x3x2

from sympy import *
x = symbols('x')
y = sqrt((x-2)/(x-3))
print(diff(y,x))
#结果是:sqrt((x - 2)/(x - 3))*(x - 3)*(1/(2*(x - 3)) - (x - 2)/(2*(x - 3)**2))/(x - 2)

(3)

y

=

(

x

1

+

x

)

x

y=\left(\frac{x}{1+x}\right)^{x}

y=(1+xx)x

from sympy import *
x = symbols('x')
y = (x/(x+1))**x
print(diff(y,x))
#结果是:(x/(x + 1))**x*((x + 1)*(-x/(x + 1)**2 + 1/(x + 1)) + log(x/(x + 1)))

(4)

y

=

arcsin

1

x

2

y=\arcsin \sqrt{1-x^{2}}

y=arcsin1x2

from sympy import *
x = symbols('x')
y = asin(sqrt(1 - x ** 2))
print(diff(y,x))
#结果是:-x/(sqrt(1 - x**2)*sqrt(x**2))
3、设曲线

y

=

5

x

3

+

2

x

2

3

x

y=5 x^{3}+2 x^{2}-3 x

y=5x3+2x23x

(1)求曲线的单调区间及极值点。
(2)求曲线的凹凸点区间及抛点。

from sympy import *
x = symbols('x')
init_printing()  # 使公式的输出更美观
y = 5 * x  **  3 + 2 * x  **  2 - 3 * x
df = diff(y, x)  # 一阶导函数
df2 = diff(y, x, 2)  # 二阶导函数
# (1)
# 方法一
print('函数的驻点为:', solve(df, x))
# 方法二
print('二阶导数在驻点的值为:', df2.subs(x, - 3 / 5), df2.subs(x, 1 / 3))
# 极值
print('函数的极值为:', y.subs(x, - 3 / 5), y.subs(x, 1 / 3))
# (2)
print('函数的拐点为:', solve(df2, x))
print('函数在拐点的取值为:', y.subs(x, - 2 / 15))
# 画图
import numpy as np
import matplotlib.pyplot as plt
x = np.arange( - 1, 1, 0.01)
y = 5 * x  **  3 + 2 * x  **  2 - 3 * x
df = 15 * x  **  2 + 4 * x - 3
df2 = 30 * x + 4
# 二阶导数图
plt.rcParams['font.sans-serif'] = ['SimHei']#中文支持
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
fig, ax = plt.subplots()
ax.plot(x, df2, zorder=10)
ax.grid(True, zorder=10)
plt.title('二阶导数图')
plt.show()
# 一阶导数图
fig, ax = plt.subplots()
ax.plot(x, df, zorder=10)
ax.grid(True, zorder=10)
plt.title('一阶导数图')
plt.show()
# 原函数图
fig, ax = plt.subplots()
ax.plot(x, y, zorder=10)
ax.grid(True, zorder=10)
plt.title('原函数图')
plt.show()

4 、 将一个球垂直上拋,它的高度

h

h

h 与时间

t

t

t 的关系式为

h

=

5

t

(

4

t

)

h=5 t(4-t)

h=5t(4t) ,则球达到的最大高度是多少。

from sympy import *
t = symbols('t')
h = 5 * t * (4 - t)
print('函数的解为:', solve(h, t))
df = diff(h, t)  # 一阶导函数
print('函数的驻点为:', solve(df, t))
print('函数的极值为:', h.subs(t, 2))

即最大高度是20

5、利用 Python 的 SymPy 库中的函数计算下列不定积分。

(1)

sin

x

1

+

sin

x

+

cos

x

d

x

\int \frac{\sin x}{1+\sin x+\cos x} d x

1+sinx+cosxsinxdx

from sympy import *
x = symbols('x')
f = sin(x) / (1 + sin(x) + cos(x))
print(integrate(f, x))  # 求不定积分
#结果是:x/2 - log(tan(x/2) + 1) + log(tan(x/2)**2 + 1)/2

(2)

1

x

1

+

x

x

d

x

\int \frac{1}{x} \sqrt{\frac{1+x}{x}} d x

x1x1+x
dx

from sympy import *
x = symbols('x')
f = 1 / ((x  **  2) * sqrt(x  **  2 + 1))
print(integrate(f, x))  # 求不定积分
#结果是:-sqrt(1 + x**(-2))

(3)

x

2

3

x

+

x

5

x

d

x

\int \frac{x^{\frac{2}{3}} \sqrt{x}+\sqrt[5]{x}}{\sqrt{x}} d x

x
x32x
+5x
dx

from sympy import *
x = symbols('x')
f = (x  **  (2 / 3) * sqrt(x) + x  **  (1 / 5)) / sqrt(x)
print(integrate(f, x)) # 求不定积分
#结果是:1.42857142857143*x**0.7 + 0.6*x**1.66666666666667

(4)

e

2

x

sin

3

x

d

x

\int e^{2 x} \sin 3 x d x

e2xsin3xdx

from sympy import *
x = symbols('x')
f = exp(2 * x) * sin(3 * x)
print(integrate(f, x))  # 求不定积分
#结果是:2*exp(2*x)*sin(3*x)/13 - 3*exp(2*x)*cos(3*x)/13
6、利用 Python 的 SymPy 库中的函数计算下列定积分。

(1)

0

π

(

1

sin

3

x

)

d

x

\int_{0}^{\pi}\left(1-\sin ^{3} x\right) d x

0π(1sin3x)dx

from sympy import *
x = symbols('x')
f = 1 - (sin(x))  **  3
print(integrate(f, (x, 0, pi)))  # 求定积分
# 结果是:-4/3 + pi

(2)

2

0

x

+

2

x

2

+

2

x

+

2

d

x

\int_{-2}^{0} \frac{x+2}{x^{2}+2 x+2} d x

20x2+2x+2x+2dx

from sympy import *
x = symbols('x')
f = (x + 2) / (x  **  2 + 2 * x + 2)
print(integrate(f, (x, - 2, 0)))  # 求定积分
#结果是:pi/2

(3)

1

e

sin

(

ln

x

)

d

x

\int_{1}^{e} \sin (\ln x) d x

1esin(lnx)dx

from sympy import *
x = symbols('x')
f = sin(log(x))
print(integrate(f, (x, 1, exp(1))))  # 求定积分
#结果是:-E*cos(1)/2 + 1/2 + E*sin(1)/2

(4)

0

1

e

x

d

x

\int_{0}^{1} e^{\sqrt{x}} d x

01ex
dx

from sympy import *
x = symbols('x')
f = exp(sqrt(x))
print(integrate(f, (x, 0, 1)))  # 求定积分
#结果是:2

三、 实验仪器设备

略。

四、实验步骤

略。

五、遇到的问题与解决办法

1:numpy报错,版本问题

解决办法卸载numpy1.94安装numpy1.94:参考链接:https://blog.csdn.net/qq_34530696/article/details/109531406
2:plt绘图,中文和负号显示错误

添加:

plt.rcParams['font.sans-serif'] = ['SimHei']#中文支持
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号

参考链接:https://blog.csdn.net/weekdawn/article/details/81392211

本文地址:https://blog.csdn.net/nuoyanli/article/details/109629463

《数据思维 实验一 微积分基础 (大数据数学基础(Python语言描述)).doc》

下载本文的Word格式文档,以方便收藏与打印。