이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
MATLAB Function
Simulink 모델에 MATLAB 코드 포함
라이브러리:
Simulink /
User-Defined Functions
HDL Coder /
User-Defined Functions
설명
MATLAB Function 블록을 사용하면 Simulink® 모델에서 실행되는 MATLAB® 함수를 쓸 수 있습니다. MATLAB 함수는 각 시간 스텝에서 시뮬레이션 중에 실행됩니다. MATLAB 코드를 Simulink 모델에 통합하는 방법에 대한 자세한 내용은 MATLAB Function 블록으로 Simulink에서 MATLAB 함수 구현하기 항목을 참조하십시오. Simulink Coder™ 라이선스가 있는 경우에는 MATLAB Function 블록에서 Simulink Coder 타깃에 대한 C/C++ 코드도 생성할 수 있습니다.
MATLAB Function 블록을 더블 클릭하여 MATLAB Function 블록 편집기를 열어서 MATLAB 함수를 쓸 수 있습니다. 또한 모델 탐색기 또는 기호 창을 사용하여 변수를 정의하고 입력 트리거를 추가하고 함수 호출 출력을 만들 수 있습니다. 자세한 내용은 Create and Define MATLAB Function Block Variables 항목, Manage the Input Trigger of a MATLAB Function Block 항목, Manage Function Call Outputs of a MATLAB Function Block 항목을 참조하십시오.
기호 창에서 블록 입력을 포트가 아닌 Simulink 파라미터로 선언할 수 있습니다. MATLAB Function 블록은 또한 입력, 출력, 파라미터에 대한 유형 및 크기의 상속을 지원합니다. 이러한 속성을 명시적으로 지정할 수 있습니다. Define and Modify Variable Data Types 항목, Specify Size of MATLAB Function Block Variables항목, 파라미터 변수를 정의하여 여러 MATLAB Function 블록에서 데이터 사용 항목을 참조하십시오.
MATLAB Function 블록을 포함하는 모델을 시뮬레이션하면 이 블록에서 이진 코드 또는 C/C++ MATLAB 실행 파일(MEX) 코드가 생성되고 이 코드는 모델과 통합됩니다. MATLAB Function 블록은 Simulink 외부의 MATLAB 코드에서 C/C++ 코드를 생성하는 데 사용할 수 있는 MATLAB Coder와 동일한 인프라를 사용합니다. 따라서 MATLAB Function 블록 코드는 코드 생성 시 지원되는 MATLAB 규칙을 사용해야 합니다. Code and Integration Limitations for MATLAB Function Blocks 항목을 참조하십시오.
데이터의 시각화를 지원하기 위해 MATLAB Function 블록은 시뮬레이션에 대해서만 MATLAB 함수에 대한 호출을 지원합니다 MATLAB Engine을 사용하여 MATLAB Function 블록에서 함수 호출 실행하기 항목을 참조하십시오. Simulink Coder를 사용하여 코드를 생성하는 경우, 함수 호출이 Simulink 입력 또는 출력에 직접적인 영향을 미치지 않으면 호출은 생성 코드에 나타나지 않습니다.
예제
확장 예제
제한 사항
포트
입력
출력
파라미터
블록 특성
팁
다음에 정의된 함수를 호출할 수 있습니다.
Simulink Function 블록.
차트의 Stateflow® 함수. 차트의 함수를 호출하려면 차트 수준 함수 내보내기 속성과 내보낸 함수를 전역적으로 볼 수 있는 함수로 취급 속성을 활성화하십시오.
기본적으로 MATLAB Function 블록은
%#codegen
지시문을 포함하지 않지만 마치 이 지시문이 포함되어 있는 것처럼 오류를 검사합니다.%#codegen
지시문을 MATLAB Function 블록에 추가해도 오류 검사에 영향을 미치지 않습니다. 자세한 내용은 컴파일 지시문 %#codegen 항목을 참조하십시오.