# Lecture 6 – 檔案匯入與匯出、插值;Exp 5 橡皮筋遲滯現象 ## 課程目標 - 學會如何在 MATLAB 中匯入與輸出不同格式的檔案 - 了解如何使用插值 (interpolation) 管理與分析數據 - 進行橡皮筋遲滯實驗,觀察能量耗散 --- ## 一、檔案匯入與匯出 (File Import & Export) ### 常見檔案類型與 MATLAB 指令 | 類別 | 格式 | 指令 | |------|------|------| | 一般資料 | `.mat` (workspace) | `load`, `save` | | | `.csv` (逗號分隔) | `readmatrix`, `writematrix` | | | `.txt`, `.dat` (文字檔) | `importdata` | | 試算表 | `.xls` (Excel) | `xlsread` | | 科學資料 | `.cdf`, `.fits`, `.hdf` | `cdfread`, `fitsread`, `hdfread` | | 影像 | `.jpg`, `.png`, `.tiff`, ... | `imread`, `imwrite` | | 聲音 | `.wav`, `.ogg`, `.mp3`, ... | `audioread`, `audiowrite` | | 影片 | `.avi`, `.mp4`, `.mov`, ... | `VideoReader`, `VideoWriter` | --- ### 檔案匯入 (Import) 1. **簡單讀取:** ```matlab data = readmatrix('data.csv'); plot(data(:,1), data(:,2)); ``` 2. **load 指令 (ASCII 檔案):** ```matlab data = load('data.txt','-ascii'); ``` - -ascii 表示用 ASCII 編碼處理文字檔。 3. **fopen + fscanf:** ```matlab fid = fopen('out.txt','w'); fprintf(fid, '%1.2f %1.3f\n', A'); fclose(fid); ``` --- ## 二、插值 (Interpolation) **基本概念** - 內插 (interpolation):由有限數據點估算區間內的新數據。 - 擬合 (fitting):尋找數學函數逼近整體趨勢。 --- **一維插值範例** ```matlab x = 0:10; y = cos(x)./(1+x); xi = 0:0.5:10; yi = interp1(x,y,xi,'cubic'); plot(x,y,'o', xi,yi,'-') ``` **二維插值範例** ```matlab [x, y, z] = peaks(8); [xi, yi] = meshgrid(-3:0.1:3); zi = interp2(x,y,z,xi,yi,'cubic'); surf(xi, yi, zi) ``` 👉 若資料點不在網格上,可用 griddata 進行插值。 --- **插值與數值微分/積分** - 微分 - diff:對陣列做差分 - differentiate:對擬合函數物件求導 - 積分 - trapz, cumtrapz:對陣列數據積分 - integrate:對擬合函數積分 --- ## 三、實驗五:橡皮筋的遲滯現象 (Hysteresis of Rubber Band) ### 實驗目的 - 觀察橡皮筋在拉伸與釋放過程中的 **遲滯現象 (hysteresis)** - 理解高分子材料的非線性彈性行為 - 計算能量耗散 --- ### 實驗原理 - 一般彈簧遵循虎克定律: $$ F = k_s \Delta x $$ - 橡皮筋由高分子鏈構成: - **未拉伸** → 分子纏繞 - **拉伸** → 分子逐漸拉直,剛度增加 - **完全拉直** → 表面變粗糙、顏色變淡 - 在拉伸/釋放過程中,部分能量轉化為 **熱能耗散**,導致兩條曲線不同,形成 **遲滯迴圈 (hysteresis loop)**。 --- ### 實驗步驟 1. 準備橡皮筋、直桿、砝碼。 2. 逐步增加砝碼 → 記錄伸長量 (Loading)。 3. 逐步移除砝碼 → 記錄伸長量 (Release)。 4. 作圖: - X 軸:伸長量 \(\Delta x\) - Y 軸:受力 \(F\) - 比較「拉伸」與「釋放」曲線,觀察遲滯迴圈。 5. 計算兩條曲線面積差 → 即能量損耗。 --- **思考問題** - 為什麼橡皮筋拉伸後會變白、變熱? - 如果使用不同材質 (如矽膠、金屬彈簧),遲滯現象會相同嗎? --- **參考資料** - Xiangjun Xing, Paul M. Goldbart, and Leo Radzihovsky, Thermal Fluctuations and Rubber Elasticity, PRL 98, 075502 (2007). - https://www.youtube.com/watch?v=fFtM9JznLh8 - https://www.schoolphysics.co.uk/age14-16/Matter/text/Rubber_band/index.html