[ 转]放弃MATLAB!简述winpython为什么比MATLAB更方便
2017-08-29 23:05
232 查看
转自:http://www.cnblogs.com/starimpact/p/3526146.html
费了几天功夫,终于将Python科学计算工具winpython给熟悉了个大概,基本满足自己的需要了。费话不多说,马上讲解决一下为什么python如此让人着迷:
1.下载
Python的IDE发行版有很多,不过,最常用的是winpython,它轻巧,包含了常用的科学计算工具包numpy,scipy,sklearn,matplotlib,还有可以调用C动态库的扩展包ctypes,更好的是它有32位和64位,我是经常需要用到超过4G的内存,所以我选择了64位版本。
下截地址:http://sourceforge.net/projects/winpython
2.工具包简介
winpython实际上是整合了IDE工具spyder和一些科学计算包,默认包含了以下工具包,有了这些工具包,完全可以替代MATLAB做科学计算:
numpy,scipy:数值计算工具包,里面我含了各种矩阵算,MATLAB有的,它基本上都有。不过,里面有array和matrix两种类型,最好是用array类型的,因为它的功能最全,大部分函数处理的类型都是array。scipy实际上包含了numpy的功能,并且还有2D绘图子工具包pylab,里面的plot用法很像matlab的。scipy里有各种最优化算法,矩阵操作,比如约束最优化,非约束最优化,矩阵求逆,矩阵分解,等等,它的官方在线文档:http://docs.scipy.org/doc/scipy/reference/
matplotlib:2D和3D绘图工具,绘图功能强大,各种数据可视化表现方式,没有做不到的,只有你想不到的。
sklearn:各种学习算法,聚类算法都在里面,比如svm,k-means,KNN,PCA,随机森林等等一大堆。官方网站:http://scikit-learn.org/stable/
ctypes:能使python和c交流的工具包有好几个,但是我认这个最好用,因为,你可以用VS生成一个动态库,而ctypes则可以直接去调用动态库中的函数。当你要处理复杂运算时,用纯粹的python实现出来的会慢的有如世界末日,但是用C实现无疑是最快的办法,而ctypes则可以帮你轻松做到这一点。想想matlab和c的混编,光是数据提取和类型转换就是一堆,估计很多人会有种想死的感觉。由于ctypes实现了python便捷访问c动态库的功能,你会觉得python和c的混编是一件非常轻松快乐的事情。它的方便之处还在于,numpy或scipy的数据成员中是默认包含ctypes的,这使python到c函数的各种数据类型的参数传递变得异常简单。
3.关于opencv的python版本
opencv,搞cv的都很熟悉,值得高兴的是,opencv是有python版本的。如果matlab要调用opencv的函数麻烦的有如在地狱挣扎,那么在python中使用opencv就如同在天堂里跳舞一样。matlab读视频的函数耗时之大,我是亲身经历的,并且深受其害,但是opencv读视频是非常快速的,而pyhon可以很方便的调用opencv中的函数,所以这其中的好处自然不必多说了。
python_opencv下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
从上面的地址中下载现成的带ffmpeg的python_opencv,然后将里面的所有文件都拷贝到Lib\site-packages下同就可以使用了。或者你有耐心的话也可以从opencv的官方网站下载源码自己编译。
费了几天功夫,终于将Python科学计算工具winpython给熟悉了个大概,基本满足自己的需要了。费话不多说,马上讲解决一下为什么python如此让人着迷:
1.下载
Python的IDE发行版有很多,不过,最常用的是winpython,它轻巧,包含了常用的科学计算工具包numpy,scipy,sklearn,matplotlib,还有可以调用C动态库的扩展包ctypes,更好的是它有32位和64位,我是经常需要用到超过4G的内存,所以我选择了64位版本。
下截地址:http://sourceforge.net/projects/winpython
2.工具包简介
winpython实际上是整合了IDE工具spyder和一些科学计算包,默认包含了以下工具包,有了这些工具包,完全可以替代MATLAB做科学计算:
numpy,scipy:数值计算工具包,里面我含了各种矩阵算,MATLAB有的,它基本上都有。不过,里面有array和matrix两种类型,最好是用array类型的,因为它的功能最全,大部分函数处理的类型都是array。scipy实际上包含了numpy的功能,并且还有2D绘图子工具包pylab,里面的plot用法很像matlab的。scipy里有各种最优化算法,矩阵操作,比如约束最优化,非约束最优化,矩阵求逆,矩阵分解,等等,它的官方在线文档:http://docs.scipy.org/doc/scipy/reference/
matplotlib:2D和3D绘图工具,绘图功能强大,各种数据可视化表现方式,没有做不到的,只有你想不到的。
sklearn:各种学习算法,聚类算法都在里面,比如svm,k-means,KNN,PCA,随机森林等等一大堆。官方网站:http://scikit-learn.org/stable/
ctypes:能使python和c交流的工具包有好几个,但是我认这个最好用,因为,你可以用VS生成一个动态库,而ctypes则可以直接去调用动态库中的函数。当你要处理复杂运算时,用纯粹的python实现出来的会慢的有如世界末日,但是用C实现无疑是最快的办法,而ctypes则可以帮你轻松做到这一点。想想matlab和c的混编,光是数据提取和类型转换就是一堆,估计很多人会有种想死的感觉。由于ctypes实现了python便捷访问c动态库的功能,你会觉得python和c的混编是一件非常轻松快乐的事情。它的方便之处还在于,numpy或scipy的数据成员中是默认包含ctypes的,这使python到c函数的各种数据类型的参数传递变得异常简单。
3.关于opencv的python版本
opencv,搞cv的都很熟悉,值得高兴的是,opencv是有python版本的。如果matlab要调用opencv的函数麻烦的有如在地狱挣扎,那么在python中使用opencv就如同在天堂里跳舞一样。matlab读视频的函数耗时之大,我是亲身经历的,并且深受其害,但是opencv读视频是非常快速的,而pyhon可以很方便的调用opencv中的函数,所以这其中的好处自然不必多说了。
python_opencv下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
从上面的地址中下载现成的带ffmpeg的python_opencv,然后将里面的所有文件都拷贝到Lib\site-packages下同就可以使用了。或者你有耐心的话也可以从opencv的官方网站下载源码自己编译。
相关文章推荐
- 放弃MATLAB!简述winpython为什么比MATLAB更方便
- 放弃MATLAB!简述winpython为什么比MATLAB更方便
- 简述:我为什么选择Python而不是Matlab和R语言
- C#通过批处理来调用Matlab和R语言 为什么格式会乱七八糟???
- 为什么应该放弃或减少使用MD5
- 驳2B文 "我为什么放弃Go语言"
- 为什么阿里的dubbo注册中心要放弃zookeeper, 而用Nacos?
- 专访包建强:为什么我说Android插件化从入门到放弃?
- 开发者为什么应该放弃人人网开放平台
- 为什么iOS 6将放弃Google地图?
- 不知道为什么,我就是不想放弃!
- 为什么放弃WebView
- MATLAB的层次聚类及k-均值聚类应用简述zz
- 为什么matlab有的函数文件可以直接运行而有的不行
- 【转载】java前后端 动静分离,JavaWeb项目为什么我们要放弃jsp?
- 在矩阵乘法,为什么 Matlab这么快?
- 为什么我的MATLAB激活成功后打开还是激活界面
- 为什么要进行傅立叶变换,究竟有何意义?如何用MATLAB实现快速傅立叶变换?
- 我为什么放弃Go语言
- 在你想要放弃的那一刻,想想为什么当初坚持走到了这里