24 lines
1.0 KiB
Python
24 lines
1.0 KiB
Python
#Program: curve_plot.py (Report bugs/comments to chikh@yuntech.edu.tw)
|
||
#Function: 繪製f(x)=x*log(1+x**2)*exp(-x**2)之函數圖形
|
||
#Note: 繪圖指令參見https://matplotlib.org/tutorials/introductory/pyplot.html
|
||
|
||
import math
|
||
import matplotlib.pyplot as plt
|
||
# from matplotlib.font_manager import FontProperties
|
||
|
||
#-------------------------------------------------------------------#
|
||
# 創建(x,f(x))對應若干位置點存於串列,融合http://bit.ly/2Inq6d9介紹的寫法
|
||
N = 10000 #區間內分為10000點
|
||
xIntvLen = 6 #interval length: 區間[-3,3]寬度
|
||
x = [-3+xIntvLen*(p/N) for p in range(N+1)] #趕緊筆記起來
|
||
fx = []
|
||
for i in range(N+1): #計算每一x所對應的f(x)值,儲存於fx串列
|
||
fx.append(x[i]*math.log(1+x[i]*x[i])*math.exp(-x[i]*x[i]))
|
||
#-------------------------------------------------------------------#
|
||
|
||
plt.plot(x,fx)
|
||
plt.xlabel('x'); plt.ylabel('y')
|
||
# chineseFont = FontProperties(fname = 'C:\\Windows\\Fonts\\kaiu.ttf')
|
||
# plt.xlabel(u"x軸",fontproperties = chineseFont) #參考http://bit.ly/2p46ggw
|
||
plt.show()
|