2017-09-25 42 views
0

我有個問題。下面是我的代碼片段,我試圖填充給定函數yv的向量。當我運行代碼時,沒有錯誤,但它不打印出結果,也沒有顯示我想要的圖。從F(x)函數中填充兩個向量

import matplotlib as plt 
import numpy as np 
import math as m 

e = 2.17 
sigma = 1 
mu = 0 
xv = np.linspace(-4, 4, 100) 

for rows in range(0): 
    for cols in range(100): 
     yv = 1/(sigma * (2 * m.pi) ** (-0.5)) * e ** (-0.5) * ((((xv - mu)/sigma)) ** 2) 
     print('xv= {}'.format(xv)) 
     print('yv= {}'.format(yv)) 

     plt.plot(xv, yv, 'b-o', linewidth = 2, label = 'xv vs. yv') 
     plt.show() 

我錯過了什麼?

再次感謝! Brandon

+0

'range(0)'不產生數字。 –

+0

用「範圍」刪除兩行。 NumPy的矢量化的目的是你不需要運行一個Python循環。 – tom10

+0

@ tom10當我做了這個調整,我得到這個以下錯誤... AttributeError:模塊'matplotlib'沒有屬性'plot' – Brandon

回答

0

您的matplotlib導入不太正確。試試這個:

from matplotlib import pyplot as plt 
import numpy as np 
import math as m 

e = 2.17 
sigma = 1 
mu = 0 
xv = np.linspace(-4, 4, 100) 

yv = 1/(sigma*(2*m.pi)**(-0.5))*e**(-0.5)*((((xv-mu)/sigma))**2) 
print('xv= {}'.format(xv)) 
print('yv= {}'.format(yv)) 

plt.plot(xv, yv, 'b-o', linewidth=2, label='xv vs. yv') 
plt.show() 
+0

This Works!謝謝。有時看起來好像是你看不到的東西。 – Brandon