[教學] OSX工具程式 畫函數曲線---Grapher
post這篇是因為之前來版上求助無門,後來自己亂試之後成功,應該要來交代.
Grapher是一個好用的工具程式, 身為研究森不應該錯過的.
畫方程式不外幾種方法,第一通常是已經有程式跑出資料點,再利用excel貼上,
類似的工具還有vvidget也是產生圖表很強大的工具。
However(寫論文一定要會用however), 很少像是Grapher可以直接打數學式看結果的軟體。
先附上自己做的範例檔案,很多做小研究的同學應該用的上。
http://neo.cs.nthu.edu.tw/~sd/sample.gcx
==========================================================================
開啟程式之後可以先看看內建的範例檔案,就知道功能是很強大的。
I. basic
2D的情形下,x軸是主要的輸入變數,第一個嘗試寫的function可以寫
y=x+2然後按下enter,就會自動畫出直線。
3D的情形下,可以指定z=x+y之類的,不過一定要先切換到3D模式才能看結果。
II. symbols & function
一些式子一開始不知道怎麼輸入的話,可以先copy範例程式的,
特殊符號的輸入,用視窗右邊的下拉選單(開啟方程式面板).
像我要寫一個binomial distribution需要輸入sigma以及C幾取幾的那個符號,
多項式的部份都好解決,可是級數的上下限怎麼辦?
我從範例檔copy了一個有上下限的sigma過來, 研究生有在用Latex的應該知道,
符號後面會接一塊區域可以填方程式.
III. copy & paste
[1]Grapher在選擇block做複製貼上的時候會很雞婆多選,
剪下後竟然留了一個空白在那邊,貼上的時候記得檢查不要留有空白,
檢查向左邊要緊貼,讓所有的空白都堆到最後面就好。
IV. definition
另外一個好用的地方是可以類似程式做宣告,比方說我先定義一個binomial
bin(r,x,t):=sigma(t取i,i從r到t)x^i+(1-x)^(t-i)
之後我可以在別的function直接使用g(x):=bin(r,x,t)-x^2
可以大幅簡化畫面上一堆亂七八糟的式子。
V. Color & export
另外當然要推薦的是著色
根據投入的變數不同,可以針對每條線塗色,可以自己在格式>重新著色所選曲線
的地方選擇梯度或是線性。
3D圖形的著色也是一大特點,可以調亮暗和旋轉不同方向,如果在做線性規劃,
局部的local optimal看不清楚,放大一點轉一下就會發現。
弄完顏色再加上一個Label或是一塊區域輸入文字,就能輸出成jpg等格式了。
VI. conditions & boolean
條件和分段值域(這部份Grapher說明不清楚)
輸入條件要從右邊視窗的下拉選單選擇"條件"
注意:如果你是只是要加0<=x這樣子,也算是一個"條件",只是條件只有一個選項。
假如你在pop up選單填入"3個條件",就會show三個列. 可是萬一其中一個不要了,
不好意思,這時候你要再重新弄一個條件,輸入"2個條件",而沒辦法直接砍掉.
再把原本打好的東西剪下貼上,也請把握上述[1]的原則.
function後面會有一個區域可以輸入條件,
數學上的0<=x要轉成boolean function (0<x)v(0==x)
有些麻煩,其餘請參照我的範例檔。
VII. end
其實Grapher的說明文件寫的蠻清楚的,不過真正在使用上容易因為誤會而畫不出來。
常常出現的問題是---"未定義的自訂變數"然後接著一堆bug, 往往只是
中間多了空白,或是沒按事先定義的值要求畫圖。
Grapher一次叫他畫16條曲線以上就會唉唉叫問你是不是真的要畫.
撇開這些不說,假如是要快速的驗證一下數學式,Grapher是個不錯的tool.
有很多其他畫圖工具也不錯,像是SW內建的模擬。
當然,曾經有一個偉大的人說:
武術是沒有分高低的。
工具用的好自然事半功倍。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.33.23
推
07/24 02:18, , 1F
07/24 02:18, 1F
→
07/24 08:17, , 2F
07/24 08:17, 2F
→
07/24 08:18, , 3F
07/24 08:18, 3F
推
07/24 10:00, , 4F
07/24 10:00, 4F
→
07/26 17:32, , 5F
07/26 17:32, 5F