MATLAB에서 공유 라이브러리를 생성해 본 경험이 있는 사람이 있습니까?

StackOverflow https://stackoverflow.com/questions/5136

  •  08-06-2019
  •  | 
  •  

문제

한 연구원이 MATLAB에서 작은 시뮬레이션을 만들었고 우리는 다른 사람들이 이 시뮬레이션에 액세스할 수 있도록 만들고 싶습니다.내 계획은 시뮬레이션을 수행하고 몇 가지 사항을 정리한 후 이를 일련의 기능으로 바꾸는 것입니다.그런 다음 이를 C 라이브러리로 컴파일하고 SWIG를 사용하여 Python 래퍼를 만들 계획입니다.그 시점에서 나는 작은 Django 앱에서 시뮬레이션을 호출할 수 있어야 합니다.적어도 나는 그러기를 바란다.

나는 올바른 계획을 갖고 있는가?다른 사람이 비슷한 일을 한 적이 있습니까?현재 제가 인식하지 못하는 심각한 함정이 있다면 알려주실 수 있나요?

도움이 되었습니까?

해결책

별로 도움이 되진 않겠지만 MATLAB 시뮬레이션을 DLL로 래핑한 다음 Delphi 앱에서 호출할 수 있었던 것을 기억합니다.정말 잘 작동했습니다.

다른 팁

기억해야 할 한 가지는 Matlab 컴파일러가 실제로 Matlab 코드를 기본 기계 명령어로 컴파일하지 않는다는 것입니다.단순히 이를 실행하는 자체 런타임 엔진이 있는 라이브러리나 독립 실행형 실행 파일로 래핑합니다.Matlab을 설치하지 않고도 코드를 실행할 수 있고 다른 언어와 인터페이스할 수 있지만 여전히 Matlab 코드로 해석되므로 속도가 향상되지 않습니다.

나는 또한 ctypes를 먼저 시도해 볼 것입니다.

  1. Matlab 컴파일러를 사용하여 코드를 C로 컴파일합니다.
  2. C 코드를 DLL로 컴파일합니다.
  3. ctypes를 사용하여 이 DLL에서 코드를 로드하고 호출하세요.

가장 어려운 단계는 아마도 1일 것입니다. 그러나 이미 Matlab을 알고 있고 Matlab 컴파일러를 사용해 본 적이 있다면 심각한 문제는 없을 것입니다.

아마 시도해 보세요 유형 SWIG 대신.Python 2.5의 일부로 포함되었다면 좋을 것입니다 :-)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top