只好再度喚起那塵封已久的Matlab
Matlab的說明文件寫的非常詳細
只要知道要呼叫哪個函式、使用哪個指令
在Command Window上輸入後
把游標移上去按F1就可以呼叫出超級強大的說明文件
不過話雖是這麼說
最常遇到的問題不是有了指令不會用
而是根本不知道要用哪個指令
所以我決定把我知道常用的指令都給它記下來
基本指令:
normrnd(mu, sigma) % 透過Normal Distribution產生random numbers
a = load(filename) % 開啟一個檔案並存到a(幾乎什麼類型都可以)
plot(x, y) % 畫圖
a_double = +a_logical % 把由logical(TRUE/FALSE)組成的變數轉成double
logical(x); % 把x的資料型態轉成boolean
double(x); % 把x的資料型態轉成double
uint8(x); % 把x的資料型態轉成uint8
uint16(x); % 把x的資料型態轉成uint16
uint32(x); % 把x的資料型態轉成uint32
uint64(x); % 把x的資料型態轉成uint64
矩陣運算:
zeros(m, n) % 產生一個m x n 的零矩陣(各元素皆為0)
[1:0.1:10] % 產生一個由1到10,間隔為0.1的陣列
N = zeros(10, 8);
X = N(j,:); % X為矩陣N的第j列,共有8個元素(橫向)。
Y = N(:,k); % Y為矩陣N的第k欄,共有10個元素(縱向)。
m' % 取得矩陣m的轉置矩陣
[-10:10] >0 % 產生一個unit step vector。從時間t=-10到t=10。(注意:變數為logical,無法作數字運算)
linspace(a, b, n); % 產生一個將[a,b]分成n等分的向量(含a和b)。若不指定n則預設為100等分。linspace是linearly spaced的意思。
例如:linspace(0, 100, 101)會得到[0 1 2 3 ... 100]剛好共101個元素。但若是用linspace(0, 100, 100)則會得到[0 1.0101 2.0202 ...100.0000]。
集合運算:
[註:雖然感覺上做研究跑模擬用到集合的情況少之又少,但其實很多資料結構的存取都可以透過集合的運算來達成]
setdiff(A, B) % 求出A和B的差集(也就是在A集合裡但不在B集合裡的元素)。可以透過此方法來完成array的erase功能,例如:setdiff(1:5, 3)會得到[1 2
union(A, B) % 求出A和B的聯集
時間函數:
tic(); toc(); % 顯示tic()和toc()間,總共花多少時間。
數學函數:
abs(x); % 求x的絕對值
round(x); % 將x四捨五入
ceil(x); % 求x的上高斯(比x大的最小整數)
floor(x); % 求x的下高斯(比x小的最大整數)
圖像處理:
imwrite(A, filename); % 將陣列A輸出成圖片。(格式Matlab會自行從附檔名中判定)
saveas(n, filename); % 將figure n輸出成圖片。(格式Matlab會自行從附檔名中判定)
imread(filename); % 將圖片讀入並回傳pixel array。(格式Matlab會自行從附檔名中判定)
類Terminal指令:
ls, cd, pwd, mkdir... % 同Linux/Unix 的Terminal指令。
copyfile(src, dest) % 等同於Linux下的cp。
rmdir dir_name % 移除目錄。等同於Linux下的rm -r。
頻譜分析:
freqs(a, b); % 畫出以多項式a為分母,多項式b為分子的frequency response
freqz(h); % 畫出以h為impulse response的系統,其frequency response。(相當於h的頻譜分析)
downsample(x, n) % n倍down sampling。
例如 x=[1:100],則downsample(x, 2)就會變成[1 3 5 7... 99]。若想要往左shift得到[0 2 4 6...100],可以用downsample([0, x], 2)。
pwelch(x); % 透過Welch's method求出訊號x的PSD(Power Spectral Density)
Matlab右下角的
Start > Toolboxes > Signal Processing > Filter Design & Analysis Tool (fdatool)
開啟後,選擇工具列的
File > Import Filter from Workspace
若設計完Filter後,想要進一步觀察Filter的各個性質,可以選擇工具列的
View > Filter Visualization Tool (fvtool)。
沒有留言:
張貼留言