| 查看: 7285 | 回复: 38 | ||||||
[交流]
学了一段时间Python用于科学计算的感想已有28人参与
|
||||||
|
刚开始用的是《Learn Python the Hard Way》,可以说是最啰嗦的面向毫无编程基础的人的教材。同时也看了一点官方的Tutorial,看到很多人推荐一本书《Python科学计算》,所以就买了一本。作者叫张若愚。买了书之后兴高采烈地看了两章,发现没有什么亮点,而且结构很乱。书后面一部分可以说对我完全没有作用,都是在介绍怎样做信号处理之类的。这本书强烈不推荐购买,除非你正好是要用来做信号处理。 试着用Python编写了三维的FDTD程序,这才体会到Python有多慢,即使用到了NUMPython的库。FDTD里不可避免要用到许多次循环,并且有很多循环嵌套。在这种情况下Python的速度比Matlab要慢很多。我用的是PythonXY包,PythonXY附带很多工具,包括二维三维画图、GUI设计、多种文本编辑器。但是觉得这些工具相对MATLAB来说还欠完善。对于国内用户来说(不介意用MATLAB盗版的话),我觉得科学计算还是用MATLAB更好。对速度有要求的话还是应该用编译语言。 |
» 收录本帖的淘帖专辑推荐
多孔材料 | 自己有用的 | python学习 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
python之蟒开启理论计算化学的新时代
已经有22人回复
求教做数值计算学什么语言?Fortran?C?Python?
已经有24人回复
建议开一个python做科学计算的版块
已经有6人回复
Python科学计算-随书光盘资源
已经有109人回复
【非完整版】用Python做科学计算,Python科学计算
已经有119人回复
《python科学计算》已经出版了
已经有36人回复
【原创】python 写的计算 PCA 的小脚本
已经有4人回复
【原创】科学计算与绘图--python解决方案
已经有27人回复
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+5, 回帖也精彩 2013-09-23 14:18:02
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+5, 回帖也精彩 2013-09-23 14:18:02
|
我是《Python科学计算》的作者,首先我对于本书内容编排上对读者造成的不便表示抱歉。 这本书虽然读起来会比较费劲,但是应该还是算作一本入门的教材。其中介绍了我工作中经常会用到的一些扩展库,如果你真想用这些扩展库做一些实际的工作,那么书中所介绍的那些内容是会经常遇到的。 这本书的编写我花了两年多的时间,通过阅读不够完整的英文文档、写测试程序甚至分析源代码,我逐步了解了这些扩展库的用法。所以书中的内容会比较繁杂。建议读者在阅读的时候,可以先通读一遍,了解Python的哪个扩展库可以实现哪些功能。等到实际运用时,再逐步细读。 例如,在书中就不止一次提到Python循环慢的问题。解决方案之一是可以用NumPy。但是对NumPy的ndarray做单个数值的运算,其速度会比使用Python标准对象更慢。 那么解决方案就是上C语言,在后面的章节有介绍如何用weave、SWIG以及Cython等进行编译提速。 我记得MATLAB也是解释运行的,速度一样很慢。好像最近增加了JIT功能,在一些简单的循环运算方面提速了不少。 目前Python要做类似的事情最佳方案就是Cython了,不过最近出来的Numba也支持JIT功能,将针对ndarray的循环运算提速上百倍。所以Python世界的解决方案会越来越丰富。 至于书中为什么会有许多信号处理方面的内容。在我的实际工作中,会经常遇到这样的问题。例如从传感器获得的数据剔除噪声,分析信号的频谱。我想这样的内容对于许多搞工程的都用得上。 正如《learn python the hard way》一样,要学好一样东西,并真正派上用场需要大量的练习和实践。因此读者不能指望这本书能完全解决你遇到的问题。它只能带你进门,看看Python世界的精彩,是否要深入下去,就取决于读者自己了。 |
13楼2012-11-03 12:41:15
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
|
那本书主要是内容庞杂,结构也相对较乱一些.不过纯搞科学计算,不用直接上pythonxy这么庞大的东西.画图就弄matplotlib库,数值就上numpy,一点点扩展试试.程序写完如果效率欠佳,用profile来看看主要是哪部分代码占用时间较多,可能的话用c重新那部分来提高效率.python作为后起之秀,优点还是很明显的:动态,简洁,上手快;list可以说是所有编程语言(我接触过的)里面最好用的数据结构;安装程序体积小巧...matlab怎么说也是数值计算领域的老牌软件了,不过运行环境已经够大了,好几百个M. 提供一句话profile程序的python代码 注意cProfile那个P大写是必须的) |
» 本帖已获得的红花(最新10朵)

4楼2012-10-30 17:07:18
22楼2013-06-26 09:17:28
tieer
木虫 (正式写手)
- 程序强帖: 4
- 应助: 48 (小学生)
- 金币: 1528.2
- 散金: 565
- 红花: 26
- 帖子: 551
- 在线: 739.7小时
- 虫号: 761880
- 注册: 2009-05-02
- 专业: 高分子材料结构与性能

2楼2012-10-30 15:28:27
送鲜花一朵
![]() |
3楼2012-10-30 16:08:20
5楼2012-10-30 18:29:22
dedream
木虫 (正式写手)
- 应助: 4 (幼儿园)
- 金币: 6987.7
- 散金: 27
- 红花: 3
- 帖子: 651
- 在线: 330.8小时
- 虫号: 317450
- 注册: 2007-03-04
- 专业: 石油、天然气地质学

6楼2012-10-30 20:56:34
wangww2011
木虫 (著名写手)
- 程序强帖: 13
- 应助: 11 (小学生)
- 金币: 4023.1
- 散金: 2709
- 红花: 18
- 沙发: 1
- 帖子: 1915
- 在线: 1537.1小时
- 虫号: 772953
- 注册: 2009-05-17
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
7楼2012-11-01 07:02:59
larkin187
铁杆木虫 (小有名气)
- 应助: 2 (幼儿园)
- 金币: 9951.9
- 帖子: 295
- 在线: 395.7小时
- 虫号: 486960
- 注册: 2007-12-28
- 性别: GG
- 专业: 遥感机理与方法
8楼2012-11-01 08:48:40
dedream
木虫 (正式写手)
- 应助: 4 (幼儿园)
- 金币: 6987.7
- 散金: 27
- 红花: 3
- 帖子: 651
- 在线: 330.8小时
- 虫号: 317450
- 注册: 2007-03-04
- 专业: 石油、天然气地质学

9楼2012-11-01 09:08:20
philiper
铁杆木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 6469.1
- 散金: 50
- 帖子: 758
- 在线: 310.9小时
- 虫号: 359253
- 注册: 2007-04-29
- 性别: GG
- 专业: 工程热物理与能源利用
10楼2012-11-02 20:58:49













回复此楼
注意cProfile那个P大写是必须的)