熱門文章

2014年1月17日 星期五

函數繪圖軟體


我常用來畫函數的軟體有
  • Gnuplot:Gnu計劃下功能強大的數值分析軟體,免費,但是需要背一點指令。
  • LibreOffice Calc:免費的試算表軟體,用描點的方式畫圖。
  • Wolfram Alpha:出版科學計算軟體Mathematica的公司Wolfram設立的網站,最好是用Mathematica的指令格式輸入,可以免費使用,但是進階版的功能要付費。


以95指考單選第6題為例來說明這三種工具畫圖的方式:


# 試題
某生做滑車實驗如圖5所示,每次實驗在吊掛之處逐次增加一個質量為50 g的砝碼,並且記錄滑車的加速度。如果滑車質量為100g,細繩質量可忽略,則下列曲線,何者最適合描述滑車加速度隨著吊掛砝碼個數的變化?







# 解答
假設掛x個砝碼,對砝碼及滑車分別列 F = ma,解聯立之後可得加速度
a=x(2+x) * g
想要畫出標準的圖形,利用電腦就可以很容易辦到。


# 方法1:Gnuplot
進入Gnuplot之後下指令
plot (x/(2+x)*9.8)
這樣就能畫出所要的圖。如果還想加上標籤並設定繪圖範圍、輸出格式,請參考以下指令
set xlabel "x"
set ylabel "a(m/s^2)"
set xrange [0:10]
set terminal "png"
set output "95指考單選6.png"
plot (x/(2+x))
可以將指令另存成一個檔案,例如 ”plot.gnuplot” ,再於指令介面中執行
$ gnuplot plot.gnuplot
就能跑出所要的圖形。


# 方法2:LibreOffice Calc
進入LibreOffice Calc,先製造出以下的數據表格


x(個)
a(m/s^2)
0
0.00
1
3.27
2
4.90
3
5.88
4
6.53
5
7.00
6
7.35
7
7.62
8
7.84
9
8.02
10
8.17



再利用插入圖表功能畫出xy散布圖,連線選擇平滑即可得到類似下圖的結果。




# 方法3:Wolfram Alpha
進入Wolfram Alpha網站,輸入以下指令
Plot[x/(2+x), {x,0,10}]
以上指令中,Plot 是畫圖的指令,x/(2+x) 是要畫的函數,{x,0,10} 指定x的範圍從0到10。再按Enter,即可得到以下的結果。
[圖片來源: Wolfram Alpha網站]


沒有留言:

張貼留言