프로그래밍/매트랩

매트랩 시뮬링크 조건문

에이티에스 2023. 9. 2. 19:42
728x90

 

MATLAB Simulink에서 조건문과 논리문의 작동 원리를 설명합니다. 우선, 논리적 명령문, 즉 IF-else 문에 대한 간략하고 간결한 소개를 제공하고  MATLAB의 Simulink에서 구현하는 방법을 살펴보겠습니다.

마지막으로 이론적 결과를 Simulink에서 블록 다이어그램의 가상 결과와 비교합니다. 

 

If-Else 조건문 소개

If-else 문을 사용하면 조건부 논리의 값에 따라 다른 실행을 수행할 수 있습니다. 이는 입력 변수를 조건과 일치시키는 것을 기반으로 작동합니다. 입력 변수가 조건을 만족하는 경우 if 블록 아래의 if 문이 실행을 시작하고 조건이 일치하지 않으면 else 블록이 실행됩니다.

다른 프로그래밍 언어로 작업한 경험이 있는 사람은 조건문, 즉 If-Else 문 또는 If-Then-Else 문에 익숙해야 합니다. 이러한 명령문을 사용하여 특정 조건이 참일 때 코드의 특정 부분을 구현하고 해당 조건이 거짓으로 판명되면 다른 부분을 구현합니다. 때때로 우리는 조건문을 조건식 또는 조건부 제약 조건으로 참조할 수 있으며, 이는 선택적 코드 줄만 실행하려는 경우에 특히 사용할 수 있습니다.

 

그러나 Simulink는 이러한 조건문을 스위치 블록으로 식별합니다. 그들의 작업은 특정 조건에 달려 있습니다. 그것이 사실이되면 프로그램은 하나의 명령문을 실행하고 그것이 거짓으로 판명되면 프로그램 부분에 대한 설명에서 곧 볼 수 있듯이 다른 명령문을 구현합니다.

 

Simulink에서 switch 블록의 작동 방식과 if-else 문을 수행하는 방법을 이해하는 데 도움이 되는 간단한 예제를 수행합니다. 먼저 MATLAB 소프트웨어를 엽니다. 그런 다음 명령 창이나 MATLAB 첫 페이지에 있는 Simulink 아이콘을 사용하여 Simulink를 엽니다. 그런 다음 아래 그림과 같이 Simulink의 기본 창에 있는 라이브러리 브라우저 아이콘을 클릭합니다.

라이브러리 브라우저

이 버튼을 누르면 Simulink의 라이브러리 브라우저가 열리고 필요한 블록을 선택할 수 있습니다. 라이브러리 검색기의 일반적으로 사용되는 블록 섹션에서 상수 블록을 선택합니다. 아래 그림을 참조하십시오.

상수 블록 검색

 

구성요소 배치

라이브러리 브라우저에서 Simulink 블록 다이어그램 부분으로 상수 블록을 끌어다 놓습니다. 이 블록을 입력으로 사용하여 조건이 참인지 확인합니다. 아래 그림에서 볼 수 있듯이 Simulink의 블록 다이어그램에 이러한 블록 3개를 배치합니다.

상수 블록

이러한 블록은 다른 목적을 가지고 있습니다. 이러한 블록 중 하나는 조건문 블록의 조건이 true인 경우 출력에 표시할 입력을 저장합니다. 마찬가지로, 블록 중 하나는 조건이 false인 경우 출력값을 표시합니다. 세 번째 블록은 특수 목적 블록이며 조건부 블록으로 사용합니다. 예를 들어, 스위치 블록의 조건은 이 조건부 상수 블록에 대해 검증될 것이다. 그리고 이 블록에 따라 조건의 이름이 true 또는 false로 지정됩니다. 나중에 인식할 수 있도록 작업에 따라 이러한 블록의 이름을 지정합니다. 아래 그림을 참조하십시오.

명명된 블록

블록의 이름을 지정했으면 이제 전환 부분으로 넘어 갑시다. Simulink는 switch라는 블록을 제공합니다. 이름으로 검색하거나 Simulink의 라이브러리 브라우저로 이동하여 아래 그림과 같이 신호 라우팅 섹션을 클릭할 수 있습니다.

신호 라우팅

 

이 섹션에서는 아래 그림과 같이 스위치 블록을 클릭합니다.

스위치 블록

 

연결된 블록

라이브러리 브라우저에서 이 블록을 드래그하여 이미 배치된 세 개의 블록 앞에 놓습니다. 트루 블록을 스위치 블록의 상단 입력에 연결합니다. 그런 다음 아래 그림에서 볼 수 있듯이 중간 입력에서 조건을 연결하고 스위치 블록의 하단 입력에서 false를 연결합니다.

연결된 블록

 

이제 우리의 관심은 작동을 확인하기 위해 스위치 출력에 결과를 표시하는 것입니다. 디스플레이 블록을 배치해 보겠습니다. 아래 그림과 같이 라이브러리 브라우저의 sinks 섹션으로 이동합니다.

싱크

 

이 싱크 섹션에서 아래 그림과 같이 표시 블록을 선택합니다.

디스플레이 블록

라이브러리 브라우저에서 이 블록을 끌어 스위치 블록의 출력에 놓습니다. 이제 아래 그림과 같이 두 블록을 모두 연결합니다.

디스플레이 연결됨

임계값 속성

이제 조건 상수의 조건이 참인지 거짓인지를 결정하는 스위치 블록의 조건을 설정해 보겠습니다. 스위치 블록을 두 번 클릭하고 매개변수 대화 상자에서 조건 유형과 임계값도 선택할 수 있습니다. 예를 들어, 우리의 경우 아래 그림과 같이 임계값 조건을 선택했습니다.

임계값 조건

이제 이 경우 5를 선택했으므로 임계값을 변경할 수도 있습니다. 아래 그림을 참조하십시오.

임계값

설정 조건

위에서 선택한 조건은 조건문 블록의 값이 5보다 크면 true 출력을 제공하고 그렇지 않으면 false입니다. 이제 실제 상수 블록에서 두 번 클릭하여 아래 그림과 같이 블록 매개변수 대화 상자에서 값을 10으로 설정합니다.

트루 블록 값

false 상수 블록에 아래 그림과 같이 값 0을 입력합니다.

거짓 블록 값

전체 블록 다이어그램은 아래 그림에 나와 있습니다.

블록 다이어그램

시뮬레이션

실행 버튼에서 블록 다이어그램을 실행하면 아래 그림과 같이 출력이 디스플레이 블록에 표시됩니다.

거짓 출력

이 경우 조건이 거짓이므로 출력은 0입니다. 이제 조건문 블록의 값을 5보다 큰 값으로 업데이트하십시오. 이 경우 상수 값을 아래 그림과 같이 6으로 변경합니다.

조건부 상수 값

다시 함수를 실행하면 아래 그림과 같이 이 경우의 조건이 true이기 때문에 이번에는 10(실제 조건 값)이 출력됩니다.

트루 출력

 

728x90
반응형
그리드형