2016-08-14 38 views
-4

如果我要畫的y = X^2 0圖表至9日在MATLAB,我可以做什麼是最簡單的Python代碼繪製簡單的圖表(比MATLAB簡單)

a = [0:1:10] 
b = a.^2 
plot(a,b) 

使用Python,我可以做同樣類似下面

import matplotlib.pyplot as plt 
import numpy as np 

a=[x for x in xrange(10)] 
b=np.square(a) 
plt.plot(a,b) 
plt.show() 

但相反我認爲Python代碼更簡單,這需要更多的線是MATLAB。 (我猜python試圖讓事情變得輕量化,所以我們需要在我們真正需要的時候導入東西,因此需要更多的線條。)我可以使上面的python代碼更簡單(我的意思是更短)嗎?

編輯:我知道它處理時間並不重要也沒有意義,但我只是很好奇代碼能變得多短。

+2

IMO,簡單的代碼可能不一定意味着更短的代碼....在你的情況下,如果python代碼比matlab更長,我不會感到驚訝,matlab是專門爲這個函數而不是python。 –

+0

您的代碼更長的唯一真正原因是您必須導入庫。您只需爲每個要繪製的文件執行一次此操作。擔心這種線路沒有多大用處。除此之外,你的代碼比matlab長一行。 (除此之外,計數線不是測量簡單性的好方法,尤其是像這樣的簡單例子。) – BrenBarn

+0

是的,我理解你的意思並完全同意。我添加到問題:) –

回答

1

這是一個有點簡單

import matplotlib.pyplot as plt 

X = range(10) 
plt.plot(X, [x*x for x in X]) 
plt.show() 

但請記住,Python是一種通用的語言,所以這並不奇怪它需要比一個特定的製圖/數學工具多一點。

然而,主要的混亂是導入圖表,幫助圖表繪圖和數值計算,因爲這是暗示爲matlab,因爲它是一個工具,只是圍繞它設計的。

然而,這些線條只需要一次:它們不是一個因子,而只是一個加法常數,即使在稍微嚴重的例子中也是微不足道的。

+0

是啊,我完全明白。我只是好奇它能得到多少時間。 –