[英]Python graphing with numpy
好的,所以我試圖用 e 繪制一個函數到某個表達式,但我一直在我把 (##) @ 放在錯誤消息所在的行上收到錯誤
類型錯誤:* 不支持的操作數類型:'numpy.ufunc' 和 'float'
#!C:\Users\msawe\Anaconda3 or C:\Anaconda3\python
import numpy as np
import matplotlib.pyplot as plt
plt.figure (figsize=(10,10), dpi=100)
ax = plt.subplot(111)
plt.title('Projectile Motion: Goround given by h(x) ', size=24)
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
def h(x):
"This function will return the y-coordinate for a given x-coordinate launch."
##return 1 - np.exp(-1* x/1000) + 0.28 *( 1 - np.exp(-0.038*x**2))*(1 - np.cos*(20*x**0.2))
X = np.linspace(0, 10, 101, endpoint=True)
##plt.plot(X, h(X), color="black", linewidth=3, linestyle="-", label="h(x)")
plt.xlim(0,10)
plt.xticks(np.linspace(0,10,11,endpoint=True))
plt.ylim(0,20.0)
plt.yticks(np.linspace(0,20,11,endpoint=True))
plt.legend(loc='upper left', frameon=False)
plt.savefig("Ch5_P4_lowRes.png",dpi=60)
plt.savefig("Ch5_P4_hiRes.png",dpi=200)
plt.savefig("Ch5_P4_plotting.pdf",dpi=72)
plt.show()
如果我能對如何使其工作有一個大致的了解,那就太好了。
假設我正確地解釋了你的方程,那么在你對 h(x) 的定義中np.cos()
實現中存在一個錯誤:你寫的是np.cos*(...)
而不是np.cos(...)
. 修復之后,代碼就可以繪制了——希望它給出了正確的結果!
這將使您對 h(x) 的定義從:
def h(x):
return 1 - np.exp(-1* x/1000) + 0.28 *( 1 - np.exp(-0.038*x**2))*(1 - np.cos*(20*x**0.2))
進入:
def h(x):
return 1 - np.exp(-1* x/1000) + 0.28 *( 1 - np.exp(-0.038*x**2))*(1 - np.cos(20*x**0.2))
區別很微妙但很重要! 您可以通過連續運行較小的代碼段來輕松檢查此類錯誤,以查看哪個操作np.cos*(...)
了錯誤 - 這讓我可以快速了解np.cos*(...)
錯別字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.