置頂

我的 VPython 教學文件 (HackMD 版本)

VPython 教學文件目錄 安裝及測試 基本語法 等速度直線運動 自由落下 終端速度 水平抛射 使用For迴圈計算水平抛射資料 斜向抛射 圓周運動 簡諧運動 單擺 木塊彈簧系統分離 重力及簡諧 行星運動 相疊木塊 雙重簡諧運動 一維彈性碰撞 ...

熱門文章

顯示具有 SciDAVis 標籤的文章。 顯示所有文章
顯示具有 SciDAVis 標籤的文章。 顯示所有文章

2020年4月1日 星期三

於 Lubuntu 上安裝 SciDAVis

作者:王一哲
日期:2020/4/1

前言


以前在舊版的 Linux 上安裝 SciDAVis 相當簡單,只要輸入以下的指令即可

sudo apt-get install scidavis

但是在新版的 Linux 發行版中卻很困難,這是因為 SciDAVis 使用的是 qt4,需要先解決套件的相依性問題才能安裝 SciDAVis。由於我之前在 Lubuntu 上測試時已經安裝了太多的套件,為了找出真正需要先安裝的套件,我用 VMware Workstation Player 建立虛擬機器,再於虛擬機器上安裝 Lubuntu 19.04,從作業系統剛安裝好的狀態下試著安裝 SciDAVis。



步驟


由於 SciDAVis 需要使用 qt4,雖然LUbuntu 裡本來就有 /usr/share/qt4/ 這個資料夾,但裡面沒有我們需要的東西,先用以下指令安裝 qt4

sudo apt install qt4-dev-tools qt4-bin-dbg

再用以下的指令安裝編繹套件時需要的工具

sudo apt install make g++

其實需要的套件很多,但是 apt 會自動幫我們安裝 make 和 g++ 相依的套件。安裝完成之後,我們再安裝另一個必要的套件 qwt,但這次需要編譯安裝,先從以下的連結下載壓縮檔

https://sourceforge.net/projects/qwt/files/qwt/6.1.4/

2019年12月6日 星期五

SciDAVis 教學 1:XY 散佈圖基本使用方法

作者:王一哲
日期:2019/12/4




SciDAVis 的全名為 Scientific Data Analysis and Visualization,照字面的意思可以翻譯為科學資料分析與視覺化工具,用來分析數據、作圖,而且它是一套自由軟體最新的版本為1.25,下載頁面在此(前往下載) 。類似的商業軟體為 Origin 和 SigmaPlot,但是這兩套軟體的售價不便宜,都在萬元以上。雖然用 MicroSoft Excel 和 LibreOffice Calc 也能做到類似的效果,但是 SciDAVis 處理大量數據的效果更好,即使操作界面是沒有中文化,對高中生而言應該還在可接受的範圍內。




SciDAVis

安裝軟體


如果作業系統為 Windows,請選用 scidavis.1.25-win-dist.msi,下載後使用系統管理員身份執行安裝檔,接著不斷地按下一步就完成了。如果作業系統為 Linux,請選用 scidavis-1.25.tar.gz,下載後解壓縮,再依照資料夾中的檔案 "README.installer" 的指示編輯檔案及安裝。安裝完成後執行程式,畫面如下。


SciDAVis 畫面截圖


SciDAVis 教學 2:作圖技巧及化直

作者:王一哲
日期:2019/12/4




作圖原則


  1. 假設自變數為$x$、應變數為$y$,先畫出$y-x$關係圖,如果數據點看起來分布在一條斜直線上,利用線性迴歸畫出最接近直線,計算斜率、截距及其不準量;如果數據點看起來是分布在一條曲線上則進行步驟2。
  2. 計算 $\log x$、$\log y$,畫出$\log y - \log x$關係圖,如果數據點看起來分布在一條斜直線上,利用線性迴歸畫出最接近直線,計算斜率、截距及其不準量,其中斜率可以代表$x$、$y$取幾次方時兩者的關係為線性。假設$x$、$y$數學關係為
    $$y^m = kx^n$$
    $$m \log y = \log k + n \log x$$
    $$\log y = \frac{n}{m} \log x + \frac{\log k}{m}$$
    因此$\log y - \log x$關係圖的最接近直線斜率為$n/m$。
  3. 計算 $x^n$、$y^m$,畫出$y^m - x^n$關係圖,如果數據點看起來分布在一條斜直線上,利用線性迴歸畫出最接近直線,計算斜率、截距及其不準量。



自由落下時間與高度關係圖


假設小球原為靜止、離地面高度為$h$、受到重力作用開始落下,只考慮重力的作用,重力加速度$g = 9.8~\mathrm{m/s^2}$,小球在空中飛行時間為$t$、飛行時間不準量為$errt$,實驗數據如下

h(m),t(s),errt(s)
2,0.65,0.01
4,0.89,0.01
6,1.11,0.01
8,1.27,0.01
10,1.42,0.01
12,1.57,0.01
14,1.71,0.01
16,1.79,0.01
18,1.92,0.01
20,2.03,0.01



先畫出$t - h$關係圖,發現數據點應該是分布在一條曲線上,無法進行線性擬合。


t - h 關係圖


2019年8月6日 星期二

最接近直線

作者:王一哲
日期:2019/8/5

前言


物理科及化學科在處理實驗數據時,通常會先繪製 XY 散佈圖,如果資料點看起來有線性的關係,就要用最小平方法計算最接近直線的斜率和截距,再試著解釋斜率和截距的物理意義。但如果更講究一點,由於測量數據時本身就會有一定的不準量,最接近直線的斜率、截距也會有不準量,要用什麼方法才能很方便地算出這些數呢?



最接近直線公式


以下的公式是我從物理奧林匹亞培訓講義上抄來的。假設操縱變因(自變數)為$x$、不準量為$\Delta x$,測量的應變變因(應變數)為$y$、不準量為$\Delta y$,數據共有$n$組。則最接近直線

$$斜率 \quad a = \frac{\sum x \sum y - n \sum xy}{(\sum x)^2 - n \sum x^2}$$
$$截距 \quad b = \frac{\sum x \sum xy - \sum y \sum x^2}{(\sum x)^2 - n \sum x^2}$$
$$相關係數 \quad R = \frac{\sum x \sum y - n \sum xy}{\sqrt{\left[ (\sum x)^2 - n \sum x^2 \right] \left[ (\sum y)^2 - n \sum y^2 \right]}}$$

為了要計算斜率及截距的不準量,我們先定義下列的符號

$$\sigma_x = \sqrt{\frac{\sum (\Delta x)^2}{n}}$$
$$\sigma_y = \sqrt{\frac{\sum (\Delta y)^2}{n}}$$
$$\sigma = \sqrt{\sigma_y^2 + a^2 \sigma_x^2}$$

斜率與截距的不準量分別為

$$斜率的不準量 \quad \Delta a = \sqrt{\frac{n \sigma^2}{n \sum x^2 - (\sum x)^2}}$$
$$截距的不準量 \quad \Delta b = \sqrt{\frac{\sigma^2 \sum x^2}{n \sum x^2 - (\sum x)^2}}$$

如果要將$x$軸的不準量$\Delta x$加到$y$軸上,等效的$y$軸不準量計算方式為

$$\Delta y_{eff} = \sqrt{(\Delta x)^2 + (a \Delta y)^2}$$



2018年3月25日 星期日

SciDAVis繪圖:XY散布圖

SciDAVis繪圖:XY散布圖
 日期:2018/3/25
  SciDAVis 的全名為 Scientific Data Analysis and Visualization,照字面的意思可以翻譯為科學資料分析與視覺化工具,用來分析數據、作圖,而且它是一套自由軟體最新的版本為1.22,下載頁面在此(前往下載) 。類似的商業軟體為 Origin 和 SigmaPlot,但是這兩套軟體的售價不便宜,都在萬元以上。雖然用 MicroSoft Excel 和 LibreOffice Calc 也能做到類似的效果,但是 SciDAVis 處理大量數據的效果更好,即使操作界面是沒有中文化,對高中生而言應該還在可接受的範圍內。
  以下教學用採的繪圖數據是由 VPython 教學〈終端速度〉的程式碼產生的,下載連結在此(取得檔案)。

安裝軟體

  如果作業系統為 Windows,請選用 scidavis.1.22-win-dist.msi,下載後使用系統管理員身份執行安裝檔,接著不斷地按下一步就完成了。如果作業系統為 Linux,請選用 scidavis-1.22.tar.gz,下載後解壓縮,再依照資料夾中的檔案 "README.installer" 的指示編輯檔案及安裝。安裝完成後執行程式,畫面如下。
SciDAVis 畫面截圖

2018年3月15日 星期四

繪製等位線的方法:SciDAVis

作者:王一哲
日期:2018/3/15

前言


最近正好教到靜電學,想要試著用電腦畫出等位線。一開始想到以前用過的 Gnuplot 好像可以辦到,但是它的選項全部都要用指令調整,有點麻煩。後來又想到 Python 當中有一個功能強大的繪圖套件 Matplotlib,但是在網路上找到的範例看起來看麻煩。最後才想到 SciDAVis 應該有這樣的功能,在 Google 上搜尋關鍵字 scidavis 3d plot 的第1個結果就是我尋找已久的答案:http://scidavis.sourceforge.net/manual/x528.html


用 SciDAVis 搭配 matrix 繪製的等電位線圖形


使用版本


SciDAVis 1.22,下載頁面 https://sourceforge.net/projects/scidavis/files/SciDAVis/1.22/