最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python numpy和matlab的幾點(diǎn)差異介紹

 更新時間:2022年07月12日 14:36:10   作者:there2belief  
這篇文章主要介紹了Python numpy和matlab的幾點(diǎn)差異,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

numpy和matlab的幾點(diǎn)差異

Python numpy和matlab都是便捷靈活的科學(xué)計算語言,兩者具有很多相似之處,但也有一些混淆的地方,這里假定你熟悉matlab,但不了解numpy,記錄幾個numpy實例:

1、Numpy數(shù)組索引指定開始和結(jié)束時

不包括結(jié)束,也即下面的b和c是一樣的。

a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
b = a[:2, 1:2]
c = a[:2, 1]

2、Numpy.ndarray切片的修改會引起原矩陣的修改

這與matlab不同。

a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
b = a[:2, 1:3]
# [[2 3]
# ?[6 7]]
print(a[0, 1]) ? # Prints "2"
b[0, 0] = 77 ? ? # b[0, 0] is the same piece of data as a[0, 1]
print(a[0, 1]) ? # Prints "77"

3、numpy使用切片索引(例如1:2)不會產(chǎn)生降維

而使用整數(shù)索引(例如1)會產(chǎn)生降維。

import numpy as np
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
row_r1 = a[1, :] ? ?# Rank 1 view of the second row of a
row_r2 = a[1:2, :] ?# Rank 2 view of the second row of a
print(row_r1, row_r1.shape) ?# Prints "[5 6 7 8] (4,)"
print(row_r2, row_r2.shape) ?# Prints "[[5 6 7 8]] (1, 4)"
col_r1 = a[:, 1]
col_r2 = a[:, 1:2]
print(col_r1, col_r1.shape) ?# Prints "[ 2 ?6 10] (3,)"
print(col_r2, col_r2.shape) ?# Prints "[[ 2]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# ? ? ? ? ?[ 6]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# ? ? ? ? ?[10]] (3, 1)"

4、不同于matlab

numpy的轉(zhuǎn)置對于1維數(shù)組的操作不發(fā)生變化。

v = np.array([1,2,3])
print(v) ? ?# Prints "[1 2 3]"
print(v.T) ?# Prints "[1 2 3]"

5、不同matlab對于矩陣預(yù)算要求大小一致

Numpy broadcasting直接支持操作(加減乘除等),要求前一個矩陣的最后一維度大小和待操作矩陣的大小相同。

x = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]])
v = np.array([1, 0, 1])
y = x + v ?# Add v to each row of x using broadcasting
print(y) ?# Prints "[[ 2 ?2 ?4]
? ? ? ? ? # ? ? ? ? ?[ 5 ?5 ?7]
? ? ? ? ? # ? ? ? ? ?[ 8 ?8 10]

python與matlab的優(yōu)缺點(diǎn)

如果要問我選哪個,我會建議兩個都選。很多人喜歡拿python和matlab對比,然后得出哪個更好的結(jié)論。其實吧,夠用就好。

如果是學(xué)生,或者研究人員,比如研究信號處理,那么用matlab比較好,有大量現(xiàn)成工具箱和前人的成果可以借鑒。如果是產(chǎn)品化項目,那么python比較好,可以做web后臺,可以打包成應(yīng)用程序,效率相對matlab也要高那么一點(diǎn)點(diǎn)。如果是信號、數(shù)據(jù)方面的工程人員,建議還是兩個都掌握吧,也不復(fù)雜,都是腳本式的語言,比C++什么的易學(xué)多了。

下面從兩者各自的應(yīng)用做個對比。

1、python的優(yōu)勢

Python相對于Matlab最大的優(yōu)勢:免費(fèi)。國內(nèi)可能不是很在乎這個,但在國外是個很關(guān)鍵的問題。

Python次大的優(yōu)勢:開源。你可以大量更改科學(xué)計算的算法細(xì)節(jié)。

可移植性,Matlab必然不如Python。但你主要做Research,這方面需求應(yīng)當(dāng)不高。

第三方生態(tài),Matlab不如Python。比如3D的繪圖工具包,比如GUI,比如更方便的并行,使用GPU,F(xiàn)unctional等等。長期來看,Python的科學(xué)計算生態(tài)會比Matlab好。

語言更加優(yōu)美。另外如果有一定的OOP需求,構(gòu)建較大一點(diǎn)的科學(xué)計算系統(tǒng),直接用Python比用Matlab混合的方案肯定要簡潔不少。

python作為一種通用編程語言,可以做做Web,搞個爬蟲,編個腳本,寫個小工具用途很廣泛。

2、matlab的優(yōu)勢

學(xué)術(shù)界大量使用matlab做仿真,做研究的話容易找到代碼參考;

語法相對python更靈活一些,matlab寫程序基本不用套路,所謂老夫擼matlab就一個字,干;

有simulink。有人說simulink沒什么用,其實還是挺有用的,比如通信建模,另外simulink可以生產(chǎn)DSP或者FPGA代碼,有的時候很有用。

3、兩者的區(qū)別

python是一種通用語言,而matlab更像是一個平臺。

4、怎樣選擇

如果做研究,可以matlab為主;如果做產(chǎn)品,可以python為主。當(dāng)然也有matlab做成產(chǎn)品的,打包成exe什么的都不是事。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解

    python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解

    這篇文章主要介紹了python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解的相關(guān)資料,這里對Python 的數(shù)據(jù)類型進(jìn)行了詳細(xì)介紹,需要的朋友可以參考下
    2017-01-01
  • Python3.5基礎(chǔ)之變量、數(shù)據(jù)結(jié)構(gòu)、條件和循環(huán)語句、break與continue語句實例詳解

    Python3.5基礎(chǔ)之變量、數(shù)據(jù)結(jié)構(gòu)、條件和循環(huán)語句、break與continue語句實例詳解

    這篇文章主要介紹了Python3.5基礎(chǔ)之變量、數(shù)據(jù)結(jié)構(gòu)、條件和循環(huán)語句、break與continue語句,結(jié)合實例形式詳細(xì)分析Python3.5編程入門相關(guān)的變量、數(shù)據(jù)結(jié)構(gòu)、常用條件與循環(huán)語句操作技巧及注意事項,需要的朋友可以參考下
    2019-04-04
  • Python tcp傳輸代碼實例解析

    Python tcp傳輸代碼實例解析

    這篇文章主要介紹了Python tcp傳輸代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • python 遍歷可迭代對象的實現(xiàn)方法

    python 遍歷可迭代對象的實現(xiàn)方法

    本文主要介紹了python 遍歷可迭代對象的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python3中urlencode和urldecode的用法詳解

    Python3中urlencode和urldecode的用法詳解

    今天小編就為大家分享一篇Python3中urlencode和urldecode的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 解決Django Haystack全文檢索為空的問題

    解決Django Haystack全文檢索為空的問題

    這篇文章主要介紹了解決Django Haystack全文檢索為空的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python?設(shè)計模式行為型解釋器模式

    Python?設(shè)計模式行為型解釋器模式

    本文介紹了Python解釋器模式,解釋器模式即Interpreter?Pattern,給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子,下面文章進(jìn)入更深層學(xué)習(xí),需要的小伙伴可以參考一下
    2022-02-02
  • matplotlib.pyplot.plot()參數(shù)使用詳解

    matplotlib.pyplot.plot()參數(shù)使用詳解

    這篇文章主要介紹了matplotlib.pyplot.plot()參數(shù)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫的操作示例

    Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫的操作示例

    SQLAlchemy是Python的SQL工具包和對象關(guān)系映射(ORM)庫,它提供了全套的企業(yè)級持久性模型,用于高效、靈活且優(yōu)雅地與關(guān)系型數(shù)據(jù)庫進(jìn)行交互,這篇文章主要介紹了Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫,需要的朋友可以參考下
    2024-08-08
  • 使用GPT-3訓(xùn)練垃圾短信分類器示例詳解

    使用GPT-3訓(xùn)練垃圾短信分類器示例詳解

    這篇文章主要為大家介紹了使用GPT-3訓(xùn)練垃圾短信分類器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評論

丘北县| 阳谷县| 武强县| 垫江县| 萨迦县| 浙江省| 健康| 辽宁省| 霞浦县| 寻乌县| 北宁市| 临泽县| 吐鲁番市| 江阴市| 江口县| 始兴县| 耿马| 乌苏市| 遵义县| 社会| 崇义县| 克拉玛依市| 社会| 内黄县| 马公市| 南郑县| 涿州市| 敖汉旗| 乐平市| 礼泉县| 临泽县| 昆明市| 吉木乃县| 安新县| 乌兰察布市| 肥乡县| 太仆寺旗| 深水埗区| 秦安县| 探索| 通道|