Main Content

C Matrix API

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 기능이 포함되어 있습니다.

이러한 라이브러리 함수를 사용하는 예제를 보려면 다음 항목을 참조하십시오.

주의

C Matrix API는 최신 C++ 기능을 지원하는 C++용 MATLAB Data API와 호환되지 않습니다. C Matrix API의 함수는 MATLAB에서 호출 가능한 C++ 함수 작성하기(MEX 파일) 또는 C++에서 MATLAB 호출하기에 설명된 MATLAB API의 함수와 함께 사용할 수 없습니다.

C 데이터형

mxArrayMATLAB 배열에 대한 C 유형
mwSizemxArray 크기 값의 C 유형
mwIndexmxArray 인덱스 값에 대한 C 유형
mwSignedIndexmxArray 크기 값의 부호 있는 정수 C 유형
mxCharType for string array
mxLogical논리형 배열의 유형
mxComplexity배열에 허수부가 있는지를 지정하는 플래그

mxArray 특성

mxIsNumericDetermine whether mxArray is numeric
mxIsComplexDetermine whether data is complex
mxGetNumberOfDimensionsmxArray의 차원 수
mxGetElementSizeNumber of bytes required to store each data element
mxGetDimensions차원 배열에 대한 포인터
mxSetDimensionsModify number of dimensions and size of each dimension
mxGetNumberOfElements숫자형 mxArray의 요소 개수
mxCalcSingleSubscriptOffset from first element to desired element
mxGetMmxArray의 행 개수
mxSetMmxArray의 행 개수 설정
mxGetNmxArray의 열 개수
mxSetNmxArray의 열 개수 설정
mxIsEmptyDetermine whether mxArray is empty
mxIsFromGlobalWSDetermine whether mxArray was copied from MATLAB global workspace

데이터형 만들기, 쿼리 및 액세스하기

모두 확장

mxCreateDoubleMatrix2차원, 배정밀도, 부동소수점 배열
mxCreateDoubleScalar지정된 값으로 초기화되는 스칼라 배정밀도 배열
mxCreateNumericMatrix2차원 숫자형 행렬
mxCreateNumericArrayN차원 숫자형 배열
mxCreateUninitNumericMatrixUninitialized 2-D numeric matrix
mxCreateUninitNumericArrayUninitialized N-D numeric array
mxIsScalarDetermine whether array is scalar array
mxGetScalarReal component of first data element in array
mxIsDoubleDetermine whether mxArray represents data as double-precision, floating-point numbers
mxGetDoublesmxDOUBLE_CLASS 배열의 실수 데이터 요소
mxSetDoublesmxDOUBLE_CLASS 배열에 실수 데이터 요소 설정
mxIsSingleDetermine whether mxArray represents data as single-precision, floating-point numbers
mxGetSinglesmxSINGLE_CLASS 배열의 실수 데이터 요소
mxSetSinglesSet real data elements in mxSINGLE_CLASS array
mxGetPr(권장되지 않음) mxDOUBLE_CLASS 배열의 실수 데이터 요소
mxSetPr(Not recommended) Set real data elements in mxDOUBLE_CLASS array
mxIsInt8Determine whether mxArray represents data as signed 8-bit integers
mxGetInt8smxINT8_CLASS 배열의 실수 데이터 요소
mxSetInt8sSet real data elements in mxINT8_CLASS array
mxIsUint8Determine whether mxArray represents data as unsigned 8-bit integers
mxGetUint8smxUINT8_CLASS 배열의 실수 데이터 요소
mxSetUint8sSet real data elements in mxUINT8_CLASS array
mxIsInt16Determine whether mxArray represents data as signed 16-bit integers
mxGetInt16smxINT16_CLASS 배열의 실수 데이터 요소
mxSetInt16sSet real data elements in mxINT16_CLASS array
mxIsUint16Determine whether mxArray represents data as unsigned 16-bit integers
mxGetUint16smxUINT16_CLASS 배열의 실수 데이터 요소
mxSetUint16sSet real data elements in mxUINT16_CLASS array
mxIsInt32Determine whether mxArray represents data as signed 32-bit integers
mxGetInt32smxINT32_CLASS 배열의 실수 데이터 요소
mxSetInt32sSet real data elements in mxINT32_CLASS array
mxIsUint32Determine whether mxArray represents data as unsigned 32-bit integers
mxGetUint32smxUINT32_CLASS 배열의 실수 데이터 요소
mxSetUint32sSet real data elements in mxUINT32_CLASS array
mxIsInt64Determine whether mxArray represents data as signed 64-bit integers
mxGetInt64smxINT64_CLASS 배열의 실수 데이터 요소
mxSetInt64sSet data elements in mxINT64_CLASS array
mxIsUint64Determine whether mxArray represents data as unsigned 64-bit integers
mxGetUint64smxUINT64_CLASS 배열의 실수 데이터 요소
mxSetUint64sSet real data elements in mxUINT64_CLASS array
mxGetComplexDoublesmxDOUBLE_CLASS 배열의 복소수 데이터 요소
mxSetComplexDoublesSet complex data elements in mxDOUBLE_CLASS array
mxGetComplexSinglesmxSINGLE_CLASS 배열의 복소수 데이터 요소
mxSetComplexSinglesSet complex data elements in mxSINGLE_CLASS array
mxGetImagDataImaginary data elements in numeric mxArray
mxSetImagDataSet imaginary data elements in numeric mxArray
mxGetPi(Not recommended) Imaginary data elements in mxDOUBLE_CLASS array
mxSetPi(Not recommended) Set imaginary data elements in mxDOUBLE_CLASS array
mxGetComplexInt8sComplex data elements in mxINT8_CLASS array
mxSetComplexInt8sSet complex data elements in mxINT8_CLASS array
mxGetComplexUint8sComplex data elements in mxUINT8_CLASS array
mxSetComplexUint8sSet complex data elements in mxUINT8_CLASS array
mxGetComplexInt16sComplex data elements in mxINT16_CLASS array
mxSetComplexInt16sSet complex data elements in mxINT16_CLASS array
mxGetComplexUint16sComplex data elements in mxUINT16_CLASS array
mxSetComplexUint16sSet complex data elements in mxUINT16_CLASS array
mxGetComplexInt32sComplex data elements in mxINT32_CLASS array
mxSetComplexInt32sSet complex data elements in mxINT32_CLASS array
mxGetComplexUint32sComplex data elements in mxUINT32_CLASS array
mxSetComplexUint32sSet complex data elements in mxUINT32_CLASS array
mxGetComplexInt64sComplex data elements in mxINT64_CLASS array
mxSetComplexInt64sSet complex data elements in mxINT64_CLASS array
mxGetComplexUint64sComplex data elements in mxUINT64_CLASS array
mxSetComplexUint64sSet complex data elements in mxUINT64_CLASS array
mxGetPi(Not recommended) Imaginary data elements in mxDOUBLE_CLASS array
mxSetPi(Not recommended) Set imaginary data elements in mxDOUBLE_CLASS array
mxCreateSparse2-D sparse array
mxCreateSparseLogicalMatrix2-D, sparse, logical array
mxIsSparseDetermine whether input is sparse mxArray
mxGetNzmaxNumber of elements in IR, PR, and PI arrays
mxSetNzmaxSet storage space for nonzero elements
mxGetIrSparse matrix IR array
mxSetIrIR array of sparse array
mxGetJcSparse matrix JC array
mxSetJcJC array of sparse array
mxGetData숫자형이 아닌 mxArray의 데이터 요소
mxSetDataSet pointer to data elements in nonnumeric mxArray
mxCreateString지정된 문자열로 초기화된 1차원 배열
mxCreateCharMatrixFromStrings2-D mxChar array initialized to specified value
mxCreateCharArrayN차원 mxChar 배열
mxIsCharDetermine whether input is mxChar array
mxGetChars문자형 배열 데이터에 대한 포인터
mxIsLogicalDetermine whether mxArray is of type mxLogical
mxIsLogicalScalarDetermine whether scalar array is of type mxLogical
mxIsLogicalScalarTrueDetermine whether scalar array of type mxLogical is true
mxClassID배열의 클래스를 식별하는 열거형 값
mxCreateLogicalArrayN-D logical array
mxCreateLogicalMatrix2-D logical array
mxCreateLogicalScalarScalar, logical array
mxGetLogicalsPointer to logical array data
mxIsClassDetermine whether mxArray is object of specified class
mxGetClassIDClass of mxArray
mxGetClassNameClass of mxArray as string
mxSetClassNameStructure array to MATLAB object array
mxGetPropertyValue of public property of MATLAB object
mxSetPropertySet value of public property of MATLAB object
mxCreateStructMatrix2차원 구조체형 배열
mxCreateStructArrayN차원 구조체형 배열
mxIsStructDetermine whether mxArray is structure
mxGetFieldPointer to field value from structure array, given index and field name
mxSetFieldSet field value in structure array, given index and field name
mxGetNumberOfFieldsNumber of fields in structure array
mxGetFieldNameByNumberPointer to field name from structure array, given field number
mxGetFieldNumberField number from structure array, given field name
mxGetFieldByNumberPointer to field value from structure array, given index and field number
mxSetFieldByNumberSet field value in structure array, given index and field number
mxAddField구조체형 배열에 필드 추가
mxRemoveFieldRemove field from structure array
mxCreateCellMatrix2-D cell array
mxCreateCellArrayN-D cell array
mxIsCellDetermine whether mxArray is cell array
mxGetCellPointer to element in cell array
mxSetCellSet contents of cell array

mxArray 삭제 및 복제

mxDestroyArrayMXCREATE* 함수에 의해 할당된 동적 메모리 해제
mxDuplicateArray배열의 깊은 복사본 생성

mxArray 변환하기

모두 확장

mxMakeArrayComplexConvert real mxArray to complex, preserving real data
mxMakeArrayReal실수 데이터를 유지하면서 복소수 mxArray를 실수로 변환
mxArrayToString배열을 문자열로
mxArrayToUTF8String배열을 UTF-8 인코딩의 문자열로 변환
mxGetStringmxChar array to C-style string or Fortran character array
mxSetClassNameStructure array to MATLAB object array

데이터 메모리 관리

mxCallocAllocate dynamic memory for array, initialized to 0, using MATLAB memory manager
mxMallocAllocate uninitialized dynamic memory using MATLAB memory manager
mxReallocReallocate dynamic memory using MATLAB memory manager
mxFreeFree dynamic memory allocated by mxCalloc, mxMalloc, mxRealloc, mxArrayToString, or mxArrayToUTF8String functions

어설션

mxAssertCheck assertion value for debugging purposes
mxAssertSCheck assertion value without printing assertion text

상수

mxIsInfDetermine whether input is infinite
mxIsFiniteDetermine whether input is finite
mxIsNaNDetermine whether input is NaN (Not-a-Number)

도움말 항목