Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

블록을 사용하여 MATLAB 함수 구현하기

MATLAB Function 블록을 사용하면 MATLAB® 언어를 사용하여 Simulink® 모델에서 사용자 지정 기능을 정의할 수 있습니다. 이는 MATLAB 코드를 Simulink로 가져오는 가장 쉬운 방법입니다. MATLAB Function 블록은 Simulink Coder™ 및 Embedded Coder® 기반의 C/C++ 코드 생성을 지원합니다.

특히 다음과 같은 경우 이 블록을 사용하십시오.

  • 사용자 지정 기능을 모델링하는 기존 MATLAB 함수가 있거나 이러한 함수를 쉽게 만들 수 있습니다.

  • 모델에 Simulink 그래픽 언어로 표현되지 않거나 표현할 수 없는 사용자 지정 기능이 필요합니다.

  • Simulink 블록 다이어그램을 사용하는 것보다 MATLAB 함수를 사용하여 사용자 지정 기능을 모델링하는 것이 더 쉽게 느껴집니다.

  • 모델링하려는 사용자 지정 기능에 연속 동적 상태 또는 이산 동적 상태가 포함되어 있지 않습니다. 동적 상태를 모델링하려면 S-Function을 사용하십시오. MATLAB S-Function을 만들고 구성하기 항목을 참조하십시오.

MATLAB Function 블록의 작동 방식

MATLAB Function 블록이 포함된 모델을 시뮬레이션하면 소프트웨어가 블록에서 이진 코드 또는 C/C++ MATLAB 실행 파일(MEX) 코드를 생성하고 이 코드를 모델에 통합합니다. MATLAB Function 블록은 Simulink 외부에 있는 MATLAB 코드에서 C/C++ 코드를 생성하는 데 사용하는 MATLAB Coder와 동일한 인프라를 사용합니다.

MATLAB Function 블록은 코드 생성 기술을 기반으로 하기 때문에 MATLAB Coder와 많은 공통점이 있습니다. MATLAB Coder에 대한 C/C++ 코드 생성 제한 사항은 MATLAB Function 블록에도 적용됩니다. 그러나 MATLAB Function 블록은 Simulink 내부에서 자체적으로 작동하며 MATLAB Coder를 필요로 하지 않습니다. MATLAB Function 블록이 포함된 모델에서 독립 실행형 C/C++ 코드를 생성하려면 Simulink Coder를 사용하십시오.

MATLAB Function 블록 기능

다음은 모델에서 MATLAB Function을 사용할 수 있는 용도를 설명합니다. 예제에서 MATLAB Function 블록을 사용하는 방법을 보려면 Create Custom Functionality Using MATLAB Function Blocks 항목을 참조하십시오.

SimulinkMATLAB 간 인터페이스

MATLAB Function 블록은 MATLAB 코드와 Simulink 모델 사이에 직관적 인터페이스를 제공합니다. 블록의 입력 변수 및 출력 변수는 Simulink 입력 신호 및 출력 신호에서 속성을 상속합니다.

기본적으로 MATLAB Function 블록에 대한 입력 신호 및 출력 신호의 크기와 유형은 모두 해당 Simulink 신호에서 상속됩니다. 포트 및 데이터 관리자 또는 모델 탐색기에서 명시적으로 입력 및 출력의 크기와 유형을 지정하도록 선택할 수도 있습니다. 및 모델 탐색기를 참조하십시오.

독립 실행형 C/C++ 코드 생성

MATLAB Function 블록은 Simulink Coder 및 Embedded Coder를 사용한 C/C++ 코드 생성에 지원됩니다. MATLAB Function 블록이 포함된 Simulink 모델에서 코드 생성을 사용하여 MATLAB 환경 외부에 MATLAB 기능을 배포할 수 있습니다.

Simulink 모델에서의 C/C++ 코드 생성에 대한 자세한 내용은 Simulink Coder 항목을 참조하십시오.

MATLAB 언어 및 함수 지원

MATLAB Function 블록에서는 C/C++ 코드 생성에 지원되는 MATLAB 언어 및 언어 기능의 일부만 사용할 수 있습니다. 코드 생성에 지원되는 함수 목록은 C/C++ 코드 생성에 지원되는 함수 및 객체 항목을 참조하십시오. 지원되는 언어 기능은 MATLAB Language Features Supported for C/C++ Code Generation 항목을 참조하십시오.

외재적 함수

시뮬레이션을 위해 MATLAB Function 블록에서 외재적(extrinsic) 함수를 호출할 수 있습니다. 외재적 함수는 C/C++ 코드 생성에 지원되지는 않지만 런타임 중에 실행을 위해 MATLAB 환경으로 디스패치할 수 있습니다. 외재적 함수는 모델 시뮬레이션 중에 작업 공간에서 실행됩니다.

코드 생성 시 Simulink Coder는 명시적으로 외재적으로 선언하지 않는 한 MATLAB Function 블록의 모든 함수를 컴파일하려고 합니다. 외재적 함수 호출은 독립 실행형 C/C++ 소스 코드 또는 실행 파일과 같은 생성된 독립 실행형 코드에서 생략됩니다. Resolution of Function Calls for Code Generation 항목 및 Using the coder.extrinsic Construct 항목을 참조하십시오.

Simulink Function 블록 및 Stateflow 블록 지원

MATLAB Function 블록에서 Simulink Function 블록에 정의된 함수를 호출할 수 있습니다. 차트 속성 대화 상자에서 차트 수준 함수 내보내기(전역 함수로 만들기)내보낸 함수를 Simulink에서 호출하도록 허용 체크박스를 선택하면 Stateflow® 함수를 호출할 수 있습니다. Simulink Function 블록 및 Stateflow 블록에 정의된 함수를 호출하는 방법에 대한 자세한 내용은 Add a Simulink Function to a Model 항목을 참조하십시오.

참고 항목

| |

관련 항목