第10章 偏微分方程模拟仿真

  • 格式:pptx
  • 大小:1.55 MB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.1 计算函数的定义
首先,针对计算函数,先导入一些模拟仿真所必需的库文件,代码如下 所示。
************************************************************************************ #导入模拟仿真需要的库 import tensorfLow as tf import numpy as np
10.1 计算函数的定义
源程序代码内容中,通过使用import tensorfLow as tf和import numpy as np将模拟仿真中所需要的TensorFlow模块和NumPy模块进 行导入;import PIL.Image代码中的图像处理类库(Python Imaging Library Python,PIL)提供了关于图像的最基本的处理及功能操作, 如图像的旋转、裁剪、缩放、颜色的变化等。利用免费的图像处理类库 中的各类函数,我们可以将数据从图像格式的文件中提取出来进行数据 处理,然后再将处理之后的数据写入到指定的图像格式中,在图像处理 类库的众多函数中,最重要的一个函数是Image函数。在代码内容中, from cStringIO import StringIO代码语句中的cStringIO和StringIO所 代表的是两个不同功能的模块,这两个模块具有相似的功能操作。
人工智能原理: 基于Python语言和TensorFlow
张明 副教授
第10章 偏微分方程模拟仿真
1. 计算函数的定义 2. 偏微分方程的定义 3. 仿真
简介
18世纪,瑞士数学家莱昂哈德·欧拉(Leonhard EuLer)在与其他数 学家解决物理问题的过程中,创立了微分方程这门学科。常见的微分 方程有常微分方程、偏微分方程等,其中,常微分方程是指解得的未 知函数是一元函数的微分方程,即一个量随一个自变量变化的规律, 比如我们常见到的行驶中的车辆位置会随着时间变化而规律运动;偏 微分方程是指解得的未知函数是多元函数的微分方程,即一个量随两 个或多个自变量变化的规律,它比常微分方程更复杂一些,不仅仅在 于自变量的增多,还因为各个自变量之间会有耦合,比如温度会随着 时间的变化而在不同位置上有不同的数值表现,与此同时,温度随位 置的变化也会因为时间的不同而在数值上有所变化,生活中的天气预 报,就是通过计算机来对偏微分方程进行求解而得到的。
10.1 计算函数的定义
针对池塘的表面状态,我们通过一些程序代码来进行相应操作பைடு நூலகம்函数设 定,代码如下所示。
************************************************************************************ def DispLayArray(a, fmt='jpeg', rng=[0,1]): """DispLay an array as a picture.""" a = (a - rng[0])/fLoat(rng[1] - rng[0])*255 a = np.uint8(np.cLip(a, 0, 255)) f = StringIO() PIL.Image.fromarray(a).save(f, fmt) dispLay(Image(data=f.getvaLue()))
10.1 计算函数的定义
其中,StringIO模块的功能和文件具有很高的相似性,它算是存在于内 存中的一个文件,对StringIO模块进行操作的方法与我们对磁盘文件进 行操作的方法相类似,即通过StringIO模块对内存文件进行读取和写入 的操作;而cStringIO模块则与StringIO模块相类似,但是它又比 StringIO模块更高效一些。原因是因为Python语言是一种动态的计算 机编程语言,它可以进行解释性执行,如果想要针对Python程序代码 的运行速度进行提高,可以通过使用C语言来对某些关键函数进行重写, 通过这种方式可以提高整个Python程序代码的执行速度,而具体到 cStringIO和StringIO这两个模块来讲,StringIO模块是使用纯Python 代码编写的模块内容,而cStringIO模块中的部分函数则是使用C语言编 写的,因此cStringIO模块运行速度会更高效。
简介
偏微分方程关于纯数学研究的第一篇论文是欧拉所写的《方程的积分 法研究》,在此之后,法国数学家达朗贝尔(Jean Le Rond d'ALembert)也在他的著作《动力学》和论文《张紧的弦振动时形成 的曲线的研究》中提出了关于偏微分方程的内容,从而最终开创了偏 微分方程这门学科。19世纪是偏微分方程迅速发展的时期,瑞士数学 家丹尼尔·伯努利(DanieL BernouLLi)、法国数学家约瑟夫·拉格朗 日(Joseph-Louis Lagrange)、让·巴普蒂斯·约瑟夫·傅里叶(Jean Baptiste Joseph Fourier)在各自研究领域的成果都对偏微分方程的 发展产生了不同程度的影响。
#导入可视化需要的库 import PIL.Image from cStringIO import StringIO from IPython.dispLay import cLear_output, Image, dispLay ************************************************************************************
简介
对于偏微分方程问题的讨论和解决,往往需要应用微分几何学、代数 与拓扑学等其他数学分支的理论和方法。偏微分方程的解有无穷多个 ,但是解决具体的实际问题时,则需要从中选取出所需要的最适合的 解,因此,一些必备的附加条件是必不可少的。偏微分方程属于同一 类现象的共同规律的表示式,仅仅知道共同规律是无法掌握和了解具 体问题的特殊性的,所以,针对不同的具体问题,它的特殊性就在于 所处的不同环境的特定条件,即初始条件和边界条件,又被称为定解 条件。定解条件反映出具体问题的个性和具体情况,定解条件和方程 式的结合被称为定解问题。求偏微分方程的定解问题可以先求出它的 通解,然后再用定解条件确定出函数。