2012-01-03 6 views
1

Matlab로 작성된 함수를 C \ C++로 변환하여 최적화하고 싶습니다. 결과는 더 큰 MATLAB 코드의 작은 부분이므로 matlab에서 호출 가능해야합니다.코드 패키지를 사용하는 .mxx 코드

예를 들어, .mex 파일로 래핑 된 C 코드로 my 함수를 변환하면 작동합니다. 나는 그것으로 도울 수있는 MATLAB 코더 패키지를 들었다.

이 패키지에 익숙하지 않으므로이를 구현하는 가장 빠른 방법은 무엇입니까?

+0

코드의 복잡성에 달려 있습니다 ... matab 코더 라이센스가 있습니까? – Oli

답변

2

MATLAB Coder에 대한 라이센스가있는 경우 사용할 수있는 올바른 패키지입니다. 찾고있는 기능은 codegen입니다. 코드 생성에 이용 될 수 있는지에 대한 제한이 다음 MATLAB 편집기에서 기능 파일을

function foo(bar) %#codegen 
    <your code here> 

아래와 같이 함수의 시작 부분에 태그 %#codegen를 추가하고 열, 함수 이러한 제한 사항을 충족하는지 확인 . 이 태그는 코드가 코드 생성 규칙을 준수하는지 확인하도록 편집기에 지시합니다. 에디터가 코드가 그 규칙을 준수 함을 표시하면, MEX 파일을 생성하는 것은 쉬운

>> codegen foo 
MEX-파일을 생성 할

, foo_mex

로 현재 폴더에있을 수 있습니다. 특정 함수의 경우 mex-file을 적절하게 생성하려면 codegen에 대한 선택적 인수 중 일부를 사용해야 할 수도 있습니다.

+0

감사. 나는 면허가있다. 면허가없는 사람에게이 mex를 줄 수 있습니까? (아마도이 ​​패키지가 출시되기 전에 더 오래된 Matlab 버전을 실행할 것입니다) – Leo

+0

AFAIK mex-file을 사용하기위한 라이센스가 필요하지 않습니다. 그러나 Mex 파일은 파일 확장자에서 볼 수 있듯이 아키텍처에 따라 다르므로 다른 사람의 컴퓨터 아키텍처를 알아야합니다. 이전 버전의 MATLAB에 관해서는 mex-files 링크가 변경하지 않는 기본 라이브러리가 있지만 응용 프로그램에서 작동하는지 확인해야한다고 생각합니다. – AValenzuela