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

周村有做网站广告的吗官网设计效果图

周村有做网站广告的吗,官网设计效果图,南昌广告制作,python做音乐网站泰勒级数 (Taylor Series) 动画展示 包括源码 flyfish 泰勒级数(英语:Taylor series)用无限项连加式 - 级数来表示一个函数,这些相加的项由函数在某一点的导数求得。 定义了一个函数f(x)表示要近似的函数 sin ⁡ ( x ) \sin(x) …

泰勒级数 (Taylor Series) 动画展示 包括源码

flyfish

泰勒级数(英语:Taylor series)用无限项连加式 - 级数来表示一个函数,这些相加的项由函数在某一点的导数求得。
定义了一个函数f(x)表示要近似的函数 sin ⁡ ( x ) \sin(x) sin(x),以及一个函数taylor_series(x, n)来计算泰勒级数的前n项。动画展示了泰勒级数如何逐步逼近 sin ⁡ ( x ) \sin(x) sin(x)函数。这个例子展示了泰勒级数的逼近效果,以及随着项数的增加,近似效果变得更好。
在这里插入图片描述

)

级数 (Series)

定义

级数是数列求和的过程。具体来说,给定一个数列 a 1 , a 2 , a 3 , … a_1, a_2, a_3, \ldots a1,a2,a3,,它的级数是所有项相加得到的总和: S = a 1 + a 2 + a 3 + ⋯ S = a_1 + a_2 + a_3 + \cdots S=a1+a2+a3+
通常我们会使用符号表示:
S = ∑ n = 1 ∞ a n S = \sum_{n=1}^{\infty} a_n S=n=1an

收敛与发散

一个级数可以是收敛的,也可以是发散的。如果级数的部分和 S n = ∑ n = 1 N a n S_n = \sum_{n=1}^{N} a_n Sn=n=1Nan N N N 趋向于无穷大时趋向于某个有限的值 L L L,则称该级数是收敛的,记作: ∑ n = 1 ∞ a n = L \sum_{n=1}^{\infty} a_n = L n=1an=L
否则称该级数是发散的。

泰勒级数 (Taylor Series)

定义

泰勒级数是一种特殊的级数,用于表示一个函数在某点附近的近似。对于一个在 x = a x = a x=a 点具有 n n n 阶可导数的函数 f ( x ) f(x) f(x),它的泰勒级数可以表示为: f ( x ) = f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + f ′ ′ ′ ( a ) 3 ! ( x − a ) 3 + ⋯ f(x) = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \frac{f'''(a)}{3!}(x-a)^3 + \cdots f(x)=f(a)+f(a)(xa)+2!f′′(a)(xa)2+3!f′′′(a)(xa)3+
一般地,泰勒级数的形式为:
f ( x ) = ∑ n = 0 ∞ f ( n ) ( a ) n ! ( x − a ) n f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x - a)^n f(x)=n=0n!f(n)(a)(xa)n其中, f ( n ) ( a ) f^{(n)}(a) f(n)(a) 表示函数 f ( x ) f(x) f(x) x = a x = a x=a 处的第 n n n 阶导数, n ! n! n! 表示 n n n 的阶乘。

麦克劳林级数

泰勒级数在 a = 0 a = 0 a=0 时的特殊形式称为麦克劳林级数(Maclaurin Series): f ( x ) = f ( 0 ) + f ′ ( 0 ) x + f ′ ′ ( 0 ) 2 ! x 2 + f ′ ′ ′ ( 0 ) 3 ! x 3 + ⋯ f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \frac{f'''(0)}{3!}x^3 + \cdots f(x)=f(0)+f(0)x+2!f′′(0)x2+3!f′′′(0)x3+
即:
f ( x ) = ∑ n = 0 ∞ f ( n ) ( 0 ) n ! x n f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(0)}{n!} x^n f(x)=n=0n!f(n)(0)xn

例子

用无限项连加式——级数来表示一个函数,这些相加的项由函数在某一点的导数求得。

1. 指数函数的泰勒级数

对于函数 e x e^x ex,它在 x = 0 x = 0 x=0 处的泰勒级数(也是麦克劳林级数)为: e x = 1 + x + x 2 2 ! + x 3 3 ! + ⋯ = ∑ n = 0 ∞ x n n ! e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots = \sum_{n=0}^{\infty} \frac{x^n}{n!} ex=1+x+2!x2+3!x3+=n=0n!xn

2. 正弦函数的泰勒级数

对于函数 sin ⁡ ( x ) \sin(x) sin(x),它在 x = 0 x = 0 x=0 处的泰勒级数(麦克劳林级数)为: sin ⁡ ( x ) = x − x 3 3 ! + x 5 5 ! − ⋯ = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 ( 2 n + 1 ) ! \sin(x) = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!} sin(x)=x3!x3+5!x5=n=0(2n+1)!(1)nx2n+1

前几项展开式为:
sin ⁡ ( x ) ≈ x − x 3 3 ! + x 5 5 ! − x 7 7 ! + ⋯ \sin(x) \approx x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots sin(x)x3!x3+5!x57!x7+
通过增加项数,可以使泰勒多项式对原函数的近似更加精确。

动画源码

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation# 定义泰勒级数逼近的项数
N = 10# 定义函数和泰勒级数的函数
def f(x):return np.sin(x)def taylor_series(x, n):result = 0for i in range(n + 1):result += ((-1)**i * x**(2 * i + 1)) / np.math.factorial(2 * i + 1)return result# 创建图形和轴
fig, ax = plt.subplots()
x = np.linspace(-2 * np.pi, 2 * np.pi, 1000)
y = f(x)
line, = ax.plot(x, y, label='sin(x)')
line_taylor, = ax.plot([], [], label='Taylor Series')
ax.set_ylim(-2, 2)
ax.legend()# 初始化函数
def init():line_taylor.set_data([], [])return line_taylor,# 更新函数
def update(n):y_taylor = taylor_series(x, n)line_taylor.set_data(x, y_taylor)ax.set_title(f'Taylor Series Approximation with {n} terms')return line_taylor,# 创建动画
ani = animation.FuncAnimation(fig, update, frames=N, init_func=init, blit=True)# 保存动画为GIF
ani.save('taylor_series_approximation.gif', writer='imagemagick')plt.show()

应用

用泰勒级数在某一点上近似计算一个函数的值。
使用泰勒级数近似计算 e x e^x ex x = 0.1 x = 0.1 x=0.1 处的值, e x e^x ex 的泰勒级数(在 x = 0 x = 0 x=0 处展开)是: e x = 1 + x + x 2 2 ! + x 3 3 ! + x 4 4 ! + ⋯ e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} + \cdots ex=1+x+2!x2+3!x3+4!x4+为了近似计算 e 0.1 e^{0.1} e0.1,我们可以只取前几项进行计算。

第一步:计算各项的值
  • x = 0.1 x = 0.1 x=0.1

  • e x ≈ 1 + x + x 2 2 ! + x 3 3 ! + x 4 4 ! e^x \approx 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} ex1+x+2!x2+3!x3+4!x4

第二步:逐项计算
  1. 第一项: 1 1 1

  2. 第二项: 0.1 0.1 0.1

  3. 第三项: ( 0.1 ) 2 2 ! = 0.01 2 = 0.005 \frac{(0.1)^2}{2!} = \frac{0.01}{2} = 0.005 2!(0.1)2=20.01=0.005

  4. 第四项: ( 0.1 ) 3 3 ! = 0.001 6 ≈ 0.000167 \frac{(0.1)^3}{3!} = \frac{0.001}{6} \approx 0.000167 3!(0.1)3=60.0010.000167

  5. 第五项: ( 0.1 ) 4 4 ! = 0.0001 24 ≈ 0.00000417 \frac{(0.1)^4}{4!} = \frac{0.0001}{24} \approx 0.00000417 4!(0.1)4=240.00010.00000417

第三步:求和

将这些项相加:
e 0.1 ≈ 1 + 0.1 + 0.005 + 0.000167 + 0.00000417 ≈ 1.10517117 e^{0.1} \approx 1 + 0.1 + 0.005 + 0.000167 + 0.00000417 \approx 1.10517117 e0.11+0.1+0.005+0.000167+0.000004171.10517117

第四步:与实际值比较

用计算器计算 e 0.1 e^{0.1} e0.1 的实际值: e 0.1 ≈ 1.105170918 e^{0.1} \approx 1.105170918 e0.11.105170918我们看到,使用泰勒级数前几项的近似值 1.10517117 1.10517117 1.10517117 与实际值 1.105170918 1.105170918 1.105170918 非常接近,误差在 1 0 − 6 10^{-6} 106 量级上。
这个例子展示了如何使用泰勒级数在某一点上近似计算一个函数的值。通过逐项计算并求和,我们可以得到一个非常接近实际值的近似结果。
绘制不同项数的泰勒级数曲线,比较近似值和实际值
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt# 定义 e^x 的泰勒级数近似函数
def taylor_series_exp(x, n_terms):taylor_sum = 0for n in range(n_terms):taylor_sum += (x**n) / np.math.factorial(n)return taylor_sum# 定义实际的 e^x 函数
def actual_exp(x):return np.exp(x)# x 的范围
x_values = np.linspace(-1, 1, 400)# 不同项数的泰勒级数近似
terms_list = [1, 2, 3, 5, 10]  # 泰勒级数的项数列表# 创建图形
plt.figure(figsize=(10, 6))# 绘制实际的 e^x 曲线
plt.plot(x_values, actual_exp(x_values), label='Actual $e^x$', color='blue')# 绘制不同项数的泰勒级数近似曲线
colors = ['red', 'orange', 'green', 'purple', 'brown']
for i, n_terms in enumerate(terms_list):taylor_values = [taylor_series_exp(x, n_terms) for x in x_values]plt.plot(x_values, taylor_values, label=f'Taylor Series (n={n_terms})', color=colors[i], linestyle='--')# 标注在 x=0.1 处的点
plt.scatter(0.1, taylor_series_exp(0.1, 5), color='green', zorder=5, label='Approximation at x=0.1')
plt.scatter(0.1, actual_exp(0.1), color='purple', zorder=5, label='Actual at x=0.1')# 标注和标签
plt.xlabel('x')
plt.ylabel('y')
plt.title('Taylor Series Approximation of $e^x$')
plt.legend()
plt.grid(True)
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.show()# 打印在 x=0.1 处的近似值和实际值
approx_value = taylor_series_exp(0.1, 5)
actual_value = actual_exp(0.1)
print(f'Taylor Series Approximation at x=0.1 with n=5: {approx_value}')
print(f'Actual value at x=0.1: {actual_value}')

数学思想的演变

古希腊时期

芝诺悖论:古希腊哲学家芝诺提出了著名的芝诺悖论,探讨了如何利用无穷级数求和来得到有限结果的问题。芝诺的结论是无法完成的,这在当时引发了广泛的讨论和争论。

亚里士多德:亚里士多德对芝诺悖论进行了哲学上的反驳,但并没有解决数学上的问题。

德谟克利特和阿基米德:德谟克利特和后来著名的数学家阿基米德进一步研究了无穷级数问题。阿基米德利用穷竭法,逐步细分无穷级数,从而得到了有限的结果。这种方法为后来的数学发展奠定了基础。

中国古代

刘徽:几个世纪之后,中国数学家刘徽也独立提出了类似于穷竭法的方法,用于解决类似的问题。他的工作与阿基米德的穷竭法有很多相似之处。

中世纪

马德哈瓦:进入14世纪,印度数学家马德哈瓦是最早使用泰勒级数及相关方法的数学家之一。尽管他的数学著作没有流传下来,但后来印度数学家的著作表明他发现了一些特殊的泰勒级数,这些级数包括正弦、余弦、正切、和反正切三角函数等。喀拉拉学派在他的基础上进行了延伸和合理逼近,这些工作一直持续到16世纪。

17世纪

詹姆斯·格雷果里:在17世纪,詹姆斯·格雷果里继续这方面的研究,并发表了若干麦克劳林级数的相关工作。

18世纪

布鲁克·泰勒:直到1715年,布鲁克·泰勒提出了一个通用的方法来构建适用于所有函数的级数,这就是后来的泰勒级数。泰勒的方法能够用于构建各种函数的无穷级数表示,使得这一概念成为数学分析中的重要工具。

科林·麦克劳林:麦克劳林级数是泰勒级数的特例,是由爱丁堡大学的科林·麦克劳林教授在18世纪发表的,并以其名字命名。

泰勒级数展开

泰勒级数展开与直线方程的关系

泰勒级数是基于函数在某一点 x 0 x_0 x0 处的所有阶导数来展开的。公式为:
f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) 1 ! + f ′ ′ ( x 0 ) ( x − x 0 ) 2 2 ! + ⋯ + f ( n ) ( x 0 ) ( x − x 0 ) n n ! f(x) \approx f(x_0) + f'(x_0) \frac{(x - x_0)}{1!} + f''(x_0) \frac{(x - x_0)^2}{2!} + \cdots + f^{(n)}(x_0) \frac{(x - x_0)^n}{n!} f(x)f(x0)+f(x0)1!(xx0)+f′′(x0)2!(xx0)2++f(n)(x0)n!(xx0)n n n n 趋于无穷时,该级数可以等于函数本身:
f ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + f ′ ′ ( x 0 ) 2 ! ( x − x 0 ) 2 + ⋯ + f ( n ) ( x 0 ) n ! ( x − x 0 ) n + ⋯ f(x) = f(x_0) + f'(x_0) (x - x_0) + \frac{f''(x_0)}{2!} (x - x_0)^2 + \cdots + \frac{f^{(n)}(x_0)}{n!} (x - x_0)^n + \cdots f(x)=f(x0)+f(x0)(xx0)+2!f′′(x0)(xx0)2++n!f(n)(x0)(xx0)n+

一阶展开(线性近似)

如果只考虑泰勒级数的前两项,得到函数在 x 0 x_0 x0 处的线性近似,也叫做一阶泰勒展开:
f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x) \approx f(x_0) + f'(x_0) (x - x_0) f(x)f(x0)+f(x0)(xx0)
这是因为所有高于一次项的项都被忽略了。

直线方程的推导

一阶泰勒展开的形式与直线方程形式一致。可以将 f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x) \approx f(x_0) + f'(x_0) (x - x_0) f(x)f(x0)+f(x0)(xx0) 写成直线方程:
f ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x) = f(x_0) + f'(x_0) (x - x_0) f(x)=f(x0)+f(x0)(xx0)如果令:
f ( x 0 ) = k 1 f(x_0) = k_1 f(x0)=k1
f ′ ( x 0 ) = k 2 f'(x_0) = k_2 f(x0)=k2那么上述方程变为:
f ( x ) = k 1 + k 2 ( x − x 0 ) f(x) = k_1 + k_2 (x - x_0) f(x)=k1+k2(xx0)这就是直线的方程形式,其中 k 1 k_1 k1 是直线在 x = x 0 x = x_0 x=x0 处的函数值(即截距), k 2 k_2 k2 是直线的斜率(即导数)。线性近似的应用: x \sqrt{x} x 的例子找到 f ( x ) = x f(x) = \sqrt{x} f(x)=x x = 9 x = 9 x=9 处的线性近似,并估算 9.1 \sqrt{9.1} 9.1

  1. 计算 f ( 9 ) f(9) f(9)
    f ( 9 ) = 9 = 3 f(9) = \sqrt{9} = 3 f(9)=9 =3

  2. 计算 f ′ ( x ) f'(x) f(x) 并在 x = 9 x = 9 x=9 处求导:
    f ′ ( x ) = 1 2 x f'(x) = \frac{1}{2\sqrt{x}} f(x)=2x 1
    f ′ ( 9 ) = 1 2 9 = 1 6 f'(9) = \frac{1}{2\sqrt{9}} = \frac{1}{6} f(9)=29 1=61

  3. 代入线性近似公式:
    L ( x ) = f ( 9 ) + f ′ ( 9 ) ( x − 9 ) L(x) = f(9) + f'(9)(x - 9) L(x)=f(9)+f(9)(x9)
    L ( x ) = 3 + 1 6 ( x − 9 ) L(x) = 3 + \frac{1}{6}(x - 9) L(x)=3+61(x9)

  4. 估算 9.1 \sqrt{9.1} 9.1
    L ( 9.1 ) = 3 + 1 6 ( 9.1 − 9 ) L(9.1) = 3 + \frac{1}{6}(9.1 - 9) L(9.1)=3+61(9.19)
    L ( 9.1 ) = 3 + 1 6 ( 0.1 ) L(9.1) = 3 + \frac{1}{6}(0.1) L(9.1)=3+61(0.1)
    L ( 9.1 ) = 3 + 0.0167 ≈ 3.0167 L(9.1) = 3 + 0.0167 \approx 3.0167 L(9.1)=3+0.01673.0167
    所以, 9.1 ≈ 3.0167 \sqrt{9.1} \approx 3.0167 9.1 3.0167
    通过泰勒级数的一阶展开,可以得到函数在某一点附近的线性近似。
    另一种描述方式
    y = m x + b y = mx + b y=mx+b其中 m m m 是斜率, b b b 是截距。对于一阶泰勒展开,可以将其写成类似直线方程的形式:
    y = f ( x ) y = f(x) y=f(x)
    m = f ′ ( x 0 ) m = f'(x_0) m=f(x0)
    b = f ( x 0 ) − f ′ ( x 0 ) x 0 b = f(x_0) - f'(x_0)x_0 b=f(x0)f(x0)x0实际上,一阶泰勒展开的形式 f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x) \approx f(x_0) + f'(x_0)(x - x_0) f(x)f(x0)+f(x0)(xx0) 正是线性函数的形式,其中:
    f ( x 0 ) f(x_0) f(x0) 表示在 x = x 0 x = x_0 x=x0 处的函数值,是线性函数的截距;
    f ′ ( x 0 ) f'(x_0) f(x0) 表示在 x = x 0 x = x_0 x=x0 处的导数,是线性函数的斜率。

http://www.15wanjia.com/news/157358.html

相关文章:

  • 简述网站开发技术官方网站的网络营销功能分析
  • 网站优化具体怎么做武夷山景区网站建设优点
  • 青岛 网站建设WordPress主题里的AD
  • app开发 网站开发统称自己电脑 wordpress
  • 永久免费搭建网站成都的企业网站建设公司
  • 宁德网站建设制作Wordpress大前端破解版
  • 贵阳市网站开发快要到期的域名网站
  • 中小学学校网站建设建新建设集团有限公司网站
  • 公司网站建设合规吗聊城集团网站建设加盟
  • 一_建设网站前的市场分析艾艺公司团队定制
  • 建筑网站视频大全建设网站需要做的工作
  • 电子商务网站基本功能盐城seo营销
  • 自己建网站有什么好处怎样设计一个网页
  • 做网站自动上传文章论坛静态网站源码
  • 前端网站开发的公用头部h5手机网站实例
  • 网站开发报告医疗器械行业
  • 0基础做网站用什么语言红木家具网站模板
  • h5网站动画怎么做网站建设的学习
  • 视频解析网站怎么做的如何让网站收录公司名
  • 义乌营销型网站建设如何用vs的c 做网站
  • 做房产应看的网站广告设计公司报价
  • 专业建站网站服务莱芜区都市网莱芜杂谈
  • 九江做网站的企业门户网站建设市场
  • 网站 公众号信息化建设工作商务网站可以做哪些
  • 大学生网站建设彼亿营销
  • 公司网站怎么建立优化体系网站建设备案费用
  • 网站建设书怎么写上海市建设工程交易服务中心
  • php旅游网站论文广州私人做网站
  • 焦作网站建设哪家正规房地产开发资质
  • 网站建设费可以计入管理费用吗丽江手机网站建设