放棄MATLAB!簡述winpython為什么比MATLAB更方便


費了幾天功夫,終於將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的官方網站下載源碼自己編譯。

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM