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