Main Content

블록 파라미터 값 설정하기

블록에는 출력값 계산 방식을 결정하는 숫자형 파라미터가 있습니다. 블록의 계산 방식을 제어하려면 파라미터 값을 지정하면 됩니다. 예를 들어 Gain 블록에는 이득 파라미터가 있고, Transfer Fcn 블록에는 전달 함수 계수를 나타내는 여러 개의 파라미터가 있습니다.

숫자, 변수 및 표현식을 사용하여 블록 파라미터 값을 설정할 수 있습니다. 모델링 목표에 따라 기법을 선택하십시오. 예를 들어, 다음 작업을 수행할 수 있습니다.

  • 변수를 만들어 블록과 모델 간에 파라미터 값을 공유할 수 있습니다.

  • parameter 객체를 생성하여 데이터형 및 차원과 같은 파라미터 특성을 제어할 수 있습니다.

  • 수학 표현식을 사용하여 알고리즘을 코드로 모델링할 수 있습니다.

모델 데이터 편집기의 파라미터 탭(모델링 탭의 모델 데이터 편집기 클릭), 속성 인스펙터(모델링 탭의 설계 아래에서 속성 인스펙터 클릭) 또는 블록 대화 상자에서 블록 파라미터를 설정할 수 있습니다. 자세한 내용은 Add Blocks and Set Parameters 항목을 참조하십시오. 블록 샘플 시간을 설정하려면 샘플 시간 지정하기 항목을 참조하십시오.

모델 탐색기를 사용하면 여러 블록 파라미터 값을 한 번에 일괄 변경할 수 있습니다. 자세한 내용은 모델 탐색기를 참조하십시오.

파라미터 값에 프로그래밍 방식으로 액세스하기

블록 파라미터 값에 프로그래밍 방식으로 액세스하려면 get_param 함수와 set_param 함수를 사용하십시오. 이렇게 하면 다음과 같은 작업을 수행할 수 있습니다.

  • 프로그래밍 방식으로 모델 생성.

  • 프로그래밍 방식으로 모델을 시뮬레이션할 때 시뮬레이션 실행 중에 파라미터 값 조정.

스크립트를 사용하여 시뮬레이션 실행 간에 파라미터 값을 스윕하려면, get_paramset_param 대신에 Simulink.SimulationInput 객체를 사용하십시오. 블록 파라미터 값 최적화, 추정 및 스윕하기 항목을 참조하십시오.

My Constant라는 Constant 블록을 포함하며 이름이 myModel인 모델을 만든다고 가정해 보겠습니다. 그런 다음, 블록 대화 상자를 사용하여 상수 값 파라미터를 15로 설정합니다. 파라미터 값을 프로그래밍 방식으로 반환하기 위해 함수 get_param을 사용합니다. 블록 경로와 그에 상응하는 프로그래밍 방식의 파라미터 이름 Value를 지정합니다.

paramValue = get_param('myModel/My Constant','Value')
paramValue =

15

프로그래밍 방식으로 값을 변경하려면 함수 set_param을 사용합니다. 예를 들어 값을 25로 변경해 보겠습니다. 문자형 벡터 '25'를 이 함수에 대한 입력값으로 사용합니다.

set_param('myModel/My Constant','Value','25')

프로그래밍 방식의 블록 파라미터 이름에 대한 목록은 Block-Specific Parameters 항목을 참조하십시오.

프로그래밍 방식의 시뮬레이션에 대한 자세한 내용은 프로그래밍 방식으로 시뮬레이션 실행하기 항목을 참조하십시오.

get_param 함수와 set_param 함수를 사용하지 않으려면, MATLAB® 변수 이름 또는 Simulink.Parameter 객체 이름을 파라미터 값으로 사용하고 명령 프롬프트에서 변수 값이나 객체 값을 변경하십시오. Share and Reuse Block Parameter Values by Creating Variables 항목을 참조하십시오.

파라미터 값 지정하기

목표블록 파라미터 값설명

모델 파일에 파라미터 값 저장.

2.3

[1.2 2.3 4.5; 7.9 8.7 6.5]

2 + 3i

리터럴 숫자형 값. 스칼라, 벡터, 행렬 또는 다차원 배열을 지정하십시오. 복소수 값을 지정하려면 i를 사용하십시오.

  • 모델에서 블록을 찾거나 확인할 필요 없이 파라미터 값에 액세스.

  • 모델 파일을 수정할 필요 없이 파라미터 값 변경.

  • 블록 간 또는 모델 간에 파라미터 값 공유.

  • 값을 스윕하거나 조정할 때 특정 이름으로 파라미터 식별.

myVar

작업 공간에 있는 MATLAB 변수.

자세한 내용은 Share and Reuse Block Parameter Values by Creating Variables 항목을 참조하십시오.

  • 작업 공간 변수 간 이름 충돌 방지.

  • 계층 구조와 의미 있는 이름을 사용하여 파라미터 값 구성.

  • 모델에 사용되는 작업 공간 변수의 개수 줄이기.

myParam.a.SpeedVect

파라미터 구조체의 필드.

자세한 내용은 Organize Related Block Parameter Definitions in Structures 항목을 참조하십시오.

행렬 또는 배열 변수의 일부분을 사용. 예: n-D Lookup Table 블록의 파라미터 설정.

myMatrixParam(:,2)

인덱스 연산.

  • 파라미터 값과는 별개로 데이터형, 실수/복소수 여부, 단위, 허용되는 값 범위, 차원 같은 파라미터 특성 정의.

  • 사용자 지정 문서와 함께 시스템 상수 정의.

  • 생성 코드에서 조정 가능형 파라미터 생성.

  • 상수와 기타 변수를 포함한 수학 표현식으로 변수 값 설정.

myParam

Parameter 객체.

자세한 내용은 Parameter 객체 사용하기 항목을 참조하십시오.

  • 식별 불가능한 리터럴 숫자 대신 알려진 물리 상수 간의 수학적 관계로 파라미터 값 표현.

  • 모델 내의 블록 개수 줄이기.

  • 블록 대신에 코드를 사용하여 모호하거나 사소한 계산 모델링.

  • MATLAB 연산자와 함수를 사용하여 계산 수행.

  • 파라미터 값을 계산하는 사용자 지정 MATLAB 함수 작성.

5^3.2 - 1/3

myParam * myOtherparam + sin(0.78*pi)

myFun(15.23)

표현식 또는 사용자 지정 함수.

자세한 내용은 수학 표현식, MATLAB 함수 및 사용자 지정 함수 사용하기 항목을 참조하십시오.

double 외의 다른 데이터형을 사용하여 블록 파라미터 값 지정.

15.23

single(15.23)

myParam

데이터형을 지정하거나 지정하지 않은 표현식, 숫자형 MATLAB 변수 또는 parameter 객체.

파라미터의 데이터형을 제어하는 방법에 대한 자세한 내용은 Control Block Parameter Data Types 항목을 참조하십시오.

Parameter 객체 사용하기

parameter 객체는 Simulink.Parameter 객체와 사용자가 만든 서브클래스의 객체입니다. parameter 객체는 기본 작업 공간 같은 작업 공간이나 데이터 사전에 있습니다.

parameter 객체를 사용하여 시스템 상수를 정의할 수 있습니다. 한 예로, parameter 객체를 사용하여 지구의 반지름을 표현합니다. 객체 속성을 사용하여 물리 단위를 지정하고 값의 용도를 문서화합니다.

코드 생성을 위한 모델을 준비하기 위해 parameter 객체를 생성합니다. 생성 코드에서 parameter 객체가 조정 가능한 전역 변수로 나타나도록 구성할 수 있습니다. 객체를 통해 해당 파라미터의 데이터형을 제어할 수도 있습니다.

모델에서 parameter 객체를 생성하고 사용하려면 Data Objects 항목을 참조하십시오. 변수를 사용하여 블록 파라미터 값을 설정하는 방법에 대한 자세한 내용은 Share and Reuse Block Parameter Values by Creating Variables 항목을 참조하십시오.

수학 표현식, MATLAB 함수 및 사용자 지정 함수 사용하기

블록 파라미터 값을 sin, max 같은 MATLAB 함수와 연산자를 호출하는 표현식으로 설정할 수 있습니다. MATLAB 경로에 작성한 사용자 지정 함수를 호출할 수도 있습니다.

블록 알고리즘의 특정 섹션에서 변수를 사용하여 알고리즘의 나머지 섹션에 사용되는 단일 상수를 계산한다고 가정해 보겠습니다. 이 계산은 블록을 여러 개 생성하여 수행할 수 있습니다.

그 대신에, MATLAB 코드로 작성된 표현식을 사용하는 단일 Constant 블록을 만듭니다. 이렇게 하면 블록 알고리즘의 크기를 줄이고 가독성을 높일 수 있습니다.

여러 개의 블록 대신에 하나의 표현식을 사용하여 알고리즘의 복잡한 부분을 모델링할 수 있습니다. 기존 신호에 대해 연산을 수행하려면, 수학 표현식을 Gain 블록의 이득 파라미터 같은 알고리즘 블록의 파라미터 값으로 사용하십시오.

표현식을 사용하면 사용자 지정 함수를 호출하여 블록 파라미터 값을 설정할 수도 있습니다. 단일 입력 인수를 받아 제어 알고리즘에 대한 최적의 P, I, D 파라미터를 계산하는 MATLAB 함수를 작성한다고 가정해 보겠습니다.

그 함수로 파라미터 값을 설정하여 PID Controller 블록을 파라미터화할 수 있습니다.

표현식을 최대한 활용하려면 다음 팁을 고려하십시오.

  • 변수와 parameter 객체를 사용하면, 변수와 객체가 나타내는 실제 양 간의 대수적 관계를 명시적으로 모델링할 수 있습니다. Set Variable Value by Using a Mathematical Expression 항목에 설명된 대로 parameter 객체에 표현식을 사용하십시오.

  • 블록 파라미터 값의 표현식을 편집하는 동안 함수에 대한 관련 문서로 이동하려면 파라미터 값 옆에 있는 버튼을 사용하십시오. 사용자 지정 함수의 소스 코드로 이동할 수도 있습니다.

기타 모델링 목표와 관련해 고려할 사항

모델링 목표에 따라 기법을 선택하여 블록 파라미터 값을 설정하십시오.

목표기능 또는 제품모범 사례
신속하게 다중 시뮬레이션 실행.Simulink.SimulationInput 객체 및 sim 함수변수 또는 parameter 객체를 사용하여 블록 파라미터 값을 설정합니다. 이렇게 하면 파라미터에 의미 있는 이름을 할당하고 모델에서 블록을 식별하거나 찾을 필요가 없습니다. 블록 파라미터 값 최적화, 추정 및 스윕하기 항목을 참조하십시오.
테스트 도중 파라미터 값 스윕.Simulink® Test™변수 또는 parameter 객체를 사용하여 블록 파라미터 값을 설정합니다. 반복과 파라미터 재정의를 통해 테스트를 여러 번 실행합니다. Parameter Overrides (Simulink Test)Test Iterations (Simulink Test) 항목을 참조하십시오.
파라미터 값 추정 및 최적화.Simulink Design Optimization™

변수 또는 parameter 객체를 사용하여 블록 파라미터 값을 설정합니다.

double형 이외의 다른 데이터형을 사용하는 파라미터를 추정하거나 최적화하려면 parameter 객체를 사용하여 데이터형에서 값을 분리합니다.

파라미터 추정에 관한 자세한 내용은 Parameter Estimation (Simulink Design Optimization) 항목을 참조하십시오. 응답 최적화에 관한 내용은 Optimize Model Response (Simulink Design Optimization) 항목을 참조하십시오.

모델에서 코드 생성. SIL/PIL 또는 외부 모드 시뮬레이션을 통해 외부 프로그램 시뮬레이션.Simulink Coder™

parameter 객체를 사용하여 블록 파라미터 값을 설정합니다. 이렇게 하면 생성 코드에서 조정 가능형 파라미터를 선언 및 식별하고, 파라미터의 데이터형을 제어할 수 있습니다. Create Tunable Calibration Parameter in the Generated Code (Simulink Coder) 항목을 참조하십시오.

표현식을 사용하여 블록 파라미터 값을 설정하는 경우 연산자와 함수 사용을 피하십시오. 연산자와 함수를 사용하면 생성 코드의 조정 가능성이 손실됩니다. Tunable Expression Limitations (Simulink Coder) 항목을 참조하십시오.

참고 항목

관련 항목