首頁>Club>
15
回覆列表
  • 1 # 電工老程

    我是一直用matlab的,因為我們做研究的那個年代還沒有python,所以就一直沒有變。最近一年接觸了一點python,說說我對它們的看法。

    matlab最強大之處有幾點:一是對矩陣運算有非常豐富的支援函式,而且速度極快;二是可以用simulink進行圖形化的程式設計和模擬;三是可以編譯成其他語言,如C、C++甚至HDL語言。這幾個特點是其它軟體所不具備的。這幾個特性決定了它對做研究的人特別有用,可以用所見即所得的形式看到自己的演算法在一個模擬環境中的執行情況、所能達到的效能指標、所輸出的波形等。但是它不適合用於大型軟體的程式設計。比如你如果想開發一個比較複雜的大資料分析軟體,用matlab就不太合適。但你可以先用matlab驗證分析你的大資料分析演算法的效能,比如聚類的速度和結果等,驗證通過後再把演算法編譯成其他語言或者直接編譯成動態庫,以供其他軟體呼叫。同時,正版matlab的價格是比較貴的,高校裡做研究使用的人多,而社會上使用的人少,因為高校版的matlab是便宜一些的。

    python是最近幾年才興起的軟體。給我的感覺,首先它是無法進行模擬的。它的優點是程式設計簡單,可使用面向物件的程式設計方法,在網路程式設計、大資料分析等比較熱門的方面能夠提供比較豐富的函式。最重要的是,它免費。我感覺它就是30年前的BASIC,20年前的delphi,這些軟體當年都是極為盛行的。但它們都最終沒能活得過C和C++,原因是C和C++的執行效率是其它軟體沒法比擬的。你可以用python編寫較大型的軟體,但它的執行效率是否能超過C++?我不敢肯定。當然目前找工作時,會python還是有一定優勢的。但是鑑於目前很多小學初中開始開設python教學了,未來python程式設計師的工資是否還能這麼高,就不好說了。

    總之,matlab和python是各有優勢,如果是做研究、寫演算法,建議用matlab,如果是編寫網路應用程式,建議用python。不過我還是強烈建議學習一下C++或者C#。另外我也強烈建議把matlab和python結合起來用,即用matlab寫演算法並模擬驗證,然後編譯成動態庫,用python編寫主程式,再呼叫matlab的動態庫演算法,可以事半功倍。

  • 中秋節和大豐收的關聯?
  • 那年非他不嫁的你,如今怎麼看待?