标签分类
当前位置:首页 > > Python应用电子书网盘下载
Python物理学高效计算 Python物理学高效计算
码小辫

码小辫 提供上传

资源
35
粉丝
40
喜欢
55
评论
8

    Python物理学高效计算 PDF 全书扫描版

    Python应用电子书
    • 发布时间:

    给大家带来的一篇关于Python应用相关的电子书资源,介绍了关于Python、物理学、高效计算方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小6.6 MB,安东尼·斯科普斯编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.4

  • Python物理学高效计算 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1ZZayD6crrWKyw4-MvA_jhw
  • 分享码:i383
  • Python物理学高效计算

    Python物理学高效计算电子书封面

    读者评价

    通过阅读本书,读者会学到如何用Python编程语言收集、分析数据,构建软件,发布结果等技能。

    内容简洁 全面 对于学物理 化学的人们从事应用开发和科学计算有帮助

    这本书感觉对工程技术人员帮助较大,值得一看

    本书介绍了如何通过Python自动化地完成物理领域方面的研究。全书共分为4个部分,以Python代码为示例向读者介绍了如何用Python解决物理项目中出现的各种问题。

    内容介绍

    本书介绍了如何通过Python自动化地完成物理领域方面的研究。全书共分为4个部分,以Python代码为示例向读者介绍了如何用Python解决物理项目中出现的各种问题。第 1部分(第 1~6章):起步,介绍Python的基本知识,如命令行、数据容器、类和对象等。第 2部分(第7~13章):上手,主要介绍正则表达式、数据可视化、存储数据等实用知识。第3部分(第 14~18章):完善,介绍如何构建流程和软件、版本控制、调试和控制代码等。第4部分(第 19~23章):发布,介绍如何为代码生成文档、如何提高协作效率和软件许可证以及版权的相关知识等。
    本书适合想要通过Python减少工作量的物理学领域的研究人员阅读,也适合想要学习如何通过Python编程解决物理问题的读者参考。

    内容节选

    利用python求解物理学中的双弹簧质能系统详解

    物理的模型如下:

    在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。

    由于两物体有重力,那么在平面上形成摩擦力,那么摩擦系数分别为b1和b2。所以可以把微分方程写成这样:

    这是一个二阶的微分方程,为了使用python来求解,需要把它转换为一阶微分方程。所以引入下面两个变量:

    这两个相当于运动的速度。通过运算可以改为这样:

    这时可以线性方程改为向量数组的方式,就可以使用python定义了

    代码如下:

    # Use ODEINT to solve the differential equations defined by the vector field 
    from scipy.integrate import odeint 
     
    def vectorfield(w, t, p): 
     """ 
     Defines the differential equations for the coupled spring-mass system. 
     
     Arguments: 
      w : vector of the state variables: 
         w = [x1,y1,x2,y2] 
      t : time 
      p : vector of the parameters: 
         p = [m1,m2,k1,k2,L1,L2,b1,b2] 
     """ 
     x1, y1, x2, y2 = w 
     m1, m2, k1, k2, L1, L2, b1, b2 = p 
     
     # Create f = (x1',y1',x2',y2'): 
     f = [y1, 
       (-b1 * y1 - k1 * (x1 - L1) + k2 * (x2 - x1 - L2)) / m1, 
       y2, 
       (-b2 * y2 - k2 * (x2 - x1 - L2)) / m2] 
     return f 
     
    # Parameter values 
    # Masses: 
    m1 = 1.0 
    m2 = 1.5 
    # Spring constants 
    k1 = 8.0 
    k2 = 40.0 
    # Natural lengths 
    L1 = 0.5 
    L2 = 1.0 
    # Friction coefficients 
    b1 = 0.8 
    b2 = 0.5 
     
    # Initial conditions 
    # x1 and x2 are the initial displacements; y1 and y2 are the initial velocities 
    x1 = 0.5 
    y1 = 0.0 
    x2 = 2.25 
    y2 = 0.0 
     
    # ODE solver parameters 
    abserr = 1.0e-8 
    relerr = 1.0e-6 
    stoptime = 10.0 
    numpoints = 250 
     
    # Create the time samples for the output of the ODE solver. 
    # I use a large number of points, only because I want to make 
    # a plot of the solution that looks nice. 
    t = [stoptime * float(i) / (numpoints - 1) for i in range(numpoints)] 
     
    # Pack up the parameters and initial conditions: 
    p = [m1, m2, k1, k2, L1, L2, b1, b2] 
    w0 = [x1, y1, x2, y2] 
     
    # Call the ODE solver. 
    wsol = odeint(vectorfield, w0, t, args=(p,), 
        atol=abserr, rtol=relerr) 
     
    with open('two_springs.dat', 'w') as f: 
     # Print & save the solution. 
     for t1, w1 in zip(t, wsol):   
      out = '{0} {1} {2} {3} {4}\n'.format(t1, w1[0], w1[1], w1[2], w1[3]); 
      print(out) 
      f.write(out); 

    在这里把结果输出到文件two_springs.dat,接着写一个程序来把数据显示成图片,就可以发表论文了,代码如下:

    # Plot the solution that was generated 
     
    from numpy import loadtxt 
    from pylab import figure, plot, xlabel, grid, hold, legend, title, savefig 
    from matplotlib.font_manager import FontProperties 
     
    t, x1, xy, x2, y2 = loadtxt('two_springs.dat', unpack=True) 
     
    figure(1, figsize=(6, 4.5)) 
     
    xlabel('t') 
    grid(True) 
    lw = 1 
     
    plot(t, x1, 'b', linewidth=lw) 
    plot(t, x2, 'g', linewidth=lw) 
     
    legend((r'$x_1$', r'$x_2$'), prop=FontProperties(size=16)) 
    title('Mass Displacements for the\nCoupled Spring-Mass System') 
    savefig('two_springs.png', dpi=100) 

    最后来查看一下输出的png图片如下:

    目录

    • 第 一部分 起步
    • 第 1章 命令行简介 3
    • 1.1 Shell概览 3
    • 1.1.1 Shell是 一 款编程
    • 语言 4
    • 1.1.2 路径和pwd 5
    • 1.1.3 主目录(~) 7
    • 1.1.4 列出内容(ls) 8
    • 1.1.5 更改目录(cd) 9
    • 1.1.6 查看文件内容(head
    • 和tail命令) 12
    • 1.2 操作文件和目录 12
    • 1.2.1 创建文件(nano、emacs、
    • vi、cat、>、
    • touch) 12
    • 1.2.2 复制和重命名文件
    • (cp和mv) 17
    • 1.2.3 创建目录
    • (mkdir) 18
    • 1.2.4 删除文件和目录
    • (rm) 19
    • 1.2.5 标志和通配符 21
    • 1.3 获取帮助 22
    • 1.3.1 阅读程序手册
    • (man) 22
    • 1.3.2 找到正确的
    • 工具(apropos) 24
    • 1.3.3 用重定向和管道组合
    • 多个实用程序
    • (>、>>、|) 25
    • 1.4 权限和共享 26
    • 1.4.1 查看权限(ls –l) 27
    • 1.4.2 设置所有权 28
    • 1.4.3 设置权限
    • (chmod) 29
    • 1.4.4 创建链接(ln) 29
    • 1.4.5 连接其他计算机
    • (ssh和scp) 30
    • 1.5 环境 31
    • 1.5.1 保存环境变量
    • (.bashrc) 33
    • 1.5.2 运行程序
    • (PATH) 34
    • 1.5.3 别名命令
    • (alias) 35
    • 1.6 使用bash编写脚本 36
    • 1.7 本章小结 38
    • 第 2章 Python编程起步 39
    • 2.1 运行Python 40
    • 2.2 注释 41
    • 2.3 变量 42
    • 2.4 特殊变量 44
    • 2.4.1 布尔值 44
    • 2.4.2 None不是0! 45
    • 2.4.3 NotImplemented
    • 不是None! 45
    • 2.5 操作符 45
    • 2.6 字符串 49
    • 2.6.1 字符串索引 50
    • 2.6.2 字符串连接 52
    • 2.6.3 字符串字面值 53
    • 2.6.4 字符串方法 55
    • 2.7 模块 56
    • 2.7.1 导入模块 56
    • 2.7.2 从模块中导入
    • 变量 57
    • 2.7.3 别名导入 58
    • 2.7.4 导入变量别名 58
    • 2.7.5 包 59
    • 2.7.6 标准库和Python
    • 生态系统 61
    • 2.8 本章小结 62
    • 第3章 基本容器 63
    • 3.1 列表 64
    • 3.2 元组 68
    • 3.3 集合 69
    • 3.4 字典 71
    • 3.5 本章小结 73
    • 第4章 流程控制和逻辑运算 75
    • 4.1 条件语句 75
    • 4.1.1 if-else语句 78
    • 4.1.2 if-elif-else语句 79
    • 4.1.3 if-else表达式 80
    • 4.2 异常 80
    • 4.2.1 抛出异常 81
    • 4.3 循环 83
    • 4.3.1 while循环 83
    • 4.3.2 for循环 85
    • 4.3.3 解析式 87
    • 4.4 本章小结 90
    • 第5章 使用函数 91
    • 5.1 Python中的函数 91
    • 5.2 关键字参数 94
    • 5.3 变长参数 96
    • 5.4 多返回值 98
    • 5.5 作用域 99
    • 5.6 递归 102
    • 5.7 lambda 103
    • 5.8 生成器 104
    • 5.9 装饰器 107
    • 5.10 本章小结 110
    • 第6章 类和对象 112
    • 6.1 面向对象 112
    • 6.2 对象 113
    • 6.3 类 117
    • 6.3.1 类变量 118
    • 6.3.2 实例变量 120
    • 6.3.3 构造器 121
    • 6.3.4 方法 123
    • 6.3.5 静态方法 126
    • 6.3.6 鸭子类型 127
    • 6.3.7 多态 128
    • 6.4 装饰器和元类 132
    • 6.5 本章小结 134
    • 第 2部分 上手
    • 第7章 分析和可视化 139
    • 7.1 准备数据 139
    • 7.1.1 实验数据 143
    • 7.1.2 模拟数据 144
    • 7.1.3 元数据 145
    • 7.2 载入数据 145
    • 7.2.1 NumPy 146
    • 7.2.2 PyTables 147
    • 7.2.3 Pandas 147
    • 7.2.4 Blaze 148
    • 7.3 清理和改写数据 149
    • 7.4 分析 153
    • 7.4.1 模型驱动的分析 154
    • 7.4.2 数据驱动的分析 155
    • 7.5 可视化 156
    • 7.5.1 可视化工具 157
    • 7.5.2 gnuplot 158
    • 7.5.3 matplotlib 160
    • 7.5.4 Bokeh 165
    • 7.5.5 Inkscape 167
    • 7.6 本章小结 167
    • 第8章 正则表达式 169
    • 8.1 示例:杂乱的磁性 170
    • 8.2 命令行中的元字符 171
    • 8.2.1 用简单的模式
    • 列出文件 172
    • 8.2.2 根据模式全局查找
    • 文件名(find) 173
    • 8.3 grep、sed、awk 179
    • 8.4 在文件中查找模式
    • (grep) 179
    • 8.5 在文件中查找和替换
    • (sed) 181
    • 8.5.1 查找和替换复杂
    • 模式 183
    • 8.5.2 sed额外内容 184
    • 8.6 处理数据列(awk) 186
    • 8.7 Python正则表达式 188
    • 8.8 本章小结 190
    • 第9章 NumPy:以数组的形式
    • 思考 192
    • 9.1 数组 193
    • 9.2 dtype 195
    • 9.3 切片和视图 198
    • 9.4 算术和广播 200
    • 9.5 花式索引 204
    • 9.6 掩模 206
    • 9.7 结构数组 209
    • 9.8 通用函数 211
    • 9.9 其他有用的函数 213
    • 9.10 本章小结 215
    • 第 10章 数据存储:文件和
    • HDF5 216
    • 10.1 Python中的文件 217
    • 10.2 关于计算机架构的一些说明 221
    • 10.3 HDF5中的重要思想 223
    • 10.4 文件处理 225
    • 10.5 层次布局 227
    • 10.6 分块 229
    • 10.7 核内和核外操作 233
    • 10.7.1 核内 233
    • 10.7.2 核外 234
    • 10.8 查询 235
    • 10.9 压缩 236
    • 10.10 HDF5工具 237
    • 10.11 本章小结 239
    • 第 11章 物理中重要的数据
    • 结构 240
    • 11.1 散列表 240
    • 11.1.1 调整大小 242
    • 11.1.2 冲突 243
    • 11.2 数据框 245
    • 11.2.1 Series 246
    • 11.2.2 DataFrame结构 247
    • 11.3 B数 250
    • 11.4 k-d树 252
    • 11.5 本章小结 256
    • 第 12章 并行化执行 258
    • 12.1 规模和扩展能力 259
    • 12.2 问题分类 261
    • 12.3 示例:N体问题 262
    • 12.4 非并行 263
    • 12.5 线程 267
    • 12.6 多处理 273
    • 12.7 MPI 276
    • 12.8 本章小结 281
    • 第 13章 软件部署 283
    • 13.1 部署软件本身 284
    • 13.1.1 pip 285
    • 13.1.2 Conda 289
    • 13.1.3 虚拟机 292
    • 13.1.4 Docker 293
    • 13.2 部署到云端 297
    • 13.3 在超算上部署 299
    • 13.4 本章小结 300
    • 第3部分 完善
    • 第 14章 构建流程和软件 305
    • 14.1 make 306
    • 14.1.1 运行make 308
    • 14.1.2 makefile 308
    • 14.1.3 目标 309
    • 14.1.4 特殊目标 311
    • 14.2 构建和运行软件 312
    • 14.2.1 Makefile配置 313
    • 14.2.2 编译 316
    • 14.3 安装 316
    • 14.4 本章小结 317
    • 第 15章 本地版本控制 318
    • 15.1 什么是版本控制 318
    • 15.1.1 计算物理中的
    • 实验室笔记本 319
    • 15.1.2 版本控制工具的
    • 类型 320
    • 15.2 Git起步 320
    • 15.2.1 安装Git 321
    • 15.2.2 获取帮助 321
    • 15.2.3 控制Git的行为
    • (git config) 322
    • 15.3 使用Git进行本地版本
    • 控制 323
    • 15.3.1 创建本地库
    • (git init) 323
    • 15.3.2 暂存文件 325
    • 15.3.3 检查本地副本的状态
    • (git status) 326
    • 15.3.4 保存快照
    • (git commit) 326
    • 15.3.5 git log:查看
    • 历史 329
    • 15.3.6 查看改动
    • (git diff) 329
    • 15.3.7 取消暂存或回滚文件
    • (git reset) 330
    • 15.3.8 丢弃提交
    • (git revert) 331
    • 15.3.9 列出、创建、删除分
    • 支(git branch) 332
    • 15.3.10 切换分支
    • (git checkout) 334
    • 15.3.11 合并分支
    • (git merge) 334
    • 15.3.12 处理冲突 336
    • 15.4 本章小结 336
    • 第 16章 远程版本控制 337
    • 16.1 代码托管(github.com) 337
    • 16.2 在GitHub上创建
    • 代码库 339
    • 16.3 声明远程库
    • (git remote) 339
    • 16.4 向远程库发送提交
    • (git push) 340
    • 16.5 下载代码库
    • (git clone) 341
    • 16.6 从远程库获取内容
    • (git fetch) 344
    • 16.7 合并远程库的内容
    • (git merge) 345
    • 16.8 Pull等于Fetch加Merge
    • (git pull) 345
    • 16.9 冲突 346
    • 16.10 解决冲突 347
    • 16.11 本章小结 348
    • 第 17章 调试 350
    • 17.1 遇到一个bug 351
    • 17.2 print语句 352
    • 17.3 交互式调试 354
    • 17.4 在Pythong中调试
    • (pdb) 355
    • 17.4.1 设置跟踪点 356
    • 17.4.2 步进 357
    • 17.4.3 查询变量 358
    • 17.4.4 设置状态 358
    • 17.4.5 运行函数和
    • 方法 359
    • 17.4.6 继续执行 359
    • 17.4.7 断点 360
    • 17.5 剖析 360
    • 17.5.1 使用pstats查看
    • 剖析文件 361
    • 17.5.2 可视化查看剖析
    • 信息 361
    • 17.5.3 使用Kernprof剖析
    • 代码 364
    • 17.6 linting 365
    • 17.7 本章小结 366
    • 第 18章 测试 368
    • 18.1 为什么要做测试 369
    • 18.2 什么时候写测试 369
    • 18.3 在哪里编写测试 370
    • 18.4 如何测试?测试哪些
    • 内容 370
    • 18.5 运行测试 373
    • 18.6 边界情形 374
    • 18.7 单元测试 376
    • 18.8 集成测试 378
    • 18.9 回归测试 380
    • 18.10 测试生成器 380
    • 18.11 测试覆盖 382
    • 18.12 测试驱动开发 383
    • 18.13 本章小结 386
    • 第4部分 发布
    • 第 19章 文档 389
    • 19.1 为什么文档很重要 389
    • 19.1.1 文档非常有价值 390
    • 19.1.2 编写文档比想象的
    • 要简单 390
    • 19.2 文档类型 391
    • 19.2.1 理论手册 391
    • 19.2.2 用户和开 发 者
    • 指南 392
    • 19.2.3 readme文件 392
    • 19.2.4 注释 393
    • 19.2.5 自文档代码 395
    • 19.2.6 文档字符串 396
    • 19.3 自动化 397
    • 19.4 本章小结 401
    • 第 20章 出版 402
    • 20.1 文档处理 403
    • 20.1.1 格式和内容
    • 分离 403
    • 20.1.2 跟踪改动 404
    • 20.2 文本编辑器 404
    • 20.3 标记语言 405
    • 20.3.1 LaTeX 406
    • 20.3.2 参考文献 416
    • 20.4 本章小结 419
    • 第 21章 协作 421
    • 21.1 任务单系统 422
    • 21.1.1 工作流程概览 422
    • 21.1.2 创建问题 424
    • 21.1.3 分配问题 425
    • 21.1.4 讨论问题 426
    • 21.1.5 关闭问题 427
    • 21.2 拉取请求和代码审查 427
    • 21.2.1 提交拉取请求 428
    • 21.2.2 审查合并请求 428
    • 21.2.3 合并拉取请求 429
    • 21.3 本章小结 429
    • 第 22章 许可证、所有权和
    • 版权 430
    • 22.1 哪些内容可赋予版权 431
    • 22.2 首 次发布权 431
    • 22.3 什么是公共领域 432
    • 22.4 选择一个软件许可证 432
    • 22.5 伯克利软件发布
    • 许可证(BSD) 434
    • 22.6 GNU General Public
    • License (GPL) 436
    • 22.7 知识共享(CC) 437
    • 22.8 其他许可证 438
    • 22.9 更换许可证 440
    • 22.10 版权不是一切 441
    • 22.11 本章小结 442
    • 第 23章 关于计算物理进一步
    • 思考 443
    • 术语 447

    上一篇:Docker容器技术与应用  下一篇:机器人制作入门

    展开 +

    收起 -

    Python应用相关电子书
    学习笔记
    网友NO.32267
    网友NO.32267

    相信大多人在学习Python之前 肯定都自己了解过这门语言,也知道Python有很多的学习方向,比如说数据采集方向(爬虫),或者Web开发方向,也可能是最近特别火热的人工智能方向。每个方向所需要的技术都是不尽相同的,所以在我们学习完成Python的基础语法之后,一定要慎重选择自己之后的进阶方向。

    网友NO.33001
    网友NO.33001

    Python 作为一个近年备受好评的语言,它的一些优点让人无法忽视。
    代码简洁、可移植性强、可代入c,c++语言,或自身作为包供其他语言使用。复制代码不必考虑转义直接就能运行,这些都是他的优势。
    python的数据类型和大多语言相似,创建变量却很简单,无需显示创建,直接变量名加类型表示,如“”、‘’都表示创建字符串,数字表示integral,加.表示float,false、true表示布尔类型。
    和数组相似的列表,并且其值可以是不同类型。不可修改值但可以合并的元组。键值一一对应的字典。
    删除变量用del关键字。
    输出语句的关键字是:Print,使用方法是Print “内容”,变量;
    运算符多了几个如:幂运算符(**),and'or'not,in'notin,is'isnot,另外**运算符的优先级最高。

    网友NO.35947
    网友NO.35947

    涉及物理科研工作者可能要用到得一系列工具,不仅仅是Python,还有Shell,Git,LaTex等(感觉非物理专业的科研工作者也能用上啊)。挺全面的,但限于篇幅很多东西当然只能点到为止。///出版社真精明,英文原版书籍题名根本没有Python的字样

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明