C Matrix API
mxArray
유형을 사용해 MATLAB 데이터를 나타내는 C 프로그램 생성MATLAB® R2017b 이하 버전에서 작동하는 C 프로그램을 작성하려면 C Matrix API의 함수를 사용하십시오. 이러한 함수는 mxArray
데이터 구조와 호환되는 C MEX 함수 또는 C 엔진 애플리케이션을 작성하는 데 사용됩니다.
참고
가능하면 C 애플리케이션보다 C++ 애플리케이션을 선택합니다.
C Matrix API는 두 가지 버전이 있습니다.
MATLAB R2018a에는 실수부/허수부 결합형 복소수 API에 C Matrix API 기능이 포함되어 있습니다. 자세한 내용은 MATLAB Support for Interleaved Complex API in MEX Functions 항목을 참조하십시오.
MATLAB R2017b에는 실수부/허수부 분리형 복소수 API에 C Matrix API 기능이 포함되어 있습니다.
이러한 라이브러리 함수를 사용하는 예제를 보려면 다음 항목을 참조하십시오.
예제 정보는 개별 함수에서 참조하십시오. 예를 들어
mxIsChar
을 참조하십시오.
주의
C Matrix API는 최신 C++ 기능을 지원하는 C++용 MATLAB Data API와 호환되지 않습니다. C Matrix API의 함수는 MATLAB에서 호출 가능한 C++ 함수 작성하기(MEX 파일) 또는 C++에서 MATLAB 호출하기에 설명된 MATLAB API의 함수와 함께 사용할 수 없습니다.
C 데이터형
mxArray | MATLAB 배열에 대한 C 유형 |
mwSize | mxArray 크기 값의 C 유형 |
mwIndex | mxArray 인덱스 값에 대한 C 유형 |
mwSignedIndex | mxArray 크기 값의 부호 있는 정수 C 유형 |
mxChar | Type for string array |
mxLogical | 논리형 배열의 유형 |
mxComplexity | 배열에 허수부가 있는지를 지정하는 플래그 |
mxArray 특성
mxIsNumeric | Determine whether mxArray is numeric |
mxIsComplex | Determine whether data is complex |
mxGetNumberOfDimensions | mxArray의 차원 수 |
mxGetElementSize | Number of bytes required to store each data element |
mxGetDimensions | 차원 배열에 대한 포인터 |
mxSetDimensions | Modify number of dimensions and size of each dimension |
mxGetNumberOfElements | 숫자형 mxArray의 요소 개수 |
mxCalcSingleSubscript | Offset from first element to desired element |
mxGetM | mxArray의 행 개수 |
mxSetM | mxArray의 행 개수 설정 |
mxGetN | mxArray의 열 개수 |
mxSetN | mxArray의 열 개수 설정 |
mxIsEmpty | Determine whether mxArray is empty |
mxIsFromGlobalWS | Determine whether mxArray was copied from MATLAB global workspace |
데이터형 만들기, 쿼리 및 액세스하기
mxArray 삭제 및 복제
mxDestroyArray | MXCREATE* 함수에 의해 할당된 동적 메모리 해제 |
mxDuplicateArray | 배열의 깊은 복사본 생성 |
mxArray 변환하기
데이터 메모리 관리
mxCalloc | Allocate dynamic memory for array, initialized to 0, using MATLAB memory manager |
mxMalloc | Allocate uninitialized dynamic memory using MATLAB memory manager |
mxRealloc | Reallocate dynamic memory using MATLAB memory manager |
mxFree | Free dynamic memory allocated by mxCalloc, mxMalloc, mxRealloc, mxArrayToString, or mxArrayToUTF8String functions |
어설션
상수
mxIsInf | Determine whether input is infinite |
mxIsFinite | Determine whether input is finite |
mxIsNaN | Determine whether input is NaN (Not-a-Number) |
도움말 항목
- Pass Strings in C MEX File
This example shows how to pass strings to a MEX function built with the C Matrix API.
- Pass Scalar Values in C MEX File
This example shows how to write a MEX file that passes scalar values.
- Handle Sparse Arrays in C MEX File
This example shows how to populate a sparse matrix using the C Matrix API.
- Handle 8-, 16-, 32-, and 64-Bit Data in C MEX File
This example shows how to use unsigned 16-bit integers in a MEX file using the C Matrix API.
- C MEX 파일에 구조체와 셀형 배열 전달하기
이 예제에서는 C Matrix API를 사용하여 작성한 MEX 파일에 구조체와 셀형 배열을 전달하는 방법을 보여줍니다.
- Manipulate Multidimensional Numerical Arrays in C MEX Files
You can manipulate multidimensional numerical arrays by using typed data access functions like
mxGetDoubles
andmxGetComplexDoubles
.