MATLAB C/C++ 數學函式庫是擴充功能的重要組成部分,包含大量以 C/C++ 重寫的 MATLAB 函數:初等數學、線性代數、矩陣運算、數值計算、特殊數學、多項式、插值等。開發者可在自有 C/C++ 程式中呼叫這些函數,實現複雜矩陣運算,減少開發工作量。注意:C 函式庫與 C++ 函式庫是兩套不同的庫。
在 MATLAB 指令視窗依序執行:
mbuild -setup
mex -setup
皆選擇 VC 編譯器,完成設定。
ex1.c)#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "matlab.h" // C 數學庫標頭檔
static double real_data[] = {1,2,3,4,5,6};
static double cplx_data[] = {7,8,9,10,11,12};
int main()
{
mxArray *mat0 = NULL, *mat1 = NULL;
mlfEnterNewContext(0, 0); // 自動記憶體管理
mlfAssign(&mat0, mlfDoubleMatrix(2, 3, real_data, NULL));
mlfAssign(&mat1, mlfDoubleMatrix(3, 2, real_data, cplx_data));
mlfPrintMatrix(mat0);
mlfPrintMatrix(mat1);
mxDestroyArray(mat0);
mxDestroyArray(mat1);
mlfRestorePreviousContext(0, 0);
return EXIT_SUCCESS;
}
ex1.c (位於 matlab\extern\examples\cmath)。Tools → Options → Directories → Include):
D:\matlab\extern\include\cppD:\matlab\extern\include
圖 2
Library 分頁):
D:\matlab\extern\lib\win32\microsoft\msvc60D:\matlab\extern\libD:\matlab\bin
圖 3
Project → Settings → Link → General → Object/Library Modules):
將 msvc60 目錄下所有 .lib 檔名加入。

圖 4

圖 1
詳細用法請參考 MATLAB 說明文件。
在 C 函式庫基礎上以類別封裝,支援多載、繼承等 C++ 特性。主要差異:C++ 以類別定義資料結構,C 則用結構體。注意:MATLAB 7.0 不再使用 C/C++ 函式庫,上述方法在 7.0 會出錯。