Matlab講義 - 音視訊處理實驗室

Download Report

Transcript Matlab講義 - 音視訊處理實驗室

Communication Engineering
National Central University
DSP課程之 Matlab 簡介
授課教授:張寶基
助教:梁凱雯 郭千豪
音視訊處理實驗室
2014 / 9 / 30
Video-Audio Processing Laboratory
Communication Engineering
National Central University
大綱
 什麼是 Matlab ?
 Matlab 常見符號
 基本矩陣表示法
 矩陣的基本運算
 程式流程控制
 M檔案與M函數
 常用指令
Video-Audio Processing Laboratory
Communication Engineering
National Central University
什麼是 Matlab?
 MATrix LABoratory
 History
 1978, 新墨西哥大學 Pf. Cleve Moler 原創, using Fortran
 Stanford的 Jack Little 將 Matlab以C語言改寫
 於1984年首次由 MathWorks 推出商用版
 目前最新版本為R2014a版
 Property: 為一高品質之數值計算及圖形顯示軟體
 以矩陣運算為主
 Toolbox: Signal processing, Wavelet, etc.
 Simulink
 直譯器(Interpreter)
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Matlab 基本設計
 直接在command window 下一行行執行的Script M-file
 所需的變數直接從workspace 中去獲得並建立
 不需輸入輸出引述的呼叫
 無法保留

可存取的M file
 開啟方法

File -> New -> M-file

New M-file
 以Editor/Debugger 撰寫程式
Video-Audio Processing Laboratory
Communication Engineering
National Central University
基本矩陣表示法
 Matlab的變數不需宣告即可直接使用
 Matlab中,英文字母的大小寫是有分別的
 用中括號 [ ] 表示矩陣開始與結束
 用逗號(,)或空白鍵區別矩陣中的元素
 用分號(;)或是換行鍵(Enter)來區別每列的結束
 向量表示法 x=起始值:增加值:結束值
(若無指定增加值,則預設增加值為1)
 取出矩陣中的單一元素:x(n,m)
Video-Audio Processing Laboratory
Communication Engineering
National Central University
矩陣的基本運算 (1/2)
 矩陣的合併與分割:
 a = [c; d]; c = [c d];
 a = a(1:3, 4:5);格式為a(row,col)
 矩陣的Hermitian (共軛轉置):
 a = a’
 矩陣的加減 (必須有相同維度)
 c = a + b;
 d = a - b;
Video-Audio Processing Laboratory
Communication Engineering
National Central University
矩陣的基本運算 (2/2)
 矩陣的乘除及次方
 c = a * b;
 d = a / b; 
( a * b-1 )
 e = a \ b; 
( a-1 * b )
 f = a ^ 3;
 陣列的乘除及次方
 c = a .* b;
 d = a ./ b;
 e = a .\ b;
 f = a .^ 3;
 宜注意,陣列的運算是“對應位置”的元素做運算,與矩陣運算差異甚
大,請小心分辨使用時機。
Video-Audio Processing Laboratory
Communication Engineering
National Central University
多項式的表示法與運算

Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Simulink
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
程式流程控制
Video-Audio Processing Laboratory
Communication Engineering
National Central University
M檔案與M函數
 M檔案(類似批次檔)
 將一群指令輸入至檔案中(.m檔),執行該檔案即可依序執行
檔案內的指令
 M函數(可有輸入、輸出參數)
 必需在檔案開頭宣告函數名稱、輸入參數及輸出參數
[output1,output2….]=function(input1,input2….)
 輔助符號及函數
 %
註解符號
 pause 暫停程式
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Matlab 常見符號
常見符號
i、j
表示虛數
1
 NaN 沒有意義的數
 Inf
無限大的數
 eps
Matlab浮點數的精確度
 pi
圓周率
分號( ; ) 表示敘述的結束,但不會顯示執行結果
Video-Audio Processing Laboratory
Communication Engineering
National Central University
常用輔助指令
 常用輔助指令
 help
查看副函式用法 (已知名稱,但不知用法)
 lookfor 查詢相關副函式 (不一定知道function名稱)
 who ,
察看變數
 Whos
顯示變數名稱及其大小格式
 what
察看現在目錄,顯示檔案*.m或*.mat
 load, save
資料存取 (.mat檔)
 clc
清除螢幕
 clear
清除所有變數
 echo
執行時顯示指令
 常用技巧
 Ctrl + C 可中斷程式執行
Video-Audio Processing Laboratory
Communication Engineering
National Central University
常用運算指令
 inv()
計算反矩陣
 det()
計算行列式值
 real(), imag()
取實部, 虛部
 abs(), angle()
取絕對值, 角度
 conj()
取共軛
 eig()
計算特徵值及特徵向量
 zeros() 產生全為0的矩陣
 ones()
產生全為1的矩陣
 min(), max()
取最小值、最大值
 sum(), mean()
求合、平均值
 sin(), cos(), tan(), … log(), exp(), sqrt()
Video-Audio Processing Laboratory
各種數學函數
Communication Engineering
National Central University
常用繪圖指令
 subplot(n,m,k)
 plot()
 title()
切割成n x m個子圖,並將繪於第k個子圖
描繪標準線性坐標圖
設定標題文字
 xlabel() ylabel() 設定x、y軸文字
 figure() 開新圖
 stem()
描繪離散針狀圖
 hist()
描繪統計圖
 image(), imshow()
顯示影像
 sound(x, fs)
撥放聲音(每秒fs個sample播放x)
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
Video-Audio Processing Laboratory
Communication Engineering
National Central University
參考資料
 “Matlab之使用與應用”,林傳生,儒林圖書
 “MATLAB程式設計與應用”,張智星,清蔚科技
Video-Audio Processing Laboratory
Communication Engineering
National Central University
程式作業繳交
 ftp://140.115.155.210
 User / Password

一般生: co6021

在職生: coa002
Video-Audio Processing Laboratory