---
# System prepended metadata

title: 基礎物理實驗學I-Lecture 1

---

# Lecture 1 – MATLAB 入門與基本量測

## 一、MATLAB 入門

### 1. MATLAB 是什麼？
MATLAB 全名是 **MATrix LABoratory（矩陣實驗室）**。  
它是一種用來做數學計算、繪圖和資料分析的程式語言。  
根據它的名字可以知道拿它用來算矩陣式的數據非常有效率。

物理系為什麼要學 MATLAB？因為很多物理實驗都需要：
- 數據處理（平均值、標準差、擬合曲線）  
- 繪製圖表（位置–時間圖、能量–時間圖）  
- 簡單模擬（拋體運動、振盪）  

---

### 2. MATLAB 介面
開啟 MATLAB 後會看到三個常用區塊：  
-
- **a. Current Folder**：放程式檔案的地方。  
- **b. Command Window**：像計算機一樣，可以直接打一行指令來算。  
- **c. Workspace**：顯示目前有哪些變數，以及它們的值。  
- ![image](https://hackmd.io/_uploads/Bk1vcicFeg.png)


👉 如果想寫比較長的程式，就要用 **Script（腳本）**。  
點選「New Script」會開啟編輯器（Editor）。  
寫完程式後按「Run」就能執行。  
![image](https://hackmd.io/_uploads/rys7hi9Fee.png)


---

### 3. 變數與基本操作
變數的命名規則：
- 要以字母開頭，例如 `a1` 是合法的，但 `1a` 不行。  
- 大小寫不同，例如 `a` 和 `A` 是不同變數。  

範例：
```matlab
>> a = 1;
>> A = 1;
>> b = a + A
```
執行後，結果：
```matlab
b = 2
```
![image](https://hackmd.io/_uploads/B1nwpsqKeg.png)
👉 注意：如果在指令後加上分號 ;，結果不會顯示，但變數仍然存在。
<font color="#1936C9">**加上分號對於執行很長的程式碼或是重複執行很多次的迴圈、迭代非常重要，否則程式運行時間會相當久。**</font>

---
### 4. 常用符號
- %：註解，不會執行
- %%：分段執行
- ;：隱藏輸出
---

### 5. Help 與線上資源
(1) 使用Command Window
如果忘記指令，可以用：
```matlab
help 指令名
```
例如：
```matlab
help for
```
會顯示迴圈 for 的用法。
![image](https://hackmd.io/_uploads/SJisk3qteg.png)

若想查詢對應某一功能的指令名稱則可輸入 “lookfor 關鍵字”，例如要找平均值或絕對值：
例如：
```matlab
lookfor average
```
(2)	直接開啟Help視窗搜尋
在主視窗Home的頁面點選Help標示或直接按F1，即可叫出Help視窗，如下
![image](https://hackmd.io/_uploads/B1N7D0cFlg.png)

例如：查詢 "for"的用法
![image](https://hackmd.io/_uploads/B1I8P05Yeg.png)

## 二、MATLAB 的資料型態
### 1. 什麼是資料型態？
程式裡的變數，可以有不同「型態」。例如：
- 整數（int）
- 浮點數（single, double）
- 字元（char, string）
- 布林值（true/false）

MATLAB 預設的數值型態是 double（雙精度浮點數）。
### 2. 範例：數值型態差異

```matlab
a = 5e50        % double，可顯示超大數字
b = single(a)   % 單精度，會超出範圍 → Inf (無窮大)
```
```matlab
a = 2^24
b = int8(a)     % 會超過範圍，只剩下 127
```
→ 說明：不同型態能表示的數值範圍不同。

### 3. 字元與字串
除了數值以外，字元(character)及字串(string)亦有其對應的位元儲存結構，每一字元佔有8個位元，即1個位元組(8 bits=1 byte)。一般常用美國資訊交換標準代碼(American Standard Code for Information Interchange，ASCII)來將位元與字元進行對應
![image](https://hackmd.io/_uploads/B1V89Rctle.png)

```matlab
a = [77 65 84 76 65 66];
char(a)   % 會得到 'MATLAB'
```

## 三、實驗1：基本量測

### 1. 實驗目的
- 學會使用 **游標尺**  
- 學會使用 **螺旋測微器**  
- 測量硬幣與 A4 紙，並估算密度  

---
### 2. 實驗項目
1. 使用 **游標尺、螺旋測微器** 測量：  
   - 1元、5元、10元、50元硬幣  
   - A4 紙厚度  
2. 測量硬幣質量（用天平）  
3. 利用直徑與厚度計算體積，進而估算密度（g/cm³）  

---
### 3. 測量工具
#### 1. 游標尺 (Vernier Caliper)
游標尺由 **主尺** 與 **副尺** 組成：  
- 主尺：一般刻度（mm）  
- 副尺：比主尺更細的刻度  
![image](https://hackmd.io/_uploads/rkiDR0qtex.png)


**讀值方法：**
![image](https://hackmd.io/_uploads/Sk15CR9txe.png)

1. 讀主尺整數部分（例：2.4 cm）  
2. 找副尺與主尺對齊的刻度（例：7 → 0.07 cm）  
3. 總長度 = **2.4 + 0.07 = 2.47 cm**  

👉 精度：**0.02 mm**

#### 2. 螺旋測微器 (Micrometer)
![image](https://hackmd.io/_uploads/SyE3AR5tlx.png)
主要構造：  
- 主尺：0.5 mm/格  
- 副尺：50 格 = 0.01 mm/格  

👉 精度：**0.01 mm**，比游標尺更精細。  

---

### 4. 實驗數據的三要素
任何量測值都必須包含：  
- **數值 (value)**  
- **誤差 (error)**  
- **單位 (unit)**  

範例：  
直徑 = 1.68 ± 0.02 mm

### 5. 附錄：實驗誤差
- **系統誤差**  
  - 儀器精度、校正問題  
  - 環境影響（溫度、濕度…）  
  - 人為操作不當  
- **統計誤差**  
  - 測量值會有隨機波動  
  - 需透過 **多次量測、平均值、標準差** 來降低誤差  

公式：  
- 平均值  
$$ \bar{x} = \frac{1}{N}\sum_{i=1}^N x_i $$  

- 標準差  
$$ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar{x})^2} $$  

---
