基于Python求解偏微分方程的有限差分法.doc

基于Python求解偏微分方程的有限差分法

(西安石油大学电子工程学院光电油气测井与检测教育部重点实验室, 陕西 西安 710065)

摘 要: 偏微分方程的求解是很多科学技术问题的关键难点。随着计算机性能的不断提高,数值解法能够解复杂的偏微分方程并将计算结果图形化。相对于昂贵的科学计算软件,Python是一种免费的面向对象、动态的程序设计语言。有限差分法以其概念清晰,方法简单、直观等特点在偏微分方程的求解中得到了广泛的应用。文章对矩形区域的拉普拉斯方程进行数值求解,采用Numpy对有限差分法进行计算,运用Matplotlib绘制等值线,输出迭代次数以及误差。

关键词: 偏微分方程; Python; 数值解法; 有限差分法

中图分类号:TP3 文献标志码:A 文章编号:1006-8228(2016)11-14-03

Python programmed finite difference method for solving partial differential equations

Wang Dengyue, Zhang Hongwei

(Xi'an Shiyou University, Electric Engineering College, Key Laboratory of Photo Electricity Gas and Oil Detecting of Ministry of Education, Xi'an, Shaanxi 710065, China)

Abstract: To solve the partial differential equations (PDE) is a key difficult point in many scientific and technical problems. With the development of computer performance, numeric solution can solve many sophisticated PDE and visualize the numeric results. Rather than the expensive science computing software, Python is a free object-oriented language, dynamic programming language. Finite difference method (FDM) is widely used for its clear, simple and intuitive. Laplace problem in a rectangular area is solved numerically in the article, computed through FDM with the Numpy library, visualized through plotting the contour by the Matplotlib library, and the number of iteration and the error are given.

Key words: partial difference equation; Python; numeric solution; finite difference method

0 引言

在数学中,偏微分方程是包含多变量和它们的偏导数在内的微分方程。偏微分方程通常被用来求解声、热、静态电场、动态电场、流体、弹性力学或者量子力学方面的问题[1]。这些现象能够被模式化的偏微分方程描述,正如一维动态系统通常会用常微分方程描述。为了更深入地理解上述各种现象,求解偏微分方程成为理解以及解释上述现象的关键。

1 Python及相关模块简介

Python是一种面向对象、动态的程序设计语言。具有非常简洁而清晰的语法,适合完成各种高层任务。它既可用来快速开发程序脚本,也可用来开发大规模的软件。随着Numpy,SciPy,Matplotlib等众多程序库的开发,Python同样适合于做科学计算以及绘制高质量的2D和3D图像。与科学计算领域的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用更广泛,有更多的程序库的支持。

Numpy是使用Python进行科学计算的基础包:①它的基本类型是N-维阵列对象;②提供了功能强大的函数;③可以提供C/C++与Fortran代码的接口;④强大的线性代数计算,傅里叶变换以及随机数计算[2]。SciPy由一系列

偏微分 python_基于Python求解偏微分方程的有限差分法.doc相关推荐

  1. 偏微分方程数值解法python_基于python求解偏微分方程的有限差分法资料

    基于python求解偏微分方程的有限差分法资料 Computer Era No. 11 2016 0 引言 在数学中, 偏微分方程是包含多变量和它们的偏 导数在内的微分方程.偏微分方程通常被用来求解 ...

  2. log python_基于Python log 的正确打开方式

    保存代码到文件:logger.py import os import logbook from logbook.more import ColorizedStderrHandler import sm ...

  3. 匿名函数python_基于python内置函数与匿名函数详解

    内置函数 Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() d ...

  4. 列表解析python_基于Python列表解析(列表推导式)

    列表解析--用来动态地创建列表 [expr for iter_var in iterable if cond_expr] 例子一: map(lambda x: x**2, range(6)) [0, ...

  5. 名片识别信息分类python_基于Python的智能名片识别接口调用代码实例

    基于Python的智能名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib im ...

  6. 快速傅里叶变换python_基于python的快速傅里叶变换FFT(二)

    基于python的快速傅里叶变换FFT(二) 本文在上一篇博客的基础上进一步探究正弦函数及其FFT变换. 知识点 FFT变换,其实就是快速离散傅里叶变换,傅立叶变换是数字信号处理领域一种很重要的算法. ...

  7. 火焰识别python_基于Python的火焰识别程序

    本期介绍一下笔者在试验数据处理时写的一个用于火焰识别的小程序,该小程序的功能是对拍摄到的火焰图像进行提取.增强.降噪和识别,并输出相应处理过的火焰图像以及火焰参数,如传播距离.面积等.该程序基于Pyt ...

  8. 名片识别信息分类python_基于Python的名片识别接口调用代码实例.doc

    基于Python的名片识别接口调用代码实例 代码描述:基于Python的名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import js ...

  9. 管道无损检测python_基于PYTHON的多通道漏磁检测系统设计

    基于 PYTHON 的多通道漏磁检测系统设计 * 李广凯 , 周庆祥 , 肖君武 [摘 要] 针对钢管漏磁检测中存在单通道探头检测效率低,缺陷定量困难,仪 器不便携带等难题,根据漏磁检测原理设计了一套 ...

  10. 可视化平台python_基于Python的可视化数据分析平台设计与实现

    Computer Era No. 12 2017 0 引言 随着云计算.物联网.社交网络等的兴起和数据库技术的成熟,社会中的各类数据正在以前所未有的速度增长.传统的数据处理方式难以发掘出海量数据中所隐 ...

最新文章

  1. Redis性能优化准则!必须遵守的十条军规
  2. 字典对中文字符串进行排序 python_Python基础入门:字符串和字典
  3. c语言程序设计第4版pdf荣政_C语言程序设计(第4版) (史蒂芬.寇肯) 中文pdf扫描版[82MB]...
  4. greenplum 查询出来的数字加减日期_mysql与时间有关的查询
  5. Linux 光盘的挂载和解挂
  6. C#复制文件到指定文件夹
  7. 如何有效的在 LINQ 查询中处理异常?
  8. 你与数据科学家只差这26条python技巧
  9. k8s | 搞不明白为什么大家都在学习 k8s
  10. windows虚拟声卡直播_【韭菜爱镰刀】高性价比的录音/直播设备推荐
  11. 知道焊缝长度如何确定节点板尺寸_悦和分享:最全的关于焊缝无损检测的知识点...
  12. as 使用类模拟枚举类
  13. 64位linux安装mysql数据库吗_linux下怎么安装mysql数据库
  14. 49.把字符串转换成整数
  15. JavaScript基础知识总结(必看篇)
  16. CAP定理以及BASE定理详解
  17. graphpad导出图片不居中_Graphpad如何导出期刊所需图
  18. Hadoop从零开始的搭建(伪分布式)
  19. linux一句话精彩问答(05年新版)
  20. android 更改主题,如何更改android app的颜色主题?

热门文章

  1. 腾讯校招软件测试工程师题库
  2. 51单片机【五】LED点阵屏
  3. 短网址还原的Bookmarklet
  4. 华三交换机配置vrrp_VRRP原理与配置 华为、华三交换机,路由器
  5. 今年过年不送礼,送礼就送......
  6. python aes加密_在不到5分钟的时间内用python编码aes128位加密
  7. 中信路由器关闭虚拟服务器,非常简单的中兴路由器重置方法
  8. 宇宙被超级计算机控制,宇宙被超级计算机控制, 欧空局发现一无法解释痕迹, 根本没有...
  9. [RK3288][Android6.0] 主动从WLAN网络切换到移动数据网络
  10. 输入框常规测试数据用例设计