Main Content

get_param

파라미터 이름과 값 가져오기

설명

예제

value = get_param(object,parameter)object로 지정된 대상 객체의 지정된 파라미터 parametervalue를 반환합니다. 대상 객체는 모델, 서브시스템, 라이브러리, 블록, 선, 포트 또는 버스 요소 포트 요소가 될 수 있습니다.

먼저 관련된 Simulink® 모델, 서브시스템 또는 라이브러리를 열거나 불러오고 이 함수를 호출합니다.

예제

모두 축소

vdp 모델을 불러옵니다.

load_system('vdp');

Expression 블록 파라미터의 값을 가져옵니다.

BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue =

    'Element-wise(K.*u)'

SolverType 모델 파라미터의 값을 가져옵니다.

SolverType = get_param('vdp','SolverType')
SolverType =
   Variable-step

Simulink 루트 파라미터 이름과 모델 파라미터 이름 간의 차이를 찾아서 전역 파라미터 이름 목록을 가져옵니다.

RootParameterNames = fieldnames(get_param(0,'ObjectParameters'));
load_system('vdp')
ModelParameterNames = fieldnames(get_param('vdp','ObjectParameters'));
GlobalParameterNames = setdiff(RootParameterNames,ModelParameterNames)
GlobalParameterNames =
          'AutoSaveOptions'
          'CacheFolder'
          'CallbackTracing'
          'CharacterEncoding'
                 . . .
          'CurrentSystem'

전역 파라미터의 값을 가져옵니다.

GlobalParameterValue = get_param(0,'CurrentSystem')
GlobalParameterValue =
          vdp

vdp 모델에 대한 모델 파라미터 목록을 가져옵니다.

load_system('vdp')
ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames =
              Name: [1x1 struct]
               Tag: [1x1 struct]
       Description: [1x1 struct]
              Type: [1x1 struct]
            Parent: [1x1 struct]
            Handle: [1x1 struct]
                       . . .
           Version: [1x1 struct]

vdp 모델의 ModelVersion 모델 파라미터의 현재 값을 가져옵니다.

ModelParameterValue = get_param('vdp','ModelVersion')
ModelParameterValue =
          1.6

vdp 모델의 블록 경로와 이름 목록을 가져옵니다.

load_system('vdp')
BlockPaths = find_system('vdp','Type','Block')
BlockPaths =

  14×1 cell array

    {'vdp/Constant'            }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Square'              }
    {'vdp/Sum'                 }
    {'vdp/Sum1'                }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Mu라는 Gain 블록의 블록 대화 상자 파라미터 목록을 가져옵니다.

BlockDialogParameters = get_param('vdp/Mu','DialogParameters')
BlockDialogParameters = 

  struct with fields:

                         Gain: [1×1 struct]
               Multiplication: [1×1 struct]
                     ParamMin: [1×1 struct]
                     ParamMax: [1×1 struct]
             ParamDataTypeStr: [1×1 struct]
                       OutMin: [1×1 struct]
                       OutMax: [1×1 struct]
               OutDataTypeStr: [1×1 struct]
                    LockScale: [1×1 struct]
                      RndMeth: [1×1 struct]
    SaturateOnIntegerOverflow: [1×1 struct]
                   SampleTime: [1×1 struct]

Multiplication 블록 파라미터의 값을 가져옵니다.

BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue =
    'Element-wise(K.*u)'

vdp 모델에서 Mu라는 Gain 블록의 파라미터 값을 가져옵니다.

Mu라는 Gain 블록에 대한 핸들을 가져오려면 getSimulinkBlockHandle 함수를 사용하십시오. vdp 모델을 불러오려면 true를 지정하십시오.

mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

동일한 블록에 get_param을 여러 번 호출하는 경우 블록 핸들(예: 'vdp/Mu')을 사용하는 것이 문자형 벡터로 전체 블록 경로를 지정하는 것보다 더 효율적입니다.

이후 get_param 또는 set_param 호출에서 블록 핸들을 사용할 수 있습니다. 핸들에는 double형이 포함됩니다. 일반적으로 사용자는 MATLAB®이 표시하는 것보다 더 많은 자릿수를 지정해야 하므로 5.007과 같이 핸들의 숫자를 수동으로 입력하려고 하지 마십시오. 대신, 변수에 핸들을 할당하고 변수 이름을 사용하여 블록을 지정하십시오.

필요한 경우 getSimulinkBlockHandle을 사용하여 vdp 모델을 불러오고(true를 지정) Mu라는 Gain 블록의 핸들을 가져옵니다.

mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

get_param과 함께 블록 핸들을 사용하고 Multiplication 블록 파라미터의 값을 가져옵니다.

BlockParameterValue = get_param(mublockhandle,'Multiplication')
BlockParameterValue =
    'Element-wise(K.*u)'

vdp 모델의 블록 경로와 이름 목록을 가져옵니다.

load_system('vdp')
BlockPaths = find_system('vdp','Type','Block')
BlockPaths =

  14×1 cell array

    {'vdp/Constant'            }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Square'              }
    {'vdp/Sum'                 }
    {'vdp/Sum1'                }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

vdp 모델의 각 블록에 대해 BlockType 파라미터 값을 가져옵니다.

BlockTypes = get_param(BlockPaths,'BlockType')
BlockTypes =

  14×1 cell array

    {'Constant'  }
    {'SubSystem' }
    {'SubSystem' }
    {'Gain'      }
    {'Mux'       }
    {'Product'   }
    {'Scope'     }
    {'Math'      }
    {'Sum'       }
    {'Sum'       }
    {'Integrator'}
    {'Integrator'}
    {'Outport'   }
    {'Outport'   }

get_param에 키워드 options를 함께 사용하여 파라미터, Simulink 객체, 블록 다이어그램 또는 주석에 대한 옵션 목록을 가져올 수 있습니다.

마스크 처리된 파라미터의 옵션 목록을 가져옵니다. 예를 들어, 마스크 처리되어 있고 팝업 파라미터와 콤보 상자 파라미터가 있는 Gain 블록이 있다고 가정하겠습니다.

get_param('vdp/Mu','options@Multiplication')
ans =

  1×4 cell array

    {'Element-wise(K.*u)'}  
  {'Matrix(K*u)'}    {'Matrix(u*K)'}    {'Matrix(K*u) (u vec…'}

Subsystem 블록의 ShowPortLabels 파라미터와 같은 블록 파라미터의 옵션 목록을 가져옵니다.

get_param(gcb,'options@showportlabels')
ans =
  1×4 cell array
    {'none'}    {'FromPortIcon'}    {'FromPortBlockName'}    {'SignalName'}

get_param 함수에 키워드 value를 함께 사용하여 마스크 처리된 블록 파라미터의 평가된 값에 액세스할 수 있습니다.

예를 들어, 마스크 처리된 Gain 블록의 평가된 edit 파라미터 값을 가져옵니다.

get_param(gcb,'value@edit')
ans =
     4

평가된 값을 가져오는 옵션은 마스크 파라미터로 제한됩니다.

입력 인수

모두 축소

객체나 루트의 이름, 경로 또는 핸들로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열, 숫자형 스칼라 또는 0으로 지정됩니다.

대상 객체를 지정하는 방법은 유형마다 다릅니다.

  • 모델 — 모델 이름 또는 핸들.

  • 서브시스템 — 서브시스템 이름 또는 핸들.

  • 라이브러리 — 라이브러리 이름 또는 핸들.

  • 블록 — 블록 경로 또는 핸들.

  • 선 — 선 핸들.

  • 포트 — 포트 핸들.

  • 버스 요소 포트 요소 — 요소 레이블이 있는 모델 구성요소의 블록 경로. 이 요소는 최상위 버스, 중첩된 버스, 신호, 메시지 등 포트의 모든 요소가 될 수 있습니다.

여러 객체에 공통 파라미터를 지정하려면 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 핸들로 구성된 배열을 사용하십시오. 지정된 모든 객체에는 지정된 파라미터가 있어야 합니다. 그렇지 않으면 함수에서 오류를 반환합니다.

현재 Simulink 세션의 전역 파라미터 및 모델 파라미터를 포함하여 루트 파라미터 이름을 가져오려면 0을 지정하십시오.

  • 전역 파라미터에는 편집기 기본 설정과 Simulink Coder™ 파라미터가 포함됩니다.

  • 모델 파라미터에는 구성 파라미터, Simulink Coder 파라미터, Simulink Code Inspector™ 파라미터가 포함됩니다.

예: 'vdp/Mu'

예: 'mymodel/Subsystem1/Out1.nonsinusoidal.saw'

  • 동일한 블록에 get_param을 여러 번 호출하는 경우 숫자 핸들을 사용하여 블록을 지정해야 합니다. 이 방법은 get_param에 전체 블록 경로를 사용하는 것보다 더 효율적입니다. getSimulinkBlockHandle을 사용하여 블록 핸들을 가져옵니다.

  • 일반적으로 사용자는 MATLAB이 표시하는 것보다 더 많은 자릿수를 지정해야 하므로 5.007과 같이 핸들의 숫자를 수동으로 지정하려고 하지 마십시오. 변수에 핸들을 할당하고 그 변수 이름을 사용하십시오.

데이터형: char | string | double

파라미터, 속성 또는 특성의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 일부 이름은 대/소문자를 구분합니다.

다음 표에는 특수 사례가 나와 있습니다.

지정된 파라미터결과
'ObjectParameters'

지정된 객체의 파라미터 이름이 구조체형 배열의 별도 필드로 되어 있습니다.

'DialogParameters'

블록 대화 상자의 파라미터 이름이 구조체형 배열의 별도 필드로 되어 있습니다. 블록에 마스크가 있는 경우 함수는 대신 마스크 파라미터를 반환합니다.

파라미터, 속성, 특성에 관한 자세한 내용은 해당하는 도움말 페이지에서 프로그래밍 방식의 사용법 내용을 참조하십시오. 예를 들면 다음과 같습니다.

예: 'ObjectParameters'

예: 'Solver'

예: 'SimulationCommand'

예: 'Position'

예: 'NameLocation'

데이터형: char | string

출력 인수

모두 축소

파라미터 값으로, 파라미터 유형이 결정하는 형식으로 반환됩니다. 여러 객체를 지정하는 경우 출력은 셀형 배열입니다.

다음 표에는 특수 사례가 나와 있습니다.

지정된 파라미터결과
'ObjectParameters'

지정된 객체의 파라미터 이름이 구조체형 배열의 별도 필드로 되어 있습니다.

'DialogParameters'

블록 대화 상자의 파라미터 이름이 구조체형 배열의 별도 필드로 되어 있습니다. 블록에 마스크가 있는 경우 함수는 대신 마스크 파라미터를 반환합니다.

get_param(0,'ObjectParameters')를 지정하여 루트 파라미터를 가져오는 경우 value 출력은 루트 파라미터 이름이 구조체의 별도 필드로 되어 있는 구조체형 배열입니다. 각 파라미터 필드는 다음 필드를 포함하는 구조체입니다.

  • 유형 — 파라미터 유형 값은 'boolean', 'string', 'int', 'real', 'point', 'rectangle', 'matrix', 'enum', 'ports' 또는 'list'입니다.

  • 열거형 — 'enum' 파라미터 유형에만 적용되는 열거형 문자형 벡터 값으로 구성된 셀형 배열입니다.

  • 특성 — 파라미터 특성을 정의하는 문자형 벡터로 구성된 셀형 배열입니다. 값은 'read-write', 'read-only', 'read-only-if-compiled', 'write-only', 'dont-eval', 'always-save', 'never-save', 'nondirty' 또는 'simulation'입니다.

버전 내역

R2006a 이전에 개발됨