Main Content

C++ 빌드 환경 테스트하기

C++ 예제 testFeval 만들기

C++용 MATLAB® Engine API를 사용하는 애플리케이션 빌드에 필요한 설치 및 환경을 테스트하기 위해 testFeval.cpp라는 파일(어떤 이름이든 사용할 수 있음)에 다음 C++ 코드를 저장합니다.

#include "MatlabDataArray.hpp"
#include "MatlabEngine.hpp"
#include <iostream>
void callSQRT() {

    using namespace matlab::engine;

    // Start MATLAB engine synchronously
    std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB();

    //Create MATLAB data array factory
    matlab::data::ArrayFactory factory;

    // Define a four-element typed array
    matlab::data::TypedArray<double> const argArray = 
        factory.createArray({ 1,4 }, { -2.0, 2.0, 6.0, 8.0 });

    // Call MATLAB sqrt function on the data array
    matlab::data::Array const results = matlabPtr->feval(u"sqrt", argArray);

    // Display results
    for (int i = 0; i < results.getNumberOfElements(); i++) {
        double a = argArray[i];
        std::complex<double> v = results[i];
        double realPart = v.real();
        double imgPart = v.imag();
        std::cout << "Square root of " << a << " is " << 
            realPart << " + " << imgPart << "i" << std::endl;
    }
}

int main() {
    callSQRT();
    return 0;
}

지원되는 C++ 컴파일러 선택하기

MATLAB 명령 프롬프트에서 다음을 입력합니다.

mex -setup -client engine C++

사용하려는 설치된 컴파일러를 선택합니다. 지원되는 컴파일러의 최신 목록을 보려면 지원 및 호환되는 컴파일러를 참조하십시오.

testFeval 예제 빌드하기

엔진 애플리케이션을 빌드하려면 다음 명령을 입력합니다. mex 명령을 사용하면 현재 폴더에 실행 파일이 저장됩니다.

mex -v -client engine testFeval.cpp

런타임 환경 설정하기

다음의 플랫폼별 런타임 환경 변수를 설정합니다.

운영 체제변수경로

Windows®

PATH

matlabroot\extern\bin\win64

Apple Silicon이 탑재된 macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maca64

Intel®이 탑재된 macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maci64

Linux®

LD_LIBRARY_PATH

matlabroot/extern/bin/glnxa64:matlabroot/sys/os/glnxa64

testFeval 예제 실행하기

프로그램을 호출합니다.

!testFeval.exe

다음은 이 프로그램에서 생성된 출력값입니다. 이 경우, MATLAB은 데이터 배열에 포함된 숫자 중 하나가 음수이기 때문에 복소수 배열을 반환합니다.

Square root of -2 is 0 + 1.41421i
Square root of 2 is 1.41421 + 0i
Square root of 6 is 2.44949 + 0i
Square root of 8 is 2.82843 + 0i

참고 항목

|

관련 항목