分类:
2011-11-22 09:59:48
var $tag='python,科学计算,杂谈'; var $tag_code='115d1617a198f82683a76a623614079e'; var $r_quote_bligid='4b5039210100mrdl'; var $worldcup='0'; var $worldcupball='0'; 标签: python 科学计算 杂谈 | 分类: Python |
还在为用破解Matlab而担心么?其实Python能做的也不少,而且是免费的。
通过这个网站可以直接运行《用Python做科学计算》书中的演示程序,目前刚刚开始添加内容,准备把书中能在线演示的程序都陆续添加进去。
下面是《用Python做科学计算》的在线演示的地址。
部分演示需要用户输入Python程序,目前还不知道是否能绝对安全地执行用户所输入的程序。另外,有些演示比较耗时,如果运行过于频繁,服务器可能会停止响应。
最后,《用Python做科学计算》一书的编写工作目前已经接近尾声。为了增加读者数量,最近正忙着制作演示网站和视频教程。下面是一些和本书相关的链接地址:
------------------------------------------------------------
在线演示:
实例程序集:
公开版地址:
回答问卷调查获取最新试读版:http://hyry.dip.jp/blogt.py?file=0406.blog
哲思论坛:
视频下载:
视频电驴下载:
土豆网视频:
一个小例子:
IIR滤波器设计
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. |
# -*- coding: utf-8 -*- import numpy as np from scipy import signal wp = np.array(wp)/(rate/2.0) ws = np.array(ws)/(rate/2.0) b, a = signal.iirdesign(wp, ws, gpass, gstop, ftype=ftype) z, p, k = signal.tf2zpk(b, a) w, h = signal.freqz(b, a) power = 20*np.log10(np.clip(np.abs(h), 1e-8,1e100)) f = w/np.pi*rate import matplotlib.pyplot as plt fig = plt.figure(figsize=(8,8)) ax1 = fig.add_subplot(211) ax1.semilogx(f, power) ax1.set_xlabel(u"频率(Hz)") ax1.set_ylabel(u"增益(dB)") ax2 = fig.add_subplot(212) ax2.semilogx(f, np.angle(h)) ax2.set_xlabel(u"频率(Hz)") ax2.set_ylabel(u"相角(弧度)") results =[ #("参数", (wp, ws, gpass, gstop, ftype)), ("b和a", textarea(b,a,"b,a")), ("z, p, k", textarea(z,p,k,"z,p,k")), ("频率响应图", fig) ]
|