주요 콘텐츠

Simulink.Parameter

파라미터 값 저장, 공유, 구성

설명

Simulink.Parameter 객체를 만들어 모델에서 하나 이상의 블록 파라미터(예: Gain 블록의 이득 파라미터) 값을 설정합니다. 이 객체는 작업 공간 또는 데이터 사전에 생성합니다. 객체에 파라미터 값을 설정한 다음, 블록에서 해당 객체를 참조합니다.

Simulink.Parameter 객체를 사용하여 다음을 수행할 수 있습니다.

  • 여러 블록 파라미터 간에 값을 공유합니다.

  • 엔지니어링 상수 또는 조정 가능한 보정 파라미터를 표현합니다.

  • 파라미터 값을 데이터형 및 기타 속성과 분리합니다.

  • 코드 생성을 위한 파라미터 데이터를 구성합니다.

객체의 Value 속성에 파라미터 값이 저장됩니다. 모델에서 객체를 사용하려면, 블록 파라미터의 값을 해당 객체 이름이 포함된 표현식으로 설정합니다. 표현식에서는 Value 속성을 생략합니다. 자세한 내용은 Use Parameter Objects 항목을 참조하십시오.

블록 파라미터에 대한 자세한 내용은 블록 파라미터 값 설정하기 항목과 How Generated Code Stores Internal Signal, State, and Parameter Data (Simulink Coder) 항목을 참조하십시오.

Simulink.Parameter 객체를 모델 인수로 구성하려면, 해당 객체가 모델 작업 공간에 있어야 합니다. 모델 탐색기와 같은 대화 상자에서 parameter 객체에 대해 인수를 선택합니다. 자세한 내용은 Configure Instance-Specific Values for Block Parameters in a Referenced Model 항목을 참조하십시오.

생성

다음과 같은 방법으로 Simulink.Parameter 객체를 만듭니다.

  • 블록 대화 상자 또는 속성 인스펙터에서 직접 만듭니다. Create, Edit, and Manage Workspace Variables 항목을 참조하십시오.

  • 모델 데이터 편집기를 사용합니다. 파라미터 탭을 검사합니다. 변수가 포함된 행을 마우스 오른쪽 버튼으로 클릭하고 상황별 메뉴에서 parameter 객체로 변환을 선택합니다.

  • 모델 탐색기를 사용합니다. Create Data Objects from Built-In Data Class Package Simulink 항목을 참조하십시오.

  • 아래에 설명된 Simulink.Parameter 함수를 사용합니다.

설명

paramObj = Simulink.Parameter는 디폴트 속성값을 사용하는 Simulink.Parameter 객체를 반환합니다.

예제

paramObj = Simulink.Parameter(paramValue)Simulink.Parameter 객체를 반환하고 Value 속성을 paramValue로 초기화합니다.

예제

속성

모두 확장

블록 파라미터에 사용할 값으로, 다음 유효한 값 중 하나로 지정됩니다.

재사용 가능한 참조 모델에서 블록 파라미터 값을 설정하기 위해 Simulink.Parameter 객체를 사용하는 경우, 부모 모델 참조 계층 구조의 어딘가에서 해당 객체에 대해 명시적인 값을 제공하기만 한다면, 객체 값을 비워 둔 상태(Value[]로 설정)에서도 참조 모델로서 모델을 컴파일하고 시뮬레이션할 수 있습니다. 이 경우 모델을 직접 시뮬레이션할 수 없습니다. 값이 비어 있는 경우에는 객체에 대해 DataTypeDimensions를 제공해야 합니다. 값을 비워 둔 경우에도 소프트웨어는 다음 중 하나를 사용하여 Value를 생성합니다.

  • Max

  • Min(Max를 지정하지 않은 경우)

  • 1(Min 또는 Max를 지정하지 않은 경우)

Configure Instance-Specific Values for Block Parameters in a Referenced Model 항목을 참조하십시오.

MATLAB® 구문을 사용하여 값을 지정할 수도 있습니다.

예시 표현식설명
15.23

스칼라 값을 지정합니다.

[3 4; 9 8]

행렬을 지정합니다.

3+2i

복소수 값을 지정합니다.

"Mystring"

string형 값을 지정합니다.

struct('A',20,'B',5)

두 개의 필드 AB를 가지며 각각 배정밀도 값 205를 갖는 구조체를 지정합니다.

블록 파라미터를 구조체로 구성하거나(Organize Related Block Parameter Definitions in Structures 참조) 버스의 신호 요소를 초기화합니다(Specify Initial Conditions for Bus Elements 참조).

slexpr('myVar + myOtherVar')myVar + myOtherVar 표현식을 지정합니다. 여기서 myVarmyOtherVar은 다른 MATLAB 변수 또는 parameter 객체입니다. 소프트웨어는 객체와 해당 변수 간의 이러한 수학적 관계를 유지합니다.

Simulink.Parameter 객체를 사용하여 특정 숫자 데이터형의 값을 저장하려면 Value 속성으로 이상적인 값을 지정하고 DataType 속성으로 데이터형을 제어합니다.

single(32.5)와 같이 데이터형을 지정한 표현식을 사용하여 Value 속성을 설정하면 DataType 속성이 새 유형을 반영하도록 변경됩니다. 반복되는 양자화 또는 데이터형 포화로 인한 수치 오차의 누적을 방지하기 위해 특히 고정소수점 데이터형의 경우 가장 좋은 방법은 데이터형이 지정되지 않은 표현식을 사용하는 것입니다.

Simulink.Parameter 객체 Value를 string형 값 또는 문자형 값으로 설정하면 Value는 MATLAB string형으로 저장됩니다. Simulink.Parameter 객체 값으로서 string형을 사용하는 경우의 제한 사항은 Simulink String Limitations 항목의 Simulink.Parameter를 참조하십시오.

예: 3.15

예: "mystring"

예: 1.2 + 3.2i

예: true

예: myEnumType.myEnumValue

예: struct('field1',15,'field2',7.32)

예: slexpr('myVar + myOtherVar')

  • Simulink.Parameter 객체에 저장된 큰 벡터, 2차원 행렬 또는 구조체를 더 쉽게 편집하려면 변수 편집기를 사용하십시오. Create, Edit, and Manage Workspace Variables 항목을 참조하십시오.

  • 모델 탐색기를 사용하는 등 대화형 방식으로 3차원 이상의 배열을 지정하면 이 속성은 reshape 함수에 대한 호출이 포함된 표현식으로 배열을 표시합니다. 배열의 값을 편집하려면 reshape 호출의 첫 번째 인수를 수정하십시오. 이 인수는 직렬화된 벡터에 배열의 모든 값을 포함하고 있습니다. 차원을 따라 요소를 추가하거나 제거할 때는 수정된 차원의 길이를 나타내는 인수도 수정해야 합니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | fi | enum | string
복소수 지원 여부:

읽기 전용 속성입니다.

parameter 객체에 대한 코드 생성 사양으로, Simulink.CoderInfo 객체로 반환됩니다.

이 속성에 포함된 Simulink.CoderInfo 객체의 속성을 수정합니다.

예를 들어, Simulink.CoderInfo 객체의 StorageClass 속성에 따라 Simulink® 코드 생성 툴박스가 생성 코드에서 parameter 객체에 메모리를 할당하는 방식이 결정됩니다. 자세한 내용은 C Data Code Interface Configuration for Model Interface Elements (Simulink Coder) 항목과 Choose Storage Class for Controlling Data Representation in Generated Code (Embedded Coder) 항목을 참조하십시오.

parameter 객체에 대한 사용자 지정 설명으로, 문자형 벡터로 지정됩니다. 이 속성을 사용하여 알고리즘에서 parameter 객체가 가지는 의미를 설명할 수 있습니다.

Embedded Coder® 라이선스가 있는 경우 이 설명이 생성된 코드에 주석으로 표시되도록 구성할 수 있습니다. Simulink data object descriptions (Embedded Coder) 항목을 참조하십시오.

예: 'This parameter represents the maximum rotation speed of the engine.'

데이터형: char | string

Value 속성의 파라미터 값의 데이터형으로, 'auto' 또는 문자형 벡터로 지정됩니다. 모델을 시뮬레이션하거나 코드를 생성할 경우 해당 값은 지정된 데이터형으로 형변환됩니다.

디폴트 설정인 'auto'를 지정할 경우 parameter 객체는 그 객체를 사용하는 블록 파라미터와 동일한 데이터형을 사용합니다. Reduce Maintenance Effort with Data Type Inheritance 항목을 참조하십시오.

Value 속성을 double형 숫자 이외의 값으로 설정하면 객체는 일반적으로 Value 속성값을 기준으로 DataType 속성을 설정합니다. 예를 들어, Value 속성을 int8(5)로 설정하면 객체는 DataType 속성값을 'int8'로 설정합니다.

내장 데이터형을 명시적으로 지정하려면(Simulink에서 지원되는 데이터형 참조) 다음 옵션 중 하나를 지정하십시오.

  • 'double'

  • 'single'

  • 'half'

  • 'int8'

  • 'uint8'

  • 'int16'

  • 'uint16'

  • 'int32'

  • 'uint32'

  • 'int64'

  • 'uint64'

  • 'boolean'

  • 'string'

고정소수점 데이터형을 지정하려면 fixdt 함수를 사용합니다. 예를 들어, 'fixdt(1,16,5)'를 지정합니다.

모델에서 사용자 지정 데이터형을 만들고 공유하기 위해 Simulink.AliasType 객체 또는 Simulink.NumericType 객체를 사용하는 경우 객체 이름을 지정합니다.

열거형 데이터형을 지정하려면 유형 이름 앞에 Enum:을 사용합니다. 예를 들어, 'Enum: myEnumType'을 지정합니다.

Simulink.ValueType 객체를 데이터형으로 지정하려면 ValueType: 뒤에 객체 이름을 사용합니다. 예를 들어, 'ValueType: myValueType'을 지정합니다.

객체의 Value 속성에 구조체 또는 구조체로 구성된 배열을 저장하면 객체는 DataType 속성을 'struct'로 설정합니다. Simulink.Bus 객체를 데이터형으로 지정하려면 Bus: 뒤에 Bus 객체 이름을 사용합니다. 예를 들어, 'Bus: myBusObject'를 지정합니다.

Simulink.Parameter 객체 Value를 string형으로 설정하는 경우 Simulink String Limitations 항목의 제한 사항에 유의하십시오.

Simulink.ValueType 또는 Simulink.Bus 객체를 데이터형으로 지정할 경우 Simulink.Parameter 객체의 일부 속성이 무시됩니다. 예를 들어 Simulink.Parameter 객체의 Min, MaxUnit 속성은 무시됩니다. 소프트웨어는 대신 Simulink.Bus 객체의 Simulink.ValueType 객체 또는 Simulink.BusElement 객체의 대응하는 속성을 사용합니다.

예: 'auto'

예: 'int8'

예: 'fixdt(1,16,5)'

예: 'myAliasTypeObject'

예: 'string'

예: 'Enum: myEnumType'

예: 'ValueType: myValueType'

예: 'Bus: myBusObject'

데이터형을 대화형 방식으로 편집할 때 데이터형 도우미를 표시하려면 데이터형 도우미를 표시합니다 버튼 을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.

데이터형: char | string

객체의 Value 속성에 저장할 수 있는 최솟값으로, double형 실수 스칼라로 지정됩니다.

디폴트 값은 빈 값으로 이는 파라미터 값에 최솟값이 없음을 의미합니다.

Value 속성에 복소수를 저장하는 경우 Min 속성은 실수부와 허수부에 개별적으로 적용됩니다.

Value가 최솟값보다 작거나 최솟값이 객체 데이터형의 범위를 벗어나면 경고가 발생합니다. 다이어그램을 업데이트하거나 시뮬레이션을 시작하면 오류가 발생합니다.

이 속성의 사용 방식에 대한 자세한 내용은 Specify Minimum and Maximum Values for Block Parameters 항목을 참조하십시오.

예: -0.92

종속성

다음 옵션 중 하나가 적용되는 경우 이 속성의 값은 무시됩니다.

  • Value가 구조체를 지정합니다.

    구조체의 최솟값을 지정하려면 DataTypeSimulink.Bus 객체로 설정한 다음 Simulink.Bus 객체에 포함된 해당 Simulink.BusElement 객체를 사용하여 각 필드의 최솟값을 지정합니다. Control Field Data Types and Characteristics by Creating Parameter Object 항목을 참조하십시오.

  • DataTypeSimulink.ValueType 객체 또는 Simulink.Bus 객체를 지정합니다.

    소프트웨어는 대신 Simulink.Bus 객체의 Simulink.ValueType 객체 또는 Simulink.BusElement 객체에 의해 지정된 최솟값을 사용합니다.

고정소수점 데이터형을 가진 parameter 객체의 경우 대화 상자에는 저장된 정수의 최솟값 속성이 표시됩니다. 이는 파라미터가 가질 수 있는 최솟값을 나타내며, 저장된 정수 값으로 지정됩니다. 이 값은 실제 최솟값에서 파생됩니다.

데이터형: double

객체의 Value 속성에 저장할 수 있는 최댓값으로, double형 실수 스칼라로 지정됩니다.

디폴트 값은 빈 값으로, 이는 파라미터 값에 최댓값이 없음을 의미합니다.

Value 속성에 복소수를 저장하는 경우 Max 속성은 실수부와 허수부에 개별적으로 적용됩니다.

Value가 최댓값보다 크거나 최댓값이 객체 데이터형의 범위를 벗어나면 경고가 발생합니다. 다이어그램을 업데이트하거나 시뮬레이션을 시작하면 오류가 발생합니다.

이 속성의 사용 방식에 대한 자세한 내용은 Specify Minimum and Maximum Values for Block Parameters 항목을 참조하십시오.

예: 5.32

종속성

다음 옵션 중 하나가 적용되는 경우 이 속성의 값은 무시됩니다.

  • Value가 구조체를 지정합니다.

    구조체의 최댓값을 지정하려면 DataTypeSimulink.Bus 객체로 설정한 다음 Simulink.Bus 객체에 포함된 해당 Simulink.BusElement 객체를 사용하여 각 필드의 최댓값을 지정합니다. Control Field Data Types and Characteristics by Creating Parameter Object 항목을 참조하십시오.

  • DataTypeSimulink.ValueType 객체 또는 Simulink.Bus 객체를 지정합니다.

    소프트웨어는 대신 Simulink.Bus 객체의 Simulink.ValueType 객체 또는 Simulink.BusElement 객체에 의해 지정된 최댓값을 사용합니다.

고정소수점 데이터형을 가진 parameter 객체의 경우 대화 상자에는 저장된 정수의 최댓값 속성이 표시됩니다. 이는 파라미터가 가질 수 있는 최댓값을 나타내며, 저장된 정수 값으로 지정됩니다. 이 값은 실제 최댓값에서 파생됩니다.

데이터형: double

파라미터 값의 물리 단위로, 유효한 단위를 설명하는 문자형 벡터로 지정됩니다. 자세한 내용은 Unit Specification in Simulink Models 항목을 참조하십시오.

예: 'degC'

종속성

소프트웨어는 DataTypeSimulink.ValueType 객체 또는 Simulink.Bus 객체를 지정한 경우 이 속성값을 무시합니다. 소프트웨어는 대신 Simulink.Bus 객체의 Simulink.ValueType 객체 또는 Simulink.BusElement 객체에 의해 지정된 단위를 사용합니다.

데이터형: char | string

파라미터 값의 숫자형 실수/복소수 여부로, 'real' 또는 'complex'로 지정됩니다. 모델 작업 공간에 있는 Simulink.Parameter 객체의 경우, 이 속성을 사용하여 모델 인수의 실수/복소수 여부를 구성할 수 있습니다. Configure Instance-Specific Values for Block Parameters in a Referenced Model 항목을 참조하십시오.

숫자형 값의 경우, Value 속성에 지정한 파라미터 값으로부터 실수/복소수 여부가 도출됩니다. 이 경우 실수/복소수를 변경하면 오류가 발생합니다.

종속성

다음 옵션 중 하나가 적용되는 경우 이 속성의 값은 무시됩니다.

  • Value가 수학 표현식을 지정합니다.

  • Value가 구조체를 지정합니다.

    구조체의 실수/복소수 여부를 지정하려면 DataTypeSimulink.Bus 객체로 설정한 다음 Simulink.Bus 객체에 포함된 해당 Simulink.BusElement 객체를 사용하여 각 필드의 실수/복소수 여부를 지정합니다. Control Field Data Types and Characteristics by Creating Parameter Object 항목을 참조하십시오.

  • DataTypeSimulink.ValueType 객체 또는 Simulink.Bus 객체를 지정합니다.

    소프트웨어는 대신 Simulink.Bus 객체의 Simulink.ValueType 객체 또는 Simulink.BusElement 객체에 의해 지정된 실수/복소수 여부를 사용합니다.

Value 속성에 저장된 값의 차원으로, 행 벡터, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

객체의 Value 속성을 설정하면 객체는 Dimensions 속성의 값을 double형 행 벡터로 설정합니다. 이 벡터는 size 함수가 반환하는 벡터와 동일합니다.

객체를 모델 인수로 구성하고 부모 모델 참조 계층 구조의 다른 곳에서 해당 객체에 값을 제공하려는 경우 Value 속성을 비워두고([]로 설정) Dimensions 속성과 Data Type 속성을 명시적으로 설정할 수 있습니다. Configure Instance-Specific Values for Block Parameters in a Referenced Model 항목을 참조하십시오.

기호 차원을 사용하려면 문자형 벡터를 지정하십시오. Implement Symbolic Dimensions for Array Sizes in Generated Code (Embedded Coder) 항목을 참조하십시오.

예: [1 3]

예: '[1 myDimParam]'

종속성

  • 이 속성을 활성화하려면 Value가 비어 있어야 합니다([]). 그렇지 않으면 Value 속성으로부터 차원이 도출됩니다. 예를 들어, 값 [3 4;9 8]은 차원 [2 2]를 갖습니다.

  • 소프트웨어는 DataTypeSimulink.ValueType 객체를 지정한 경우 이 속성값을 무시합니다. 소프트웨어는 대신 Simulink.ValueType 객체에 의해 지정된 차원을 사용합니다.

데이터형: double | char | string

예제

모두 축소

MATLAB 명령 창에서 Simulink.Parameter 객체를 만듭니다.

myParam = Simulink.Parameter;

Value 속성에 숫자형 값을 할당합니다.

myParam.Value = 15.23;

파라미터가 취할 수 있는 최솟값과 최대값을 Min 속성과 Max 속성으로 지정합니다.

myParam.Min = 10.11;
myParam.Max = 25.27;

새 Simulink 모델을 엽니다. Gain 블록을 추가하고 이득 파라미터를 myParam으로 설정합니다. 시뮬레이션 중에 이득 파라미터는 값 15.23을 사용합니다.

MATLAB 명령 창에서 값 2.52를 저장하는 Simulink.Parameter 객체를 만듭니다.

myParam = Simulink.Parameter(2.52);

객체의 Value 속성에 액세스하여 값을 변경합니다. 이 기법을 사용하면 객체의 다른 속성값이 유지됩니다.

myParam.Value = 1.13;

모델 유지관리를 줄이려면 DataType 속성을 디폴트 값인 auto로 둘 수 있습니다. parameter 객체는 해당 객체를 사용하는 블록 파라미터로부터 데이터형을 가져옵니다.

모델에서 신호 데이터형과 기타 데이터형을 변경할 때 데이터형이 변경될 위험을 줄이기 위해 parameter 객체에 데이터형을 명시적으로 지정할 수 있습니다. 예를 들어, 파라미터 데이터를 사용자 지정 코드로 내보내는 코드를 생성할 때 객체에 데이터형을 명시적으로 지정합니다.

MATLAB 명령 창에서 값 18.25를 저장하는 Simulink.Parameter 객체를 만듭니다.

myParam = Simulink.Parameter(18.25);

표현식 18.25는 배정밀도 부동소수점 데이터형 double을 갖는 숫자 18.25를 반환합니다. Value 속성에 숫자 18.25가 배정밀도로 저장됩니다.

DataType 속성을 사용하여 단정밀도 데이터형 single을 지정합니다.

myParam.DataType = 'single';

시뮬레이션을 수행하거나 코드를 생성할 때 객체는 Value 속성값 18.25DataType 속성값인 single 데이터형으로 형변환합니다.

이 예제에서는 parameter 객체 myParam의 값을 두 개의 다른 변수 myVarmyOtherVar의 합으로 설정하는 방법을 보여줍니다. 이 기법을 사용하면 독립 변수의 값을 변경할 때 parameter 객체의 새 값이 즉시 계산됩니다.

두 개의 독립 변수를 만듭니다.

myVar = 5.2;
myOtherVar = 9.8;

parameter 객체를 만듭니다.

myParam = Simulink.Parameter;

parameter 객체의 값을 표현식 myVar + myOtherVar로 설정합니다.

myParam.Value = slexpr('myVar + myOtherVar')

시뮬레이션하거나 코드를 생성하면 이 표현식은 15로 평가됩니다.

버전 내역

R2006a 이전에 개발됨