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 =

  79×1 cell array

    {'AccelNoncompliantBlocksRatioLimit'             }
    {'AutoAccelerationStepsPerBlockLimit'            }
    {'AutoAccelerationStepsPerCodegenLimit'          }   
    . . .
    {'CurrentSystem'                                 }

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

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

    'vdp'

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

load_system('vdp')
ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames = 

  struct with fields:

                                              Name: [1×1 struct]
                                               Tag: [1×1 struct]
                                       Description: [1×1 struct]
                                              Type: [1×1 struct]
                                            Parent: [1×1 struct]
                                            Handle: [1×1 struct]
                                            . . .
                       ZeroInternalMemoryAtStartup: [1×1 struct]

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

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

    '7.0'

sldemo_fuelsys 모델의 블록에 대한 블록 경로와 이름 목록을 가져옵니다. 또한, 블록 중 하나에 대해 블록 대화 상자 파라미터 목록과 블록 대화 상자 파라미터 값을 가져옵니다.

Model a Fault-Tolerant Fuel Control System 예제를 엽니다.

openExample('simulink_automotive/ModelingAFaultTolerantFuelControlSystemExample');

sldemo_fuelsys 모델의 최상위 수준에 있는 모든 블록의 블록 경로와 이름 목록을 가져옵니다.

BlockPaths = get_param(gcs,'blocks')
BlockPaths =

  21×1 cell array

    {'Callback Button'             }
    {'Constant2'                   }
    {'Constant3'                   }
    {'Constant4'                   }
    {'Constant5'                   }
    {'Dashboard'                   }
    {'EGO Fault Switch'            }
    {'Engine Gas Dynamics'         }
    {'Engine Speed'                }
    {'Engine Speed↵Fault Switch'  }
    {'Engine_Speed_Selector'       }
    {'MAP Fault Switch'            }
    {'MAP_Selector'                }
    {'O2_Voltage_Selector'         }
    {'Scope'                       }
    {'Throttle↵Command'           }
    {'Throttle Angle↵Fault Switch'}
    {'Throttle_Angle_Selector'     }
    {'To Controller'               }
    {'To Plant'                    }
    {'fuel_rate_control'           }

이 명령은 현재 시스템의 최상위 계층 수준에 있는 모든 블록의 블록 경로와 이름 목록을 출력합니다. 현재 시스템이 서브시스템인 경우, 이 명령은 해당 서브시스템의 최상위 계층 수준에 있는 모든 블록의 블록 경로와 이름 목록을 출력합니다.

이 예제에서 현재 시스템은 sldemo_fuelsys이므로, 이 명령은 sldemo_fuelsys 시스템의 최상위 계층 수준에 있는 모든 블록의 블록 경로와 이름 목록을 출력합니다.

sldemo_fuelsys 모델의 모든 수준에 있는 모든 블록의 블록 경로와 이름 목록을 가져옵니다.

BlockPaths = find_system(gcs,'Type','Block')
BlockPaths =

  188×1 cell array

    {'sldemo_fuelsys/Callback Button'                                                                     }
    {'sldemo_fuelsys/Constant2'                                                                           }
    {'sldemo_fuelsys/Constant3'                                                                           }
    ...
    {'sldemo_fuelsys/fuel_rate_control/fuel_rate'                                                         }

이 명령은 현재 시스템의 최상위 계층 수준과 현재 시스템에 포함된 모델 계층 구조의 모든 하위 수준에 있는 모든 블록의 블록 경로와 이름 목록을 출력합니다. 이 예제에서 현재 시스템은 sldemo_fuelsys이므로, 출력은 sldemo_fuelsys 모델에 있는 모든 블록의 블록 경로와 이름 목록입니다.

RT/Vm이라는 Gain 블록의 블록 대화 상자 파라미터 목록을 가져옵니다. get_param 함수의 첫 번째 인수는 블록 경로와 이름입니다. BlockPaths 셀형 배열에서 블록 경로와 이름을 가져옵니다.

BlockDialogParameters = get_param(BlockPaths{44},'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(BlockPaths{44},'Multiplication')
BlockParameterValue =

    'Element-wise(K.*u)'

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

getSimulinkBlockHandle 함수를 사용하여 vdp 모델에 있는 Mu라는 Gain 블록의 핸들을 가져옵니다. 'vdp/Mu'를 입력 인수로 입력하여 모델 및 블록 이름을 지정합니다. vdp 모델을 불러오지 않은 경우, getSimulinkBlockHandle 함수에 대한 두 번째 입력 인수로 true를 지정하여 모델을 불러옵니다.

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

    5.0001

핸들에는 double형(예: 5.0001)이 포함됩니다. MATLAB® 명령 창에 핸들 번호를 표시하면 디스플레이에 숫자의 일부 자릿수가 표시되지 않을 수 있습니다. 디스플레이에 표시되는 내용을 수동으로 입력하는 방식으로 이 핸들 번호를 사용하지 마십시오. 대신, 변수에 핸들을 할당하고 변수 이름을 사용하여 블록을 지정하십시오.

동일한 블록에 대해 get_param을 여러 번 호출하는 경우, 전체 블록 경로를 'vdp/Mu'와 같은 문자형 벡터로 반복하여 지정하는 대신 블록 핸들을 사용하십시오. 이후 get_param 또는 set_param 호출에서 블록 핸들을 사용할 수 있습니다.

Multiplication 블록 파라미터의 값을 가져오기 위해 get_param 함수를 사용합니다. 블록 핸들을 첫 번째 입력 인수로 지정하고 블록 파라미터의 이름을 두 번째 입력 인수로 지정하십시오.

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 객체, 블록 다이어그램 또는 주석에 대한 옵션 목록을 가져올 수 있습니다.

마스크 처리된 파라미터의 옵션 목록을 가져옵니다. 예를 들어, ACSystem 모델에 마스크 처리된 Subsystem 블록이 있다고 가정하겠습니다. Subsystem 블록 파라미터 Show port labels의 옵션 목록을 가져옵니다.

openExample('simulink_masking/DesignAMaskDialogBoxExample')
get_param('ACSystem/AC System','options@showportlabels')
ans =

  1×4 cell array

    {'none'}    {'FromPortIcon'}    {'FromPortBlockName'}    {'SignalName'}

블록 파라미터의 옵션 목록을 가져옵니다. 예를 들어 Inport 블록의 Icon display 파라미터에 대한 옵션 목록을 가져옵니다.

get_param('ACSystem/In1','options@icondisplay')
ans =

  1×3 cell array

    {'Signal name'}    {'Port number'}    {'Port number and si…'}

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

예를 들어, ACSystem 모델에 마스크 처리된 Subsystem 블록이 있다고 가정하겠습니다. Room Width (W)라는 마스크에서 edit 파라미터의 평가된 값을 가져옵니다.

openExample('simulink_masking/DesignAMaskDialogBoxExample')
get_param('ACSystem/AC System','value@W')
ans =

   133

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

AC System 블록을 더블 클릭하여 블록의 마스크를 엽니다. Room Width (W) 파라미터의 값은 get_param 함수를 사용하여 가져오는 값과 동일합니다.

On the AC System mask, the value of the Room Width (W) parameter is 133.

입력 인수

모두 축소

객체나 루트의 이름, 경로 또는 핸들로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, 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 이전에 개발됨