2011-05-10 5 views

답변

8

플로트 타입 데이터의 MATLAB 클래스 이름은 "single"입니다.

는 MEX-파일에서 당신은 쓸 수 다음 M-파일에서 가져

void mexFunction(int nlhs, mxArray * plhs[], int nrhs, const mxArray * prhs[]) 
{ 
    // Create a 2-by-3 real float 
    plhs[0] = mxCreateNumericMatrix(2, 3, mxSINGLE_CLASS, mxREAL); 

    // fill in plhs[0] to contain the same as single([1 2 3; 4 5 6]); 
    float * data = (float *) mxGetData(plhs[0]); 
    data[0] = 1; data[1] = 4; data[2] = 2; 
    data[3] = 5; data[4] = 3; data[5] = 6; 
} 

는 다른 함수를 호출처럼 꽤 많이 있습니다. 당신이 MEX-기능 foo라는 이름의 경우, 다음과 같이 호출 것 :

>> x = foo; 

지금 xplhs[0]에 저장된 single([1 2 3; 4 5 6])에 단 정밀도 값에 해당 포함됩니다.

+0

간단한 설명과 코드 예제를 보내 주셔서 감사합니다. – drox

+0

+1 멋지고 우아한 대답! – Shai

관련 문제