Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

get_param

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

설명

예제

ParamValue = get_param(Object,Parameter)는 지정된 모델 또는 블록 객체에서 지정된 파라미터의 이름 또는 값을 반환합니다. 먼저 Simulink® 모델을 열거나 불러오십시오.

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

파라미터 이름에 관한 자세한 내용은 다음을 참조하십시오.

예제

블록 파라미터 값 및 모델 파라미터 값 가져오기

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 블록의 블록 대화 상자 파라미터 목록을 가져옵니다.

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)'

블록 핸들을 사용하여 블록 파라미터 값 가져오기

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

이후 get_param 또는 set_param 호출에서 블록 핸들을 사용할 수 있습니다. 핸들을 검토하면 핸들에 double형이 포함된 것을 확인할 수 있습니다. 일반적으로 사용자는 MATLAB®이 표시하는 것보다 많은 자릿수를 지정해야 하므로 핸들의 숫자만 사용하려고 하면 안 됩니다(예: 5.007). 대신, 핸들을 변수에 할당하고 변수 이름을 사용하여 블록을 지정하십시오.

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

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

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

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'   }

마스크 처리된 파라미터, Simulink 객체, 블록 다이어그램 및 주석의 옵션 목록 가져오기

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

마스크 처리된 파라미터의 옵션 목록 가져오기

Gain 블록이 마스크 처리되어 있고 popupcombo box 파라미터를 갖는 예를 가정해 보겠습니다.

아래 코드를 사용하여 옵션 목록을 가져옵니다.

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…'}

임의의 Simulink 객체, 블록 다이어그램 및 주석의 옵션 가져오기

Subsystem 블록이 있는 예를 가정해 보겠습니다. 블록에 있는 모든 객체의 옵션을 가져올 수 있습니다.

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

마스크 처리된 파라미터의 평가된 값 가져오기

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

Gain 블록이 마스크 처리되어 있고 편집 파라미터를 갖는 예를 가정해 보겠습니다.

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

참고

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

입력 인수

모두 축소

모델이나 블록 또는 루트의 핸들이나 이름으로, 숫자 핸들이나 문자형 벡터, 문자형 벡터로 구성된 셀형 배열(여러 블록의 경우) 또는 0(루트의 경우)으로 지정됩니다. 숫자 핸들은 스칼라여야 합니다. 또한, 선과 포트의 파라미터를 가져올 수 있지만, 숫자 핸들을 사용하여 지정해야 합니다.

동일한 블록에 get_param을 여러 번 호출하는 경우 숫자 핸들을 사용하여 블록을 지정하는 것이 전체 블록 경로를 사용하는 것보다 더 효율적입니다. getSimulinkBlockHandle을 사용하여 블록 핸들을 가져옵니다. 일반적으로 사용자는 MATLAB이 표시하는 것보다 많은 자릿수를 지정해야 하므로 핸들의 숫자만 사용하려고 하면 안 됩니다(예: 5.007). 변수에 핸들을 할당하고 그 변수 이름을 사용하여 블록을 지정하십시오.

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

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

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

예: 'vdp/Mu'

모델이나 블록 또는 루트의 파라미터로, 문자형 벡터 또는 0(루트의 경우)으로 지정됩니다. 다음 표에는 특수 사례가 나와 있습니다.

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

지정된 객체(모델, 블록 또는 루트)의 파라미터 이름이 구조체의 별도 필드로 되어 있는 구조체형 배열을 반환합니다.

'DialogParameters'

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

파라미터 이름(예: 'BlockType'). 모델이나 블록 파라미터 또는 블록 대화 상자 파라미터를 지정합니다.

지정된 모델이나 블록 파라미터의 값을 반환합니다.

여러 블록을 셀형 배열로 지정한 경우에는 모든 블록에 공통으로 지정된 파라미터 값을 포함하는 셀형 배열을 반환합니다. 셀형 배열에 지정된 모든 블록은 파라미터를 포함해야 하며, 파라미터를 포함하지 않으면 함수는 오류를 반환합니다.

예: 'ObjectParameters'

데이터형: char

출력 인수

모두 축소

지정된 모델이나 블록 또는 루트의 지정된 파라미터의 이름이나 값입니다. 여러 객체를 지정하는 경우 출력은 객체로 구성된 셀형 배열입니다. 다음 표에는 특수 사례가 나와 있습니다.

지정된 파라미터반환된 ParamValue
'ObjectParameters'

지정된 객체(모델, 블록 또는 루트)의 파라미터 이름이 구조체의 별도 필드로 되어 있는 구조체형 배열입니다.

'DialogParameters'

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

파라미터 이름(예: 'BlockType')

지정된 모델 또는 블록 파라미터의 값입니다. 여러 블록이 셀형 배열로 지정됐다면 모든 블록에 공통으로 지정된 파라미터 값을 포함하는 셀형 배열을 반환합니다.

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

  • 유형 — 파라미터 유형 값은 '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 이전에 개발됨