P127 135 new2. 畫圖步驟 (一)
1. 使用 pylab 套件畫圖:import pylab
2. 設定函式:
def f(x) :
return pylab.sin(2*x) + pylab.sqrt(x)
def g(x) :
return x**3 - 2*x + pylab.cos(x/3)
def h(x) :
return pylab.sin( exp(x) )
2國立中央大學數學系
3. 畫圖步驟 (二)
def s(x) :
return pylab.log(x) + 2 * pylab.log10(x)
def t(x) :
return pylab.sin( pylab.sqrt( abs(5*x) ) ) )
def u(x) :
return pylab.maximum(pylab.sin(x),pylab.cos(x)**2)
def v(x) :
return pylab.minimum(pylab.sin(x),pylab.cos(2*x))
3國立中央大學數學系
4. 畫圖步驟 (三)
3. 設定畫圖區間 [a,b] 與點數 n :
a , b , n = 0 , 10 , 100
a , b , n = -pylab.pi , pylab.pi , 100
pi = pylab.pi
a , b , n = -pi , pi , 100
4. 產生所有 x 座標點於 xs:
xs = pylab.linspace(a,b,n)
5. 產生所有 y 座標於 ys:
ys = f(xs)
ys = g(xs)
4國立中央大學數學系
5. 畫圖步驟 (四)
6. 輸入 xs 與 ys 畫函數圖:
pylab.plot(xs,ys)
pylab.plot(xs,f(xs))
7. 設定圖形屬性:
pylab.grid():顯示背景格線
pylab.title(’bar’):產生圖形標頭 bar
pylab.xlabel("X"):X 軸字串
pylab.ylabel("Y"):Y 軸字串
8. 儲存圖形於檔案:
pylab.savefig(’foo.jpg’)
pylab.savefig(’foo.png’)
9. 顯示圖形於螢幕:
pylab.show()
5國立中央大學數學系
7. 函數畫圖 : 簡單版 (二)
7國立中央大學數學系
import pylab
# 設定函式
def f(x) :
return pylab.sin(x) + pylab.cos(2*x)
# 設定 x 範圍 [a,b] 之間,n 為座標點數
a , b , n = 0 , 2*pylab.pi , 100
## 在 [a,b] 之間產生 n 個點存到 xs
xs = pylab.linspace(a,b,n)
## 畫圖:(xs,f(xs))
pylab.plot(xs,f(xs))
## 格線
pylab.grid()
## 儲存圖形
pylab.savefig(’sfn.png’)
## 螢幕顯示圖形
pylab.show()
? 簡單版本:
9. 函數畫圖 : 詳細版 (二)
9國立中央大學數學系
import pylab
# 設定函式
def f(x) :
return pylab.sin(x) + pylab.cos(2*x)
pi = pylab.pi
# 設定 x 範圍 [a,b] 之間,n 為座標點數
a , b , n = 0 , 2*pi , 100
## 在 [a,b] 之間產生 n 個點存到 xs
xs = pylab.linspace(a,b,n)
## ys 為所有 xs 的 y 值
ys = f(xs)
## 畫紙底色為 white
pylab.figure(facecolor=’w’)
## 畫圖
pylab.plot(xs,ys)
## 顯示背景格線
pylab.grid()
# 設定 X 與 Y 軸
pylab.xlabel("X")
pylab.ylabel("Y")
# 設定標頭
pylab.title("sin(x)+cos(2x)")
# 儲存檔案
pylab.savefig(’plot_fn.png’)
## 螢幕顯示圖形
pylab.show()
? 詳細版本:
10. 10國立中央大學數學系
函數畫圖 : 習題 1
? 畫 f(x) = max(|x sin(x)|,|x cos(x)|) 與
g(x) = min(|x sin(x)|,|x cos(x)|),
x ∈ [-2 ,2 ]