Main Content

mxCreateNumericArray(C)

N차원 숫자형 배열

C 구문

#include "matrix.h"
mxArray *mxCreateNumericArray(mwSize ndim, const mwSize *dims,
    mxClassID classid, mxComplexity ComplexFlag);

설명

mxCreateNumericArray를 사용하여 N차원 mxArray를 만듭니다. 데이터 요소는 classid로 지정된 숫자 데이터형을 갖습니다.

mxCreateNumericArray는 다음과 같은 점에서 mxCreateDoubleMatrix와 다릅니다.

  • mxCreateDoubleMatrix의 모든 데이터 요소는 배정밀도 부동소수점 숫자입니다. mxCreateNumericArray의 데이터 요소는 서로 다른 정수 정밀도를 포함하는 임의의 숫자형일 수 있습니다.

  • mxCreateDoubleMatrix는 2차원 배열만 생성합니다. mxCreateNumericArray는 2차원 이상의 배열을 생성할 수 있습니다.

MATLAB®dims 인수에 지정된 후행 한원소 차원을 자동으로 제거합니다. 예를 들어 ndim5이고 dims[4 1 7 1 1]이면, 결과 배열은 4×1×7 차원을 갖습니다.

다음 표에는 MATLAB 클래스에 해당하는 C classid 값이 나와 있습니다.

MATLAB 클래스 이름

C classid

int8

mxINT8_CLASS

uint8

mxUINT8_CLASS

int16

mxINT16_CLASS

uint16

mxUINT16_CLASS

int32

mxINT32_CLASS

uint32

mxUINT32_CLASS

int64

mxINT64_CLASS

uint64

mxUINT64_CLASS

single

mxSINGLE_CLASS

double

mxDOUBLE_CLASS

mxArray 사용을 마치면 mxDestroyArray를 호출하십시오. mxDestroyArray 함수는 mxArray 및 이와 연결된 실수부와 허수부를 할당 해제합니다.

입력 인수

모두 확장

차원 수로, mwSize로 지정됩니다. ndim이 2보다 작은 경우 mxCreateNumericArray는 차원 수를 2로 설정합니다.

차원 배열로, const mwSize *로 지정됩니다.

차원 배열의 각 요소에는 해당 차원의 배열 크기가 들어 있습니다. 예를 들어 5×7 배열을 생성하려면, dims[0]을 5로, dims[1]을 7로 설정하십시오.

일반적으로 dims 배열에는 ndim개의 요소가 들어 있습니다.

클래스 식별자로, mxClassID 열거형으로 지정됩니다. classid는 메모리에서 숫자형 데이터가 표현되는 방식을 결정합니다. 예를 들어 mxCreateNumericMatrixmxINT16_CLASS 값을 부호 있는 16비트 정수로 저장합니다.

복소수 배열 표시자로, mxComplexity 값으로 지정됩니다.

mex -R2018a 명령으로 빌드된 애플리케이션의 경우 함수는 각 데이터 요소를 0으로 초기화합니다.

다른 모든 mex 릴리스별 빌드 옵션의 경우 함수는 pr 배열의 각 요소를 설정합니다. ComplexFlagmxCOMPLEX이면, 함수는 pi 배열을 0으로 설정합니다.

출력 인수

모두 확장

classid 유형의 mxArray에 대한 포인터로, mxArray *로 지정됩니다.

mxArray 생성을 위한 여유 힙 공간이 충분하지 않으면 이 함수는 실패합니다.

  • MEX 파일 — 함수는 MEX 파일을 종료하고 제어를 MATLAB 프롬프트로 반환합니다.

  • 독립 실행형(비 MEX 파일) 애플리케이션 — 함수는 NULL을 반환합니다.

예제

matlabroot/extern/examples/refbook에서 다음 예제를 참조하십시오.

matlabroot/extern/examples/mx에서 다음 예제를 참조하십시오.

버전 내역

R2006a 이전에 개발됨