翼度科技»论坛 编程开发 python 查看内容

Python工程和科学计算1简介

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
1 简介

本章简要介绍了Python编程语言的可扩展性、应用领域和功能。
如果您需要在科学工作中进行大量计算,并希望以图形化的方式呈现计算结果,那么您应该认真考虑使用 Python。Python 是一种编程语言,其功能与 MATLAB相似, 且是科学计算目前用户最多的首选语言。
1.1 开发环境

1.1.1 IDLE(不推荐使用)

IDLE是一个非常适合Python初学者的IDE。它简单易用,功能齐全,为初学者提供了良好的学习和开发环境。但是,对于大型项目或有较高性能要求的开发者来说,可能需要考虑使用更专业的IDE。

1.1.2 Thonny

Thonny 适用于 Linux、macOS 和 Windows,可从 https://thonny.org 下载。

程序源代码必须输入文本编辑器(左上角区域)。通过 (F5) 功能键或单击 “开始 ”按钮启动程序后,将打开一个窗口,输入程序的文件名。数值计算的结果会在 Python 外壳左下角的命令行窗口中输出。Matplotlib 程序的每个函数图都会在单独的窗口中输出。在 shell(也称为 Python 控制台)中,您还可以直接输入 Python 命令。主窗口右侧的 “助手 ”可以帮助您排除故障,不过您应该降低对其功能的期望值。
Thonny 的一个特别重要的功能是可以轻松安装和更新 NumPy、Matplotlib、SymPy、SciPy 和 VPython 模块。您只需打开 “工具”-“管理包 ”对话框即可完成这些任务。然后,在左上角的文本框中输入要安装的模块名称,点击安装或更新。

要删除模块,必须在左侧窗格中选择相应模块。然后,“卸载 ”命令按钮会出现在 “安装 ”命令按钮的右侧。Thonny 软件包管理器的一个显著优势是,您还可以测试所有可用模块的旧版本。要完成这项任务,只需点击安装按钮右侧的...命令图标,就会打开一个窗口,在其中选择所需的模块版本。
Thonny很适合嵌入式MicroPython开发。
1.1.3 Spyder


Spyder 可在 https://www.spyder-ide.org 免费下载,适用于 Linux、macOS 和 Windows。
要使用 Matplotlib 程序运行动画,必须在 IPython 控制台 - 图形下的设置中选择自动作为后端。启动程序后,将打开一个单独的窗口来运行动画。包含滑块控件的 Matplotlib 程序也只能通过该选项交互执行。
1.1.4 pip

pip允许您轻松下载和更新模块--当您使用 Python 时,Pip 是一个特别重要的工具。
例如,如果您已经安装了 Python,但只想添加 NumPy 模块,您可以在 Windows、Linux 或 macOS 的终端中输入以下命令:
  1. pip install numpy
复制代码
使用以下命令可以更新现有的 NumPy 安装:
  1. pip install --upgrade numpy
复制代码
1.1.5 Visual Studio Code

Visual Studio Code(简称 VS Code)是一款非常受欢迎的轻量级代码编辑器,支持多种编程语言,包括 Python。VS Code 提供了许多强大的功能,如智能感知(IntelliSense)、调试、Git 集成等,非常适合 Python 开发。

1.1.6 Cursor

基于Visual Studio Code的AI增强IDE:

1.1.7 Wing IDE

Wing IDE(商业软件)是一款专为 Python 编程设计的集成开发环境 (IDE)。它提供了一套全面的工具,旨在帮助 Python 开发者提高效率和代码质量。

1.1.8 PyCharm

PyCharm(商业软件)是由 JetBrains 公司开发的一款专为 Python 编程语言打造的集成开发环境 (IDE)。它提供了丰富的工具和功能,旨在帮助 Python 开发者更高效地编写、调试和维护代码。
功能强大,但是使用的是java语言开发,有点笨重。

参考资料

1.2 Python 的模块

为了让我们初步了解 Python 中模块概念的能力和特性,我首先想用类似关键字的方式来描述五个模块。通常使用库或软件库来代替模块。使用简短的示例程序最能说明 Python 的功能。当然,您还不需要理解本节所示的源代码。毕竟,理解才是其他章节的目的。
1.2.1 NumPy


  • 简单的向量微积分程序。
  1. import numpy as np
  2. A=np.array([1, 2, 3])
  3. B=np.array([4, 5, 6])
  4. print("Vector A:",A)
  5. print("Vector B:",B)
  6. print("Total A+B:",A+B)
  7. print("Product A*B:",A*B)
  8. print("Cross product :",np.cross(A,B))
  9. print("Scalar product:",np.dot(A,B))
复制代码
执行结果:
  1. Vector A: [1 2 3]
  2. Vector B: [4 5 6]
  3. Total A+B: [5 7 9]
  4. Product A*B: [ 4 10 18]
  5. Cross product : [-3  6 -3]
  6. Scalar product: 32
复制代码

  • 叉积(Cross product)
叉积,也称为向量积或外积,是一种在三维空间中定义的向量运算。它接受两个向量作为输入,并产生一个新的向量作为输出。这个新向量垂直于输入的两个向量所构成的平面,其方向由右手定则确定。


  • 标量积(Scalar product)
标量积,也称为点积(Dot product)或内积(Inner product),是一种接受两个等长的数字序列(通常是坐标向量),并返回一个单一数字(标量)的代数运算。

1.2.2 Matplotlib


  • 多项式函数图的简单示例。
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. x=np.arange(-2,6,0.01)
  4. y=x**3-7*x**2+7*x+15
  5. plt.plot(x,y)
  6. plt.show()
复制代码

1.2.3 SymPy


  • 符号微分和积分的简单示例。
  1. from sympy import *
  2. x=symbols("x")
  3. y=x**3-7*x**2+7*x+15
  4. y_1=diff(y,x,1)
  5. y_2=diff(y,x,2)
  6. y_3=diff(y,x,3)
  7. Y=integrate(y,x)
  8. print("1. Derivative:",y_1)
  9. print("2. Derivative:",y_2)
  10. print("3. Derivative:",y_3)
  11. print(" Integral :",Y)
复制代码
执行结果:
  1. 1. Derivative: 3*x**2 - 14*x + 7
  2. 2. Derivative: 2*(3*x - 7)
  3. 3. Derivative: 6
  4. Integral : x**4/4 - 7*x**3/3 + 7*x**2/2 + 15*x
复制代码

  • 导数(Derivative)
导数是微积分中的一个基本概念,它表示函数在某一点处的变化率。通俗来说,导数告诉我们函数在这一点上是变大、变小还是保持不变,以及变化的速度有多快。

1.2.4 SciPy

使用 SciPy 进行数值积分
  1. import scipy.integrate as integral
  2. def f(x):
  3.     return x**2
  4. A=integral.quad(f,0,5)
  5. print("Area A=",A[0])
复制代码
输出
  1. Area A= 41.66666666666666
复制代码
第 6 章将介绍 SciPy 模块。
1.2.5 VPython

使用 VPython编写弹跳球动画的示例。
  1. import scipy.integrate as integral
  2. def f(x):
  3.     return x**2
  4. A=integral.quad(f,0,5)
  5. print("Area A=",A[0])
复制代码
输出
  1. Area A= 41.66666666666666
复制代码
第 7 章将介绍 VPython 模块。当然,我们提到的 Python 模块的所有功能并不能在本书中详尽阐述。如果您错过了某个特定主题,我建议您参考在线文档作为补充信息来源。

1.3 如何阅读本书?

如何阅读本书?基本上,你可以独立阅读各个章节。如果您已经了解 Python 的基本结构,那么可以跳过第 2 章。如果刚刚开始学习,则必须先阅读这一章,这是理解后续章节的前提。
我们的讲解和知识传授方法基于一个统一的原则: 每个主题都会介绍一至三个来自电气工程、机械工程或物理学的实例。在简要介绍任务之后,打印出完整的源代码。在源代码之后,直接进行输出(计算结果)。然后对源代码进行讨论和分析。
我们对源代码的分析还包括对结果(输出)的分析。结果是否符合预期?程序是否完全解决了设定的任务?通常情况下,只有在仔细查看输出结果后,你才能完全理解程序的源代码。查看输出结果后,你可以再次分析源代码。
在每章的最后,都会提供一个或多个项目任务,并对其进行讨论和全面解决,以巩固和拓展该章所学内容。

来源:https://www.cnblogs.com/testing-/p/18399527
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具