24小时热门版块排行榜    

CyRhmU.jpeg
查看: 7290  |  回复: 38
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

nnysldrwv

铜虫 (初入文坛)

[交流] 学了一段时间Python用于科学计算的感想已有28人参与

刚开始用的是《Learn Python the Hard Way》,可以说是最啰嗦的面向毫无编程基础的人的教材。同时也看了一点官方的Tutorial,看到很多人推荐一本书《Python科学计算》,所以就买了一本。作者叫张若愚。买了书之后兴高采烈地看了两章,发现没有什么亮点,而且结构很乱。书后面一部分可以说对我完全没有作用,都是在介绍怎样做信号处理之类的。这本书强烈不推荐购买,除非你正好是要用来做信号处理。
    试着用Python编写了三维的FDTD程序,这才体会到Python有多慢,即使用到了NUMPython的库。FDTD里不可避免要用到许多次循环,并且有很多循环嵌套。在这种情况下Python的速度比Matlab要慢很多。我用的是PythonXY包,PythonXY附带很多工具,包括二维三维画图、GUI设计、多种文本编辑器。但是觉得这些工具相对MATLAB来说还欠完善。对于国内用户来说(不介意用MATLAB盗版的话),我觉得科学计算还是用MATLAB更好。对速度有要求的话还是应该用编译语言。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
python循环很慢的。
还是用c写 然后包装成python算了
7楼2012-11-01 07:02:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 39 个回答

tieer

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
那个我也买了一本,确实是看着挺痛苦的。不过python学起来容易,上手快,编程的时候人工的效率也高,好处还是有的。
思考,让这个世界更有趣。
2楼2012-10-30 15:28:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


小木虫: 金币+0.5, 给个红包,谢谢回帖
那本书主要是内容庞杂,结构也相对较乱一些.不过纯搞科学计算,不用直接上pythonxy这么庞大的东西.画图就弄matplotlib库,数值就上numpy,一点点扩展试试.程序写完如果效率欠佳,用profile来看看主要是哪部分代码占用时间较多,可能的话用c重新那部分来提高效率.python作为后起之秀,优点还是很明显的:动态,简洁,上手快;list可以说是所有编程语言(我接触过的)里面最好用的数据结构;安装程序体积小巧...matlab怎么说也是数值计算领域的老牌软件了,不过运行环境已经够大了,好几百个M.

提供一句话profile程序的python代码注意cProfile那个P大写是必须的)
CODE:
e:\codes\python\myModule>python -m cProfile mytictoc.py
2 function calls in 0.002 seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)
1 0.002 0.002 0.002 0.002 mytictoc.py:1()
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}

» 本帖已获得的红花(最新10朵)

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-10-30 17:07:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nnysldrwv

铜虫 (初入文坛)

引用回帖:
4楼: Originally posted by libralibra at 2012-10-30 17:07:18
那本书主要是内容庞杂,结构也相对较乱一些.不过纯搞科学计算,不用直接上pythonxy这么庞大的东西.画图就弄matplotlib库,数值就上numpy,一点点扩展试试.程序写完如果效率欠佳,用profile来看看主要是哪部分代码占用时间 ...

感谢啊! 学到不少
5楼2012-10-30 18:29:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见