2017-12-13 5 views
0

나는 짧은 질문이 있습니다 : 내가 (역 고속 푸리에 변환) C 코드에서 matlab에 fuction를의 IFFT를 호출하고 싶은전화 matlab에 IFFT에서 C

전 C에 대한 MATLAB API를 이해하려고 노력했지만, 내가 할 수있는 어떻게 인수를 전달하는 방법에 대한 예제 또는 C 코드 내에서 matlab 에의 내부 fuction 호출하는 방법을 찾을 수 없습니다

어떤 힌트를 크게 극명하게 될 것입니다!

줄리아

+3

Matlab의 FFT는 [FFTW] (http://www.fftw.org/) 위에 구현됩니다. 따라서 직접 사용하는 것이 좋습니다. –

+0

확인 충분히 공평하게 들리는데, 나는 그것이 fftw보다 MATLAB을 더 쉽게 호출 할 것이라고 생각했다. –

답변

0

MATLAB 코더 응용 프로그램을 사용하여 스크립트에서 C 코드를 생성 할 수 있습니다. 그건 ifft 호출 가능해야합니다. 가장 어려운 방법은 exec() matlab을 사용하고 출력을 다시 가져 오는 것입니다. 올리버의 대답은 확실히 가장 깨끗하고 최상의 경로입니다.

0

MATLAB에서 호출 할 c/C++ 기반 함수를 사용하는 방법은 mex 파일을 작성하는 것입니다. 기본 단계는 다음과 같습니다

  1. 쓰기 AC/C++ 스크립트, 당신은()

  2. 를 빌드 .mex (64 비트 시스템에 대한 .mexw64)를 생성하기 위해 (예를 들어 비주얼 스튜디오를 사용하여) IFFT 말 파일.

  3. 당신이 당신의 .mex 파일

다양한 MATLAB 및 C/C++ 코드 사이의 인터페이스가 특정 규칙을 따라야을 한 번 MATLAB 코드로부터 IFFT()를 호출합니다. 도서관처럼 꽤 많이 https://www.mathworks.com/help/matlab/ref/mex.html

.mex 파일입니다

https://www.mathworks.com/help/matlab/matlab_external/standalone-example.html

다음

는 C/C를 구축하는 방법 ++ 스크립트를 .mex 파일에있다가 : 여기를 참조 할 수 있습니다 예입니다 . 빌드 한 후 MATLAB 스크립트와 동일한 폴더에 넣으면 실행할 수 있습니다.

희망이 있습니다.