本節將介紹兩個範例,以便對二維矩陣進行處理,
第一個範例是 arrayx2.c,可將輸入二維矩陣(可能包含實部和虛部)乘以 2,其內容如下:
接著,我們可以編譯以上程式:
>> mex arrayx2.c    
欲確認可執行檔的存在,可輸入如下:
>> which arrayx2  
D:\matlabBook\MATLAB程式設計:進階篇\03-應用程式介面\arrayx2.mexw64
欲進行測試,可輸入如下:
>> arrayx2([1 2 3])
ans =
     2     4     6
 
      
>> arrayx2([1+i 2+2i 3+3i; 4 5 6])
ans =
  2.0000 + 2.0000i   4.0000 + 4.0000i   6.0000 + 6.0000i
   8.0000            10.0000            12.0000
>> arrayx2('Test string')  
??? Input must be a double.
本節的第二個 MEX 範例是 pairdist.c(檔名為「pairwise distance」的簡稱),可接受兩個輸入矩陣 A 和 B,矩陣的大小分別是 p×m 及 p×n,此兩個矩陣分別代表由 m 個直行向量及 n 個直行向量所形成的集合,而每一個向量的長度都是 p。此 MEX 檔案傳回一個距離矩陣 C,其中 C(i, j)為向量 A(:, i) 和向量 B(:, j) 的矩離。
pairdist.c 的程式碼如下: 
接著,我們可以對以上程式進行編譯:
>> mex pairdist.c
 
編譯完此程式後,可測試如下:
>> which pairdist  
D:\matlabBook\MATLAB程式設計:進階篇\03-應用程式介面\pairdist.mexw64
>> pairdist([2 3], [2 3 4])
ans =
     0     1     2
     1     0     1  
 
>> A = rand(2, 3);
>> B = rand(2, 4);
>> C = pairdist(A, B)
C =
    0.5104    0.9806    0.4544    0.5649
    0.3562    0.2347    0.5911    0.2628
    0.2101    0.5891    0.2675    0.1639  
 
>> pairdist('string1', 'string2')
??? Input 1 is not a full numerical array!
 
本節所介紹的範例,均是對二維矩陣進行處理,其它更複雜的範例,可見 MATLAB API 的相關手冊。
MATLAB程式設計:進階篇
