이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
get_param
파라미터 이름과 값 가져오기
설명
예제
블록 경로를 사용하여 블록 파라미터 값 가져오기
다음 입력 인수와 함께 get_param
함수를 사용하여 블록 파라미터의 값을 가져올 수 있습니다.
블록 핸들, 또는 블록 이름을 포함한 전체 블록 경로(예:
'myModel/mySubsystem/myblock'
)파라미터 이름
이 예제에서는 Alpha-sensor Low-pass Filter
라는 Transfer Function 블록으로 지정된 전달 함수의 계수를 가져옵니다.
이 블록은
slexAircraftExample
모델의Controller
서브시스템에 있습니다.전달 함수 분자의 계수는
Numerator
파라미터에 저장됩니다. 전달 함수 분모의 계수는Denominator
파라미터에 저장됩니다.
예제를 엽니다. 그런 다음 slexAircraftExample
모델을 불러옵니다.
mdl = 'slexAircraftExample';
load_system(mdl)
전달 함수 계수를 가져옵니다.
path = [mdl,'/Controller/Alpha-sensor Low-pass Filter']; num = get_param(path,'Numerator')
num = '[1]'
denom = get_param(path,'Denominator')
denom = '[Tal,1]'
블록 경로가 길고 여러 파라미터를 가져오려는 경우 블록 핸들을 사용해 보십시오.
블록 핸들을 사용하여 블록 파라미터 값 가져오기
다음 입력 인수와 함께 get_param
함수를 사용하여 블록 파라미터의 값을 가져올 수 있습니다.
블록 핸들, 또는 블록 이름을 포함한 전체 블록 경로(예:
'myModel/mySubsystem/myblock'
)파라미터 이름
이 예제에서는 Alpha-sensor Low-pass Filter
라는 Transfer Function 블록으로 지정된 전달 함수의 계수를 가져옵니다.
이 블록은
slexAircraftExample
모델의Controller
서브시스템에 있습니다.전달 함수 분자의 계수는
Numerator
파라미터에 저장됩니다. 전달 함수 분모의 계수는Denominator
파라미터에 저장됩니다.
예제를 엽니다. 그런 다음 getSimulinkBlockHandle
함수를 사용하여 블록 핸들을 가져옵니다. 블록 핸들을 가져오면서 해당 모델을 동시에 불러오려면 getSimulinkBlockHandle
함수의 두 번째 인수를 true
로 지정하십시오.
path = 'slexAircraftExample/Controller/Alpha-sensor Low-pass Filter';
h = getSimulinkBlockHandle(path,true)
h = 489.0011
파라미터 값을 가져오려면 핸들을 사용하여 블록을 지정합니다. 핸들 값을 직접 입력하지 마십시오. MATLAB® 명령 창의 getSimulinkBlockHandle
함수에서 출력된 값은 반올림으로 인해 핸들 값과 일치하지 않을 수 있습니다. 대신, 변수에 핸들을 할당한 다음 변수 이름을 사용하여 블록을 지정하십시오. 이 예제에서는 값이 h
라는 변수에 할당됩니다.
num = get_param(h,'Numerator')
num = '[1]'
denom = get_param(h,'Denominator')
denom = '[Tal,1]'
블록 파라미터 이름 가져오기
다음 입력 인수와 함께 get_param
함수를 사용하여 블록 파라미터의 값을 가져올 수 있습니다.
블록 핸들, 또는 블록 이름을 포함한 전체 블록 경로(예:
'myModel/mySubsystem/myblock'
)파라미터 이름
이 예제에서는 파라미터 이름을 가져오는 방법을 보여줍니다.
slexAircraftExample
모델에서 Alpha-sensor Low-pass Filter
라는 Transfer Function 블록의 전달 함수 계수를 가져온다고 가정하겠습니다. 이렇게 하려면 전달 함수 계수를 저장하는 파라미터의 이름을 가져와야 합니다.
예제를 엽니다.
Alpha-sensor Low-pass Filter
라는 Transfer Function 블록의 핸들을 가져옵니다. 블록 핸들을 가져오면서 해당 모델을 동시에 불러오려면 getSimulinkBlockHandle
함수의 두 번째 인수를 true
로 지정하십시오.
path = 'slexAircraftExample/Controller/Alpha-sensor Low-pass Filter';
h = getSimulinkBlockHandle(path,true);
get_param
함수를 사용하여 Alpha-sensor Low-pass Filter
라는 Transfer Function 블록의 모든 블록 파라미터 이름을 가져옵니다.
get_param(h,'DialogParameters')
ans = struct with fields:
Numerator: [1x1 struct]
Denominator: [1x1 struct]
ParameterTunability: [1x1 struct]
AbsoluteTolerance: [1x1 struct]
ContinuousStateAttributes: [1x1 struct]
출력에 전달 함수 계수가 Numerator
파라미터와 Denominator
파라미터를 사용하여 지정되었음이 표시됩니다. 이러한 파라미터 이름을 사용하여 전달 함수의 분자와 분모의 계수를 가져옵니다.
num = get_param(h,'Numerator'); denom = get_param(h,'Denominator')
denom = '[Tal,1]'
블록 경로 및 이름 가져오기
다음 입력 인수와 함께 get_param
함수를 사용하여 블록 파라미터의 값을 가져올 수 있습니다.
블록 핸들, 또는 블록 이름을 포함한 전체 블록 경로(예:
'myModel/mySubsystem/myblock'
)파라미터 이름
이 예제에서는 전체 블록 경로 및 이름을 가져오는 방법을 보여줍니다.
경로 및 이름 가져오기
slexAircraftExample
모델에서 필터 역할을 하는 모든 Transfer Function 블록의 전달 함수 계수를 가져온다고 가정하겠습니다. 이렇게 하려면 모델에서 필터 역할을 하는 모든 Transfer Function 블록의 이름과 경로를 가져와야 합니다.
예제를 엽니다. 그런 다음 slexAircraftExample
모델을 불러옵니다.
mdl = 'slexAircraftExample';
load_system(mdl)
find_system
함수를 사용하여 slexAircraftExample
모델에 있는 모든 블록의 경로를 가져옵니다.
paths = find_system(mdl,'Type','Block');
검색 심도가 지정되지 않은 경우 find_system
함수는 모델 계층 구조의 지정된 수준과 지정된 수준에 포함된 모든 하위 수준에서 모든 블록을 찾습니다. slexAircraftExample
은 모델 계층 구조의 최상위 수준이므로 이 명령은 모델 계층 구조의 모든 수준에서 모든 블록을 반환합니다.
또는 필터가 있는 서브시스템을 아는 경우 get_param
함수를 사용하십시오. get_param
함수는 지정된 수준에 포함된 서브시스템이 아닌 모델 계층 구조의 지정된 수준에 있는 블록의 경로만 반환합니다. 이 예제에서 필터는 Controller
서브시스템의 최상위 수준에 있습니다.
paths=get_param(mdl+'/Controller','blocks');
키워드로 경로 및 이름 필터링하기
slexAircraftExample
모델에서 필터 역할을 하는 Transfer Function 블록은 블록 이름에 filter
또는 Filter
라는 단어가 있습니다. 블록 경로 목록이 있다면 단어 filter
또는 Filter
가 포함된 블록을 가져옵니다.
filterpaths = paths(contains(paths,{'Filter','filter'}));
블록 파라미터 값 가져오기
블록 이름을 사용하여 전달 함수 계수를 가져올 수 있습니다. 예를 들어, 다음 명령을 사용하여 Alpha-sensor Low-Pass
필터의 전달 함수 계수를 가져옵니다.
num = get_param(filterpaths{1},'Numerator'); denom = get_param(filterpaths{1},'Denominator')
denom = '[Tal,1]'
블록 유형 표시하기
vdp
모델의 블록 유형 목록을 가져옵니다.
예제를 엽니다. 그런 다음 vdp
모델을 불러옵니다.
load_system('vdp')
vdp
모델의 블록 경로와 이름 목록을 가져옵니다.
blockpaths = find_system('vdp','Type','Block');
vdp
모델의 각 블록에 대해 BlockType
파라미터의 값을 가져옵니다.
blocktypes = get_param(blockpaths,'BlockType')
blocktypes = 12x1 cell
{'CustomCallbackButton'}
{'Constant' }
{'SubSystem' }
{'Product' }
{'Scope' }
{'Math' }
{'Sum' }
{'Sum' }
{'Integrator' }
{'Integrator' }
{'Outport' }
{'Outport' }
모델 파라미터 값 가져오기
다음 입력 인수와 함께 get_param
함수를 사용하여 모델 파라미터의 값을 가져올 수 있습니다.
모델 이름
모델 파라미터 이름
IntegerOverflowMsg
파라미터의 값은 모델이 정수 오버플로를 처리하는 방법을 나타냅니다. 모델은 메시지를 출력하지 않거나 경고 메시지 또는 오류 메시지를 출력할 수 있습니다.
두 모델의 IntegerOverflowMsg
파라미터 값을 비교한다고 가정하겠습니다.
예제를 엽니다. 그런 다음 vdp
및 f14
모델을 불러옵니다.
load_system({'vdp','f14'})
vdp
및 f14
모델의 IntegerOverflowMsg
파라미터 값을 가져옵니다.
vdpval = get_param('vdp','IntegerOverflowMsg'); f14val = get_param('f14','IntegerOverflowMsg');
정수 오버플로가 발생할 경우 vdp
모델은 경고를 출력하는 반면, f14
모델은 어떤 메시지도 출력하지 않습니다.
strcmp
함수를 사용하여 두 파라미터 값을 비교합니다.
strcmp(vdpval,f14val)
ans = logical
0
strcmp
함수는 0
을 출력하는데, 이는 두 모델의 IntegerOverflowMsg
파라미터 값이 서로 다름을 나타냅니다.
모델 파라미터 이름 가져오기
다음 입력 인수와 함께 get_param
함수를 사용하여 모델 파라미터의 값을 가져올 수 있습니다.
모델 이름
모델 파라미터 이름
어떤 상황이 각각 메시지 없음, 경고 메시지, 오류 메시지로 처리되는지에 관한 일관성을 보장하기 위해 두 모델의 메시지 파라미터 값을 비교한다고 가정하겠습니다. 하지만 모든 메시지 파라미터의 이름을 알고 있지는 않습니다.
예제를 엽니다. 그런 다음 vdp
및 f14
모델을 불러옵니다.
load_system({'vdp','f14'})
모든 모델 파라미터 목록을 가져옵니다.
params = get_param('vdp','ObjectParameters');
이 함수는 구조체를 반환합니다. 모델 파라미터 이름이 포함된 셀형 배열을 만듭니다.
names = fieldnames(params);
메시지 파라미터는 약어 Msg
로 끝납니다. 약어 Msg
를 포함하는 모든 모델 파라미터 이름을 가져옵니다.
msgnames = names(contains(names,'Msg'));
vdp
및 f14
모델의 메시지 파라미터 값을 비교합니다. 서로 다른 값을 가진 파라미터의 이름을 출력합니다.
vdpval = cell(1,length(msgnames)); f14val = vdpval; for i=1:length(msgnames) vdpVal{i} = get_param('vdp',msgnames{i}); f14Val{i} = get_param('f14',msgnames{i}); if(strcmp(vdpVal{i},f14Val{i})<1) disp(msgnames{i}) end end
IntegerOverflowMsg IntegerSaturationMsg
두 메시지 파라미터의 값이 서로 다릅니다.
파라미터 값 및 객체 속성값에 대한 옵션 가져오기
다음에 대한 옵션 목록을 가져오려면 키워드 options
와 함께 get_param
함수를 사용하십시오.
블록 파라미터
모델 파라미터
객체 속성(예: 주석의 가로 정렬 옵션)
이 예제에서는 블록 파라미터, 마스크 처리된 파라미터, 모델 파라미터에 대한 옵션 목록을 가져오는 방법을 보여줍니다.
블록 파라미터에 대한 옵션 목록 가져오기
예제를 엽니다. 그런 다음 vdp
모델을 불러옵니다.
load_system('vdp')
Square 블록의 Output signal type
파라미터에 대한 옵션 목록을 가져옵니다.
funcoptions = get_param('vdp/Square','options@OutputSignalType')
funcoptions = 1x3 cell
{'auto'} {'real'} {'complex'}
마스크 처리된 서브시스템 파라미터에 대한 옵션 목록 가져오기
Mu
라는 마스크 처리된 Subsystem 블록의 Read/Write permissions
파라미터에 대한 옵션 목록을 가져옵니다.
get_param('vdp/Mu','options@Permissions')
ans = 1x3 cell
{'ReadWrite'} {'ReadOnly'} {'NoReadOrWrite'}
모델 파라미터에 대한 옵션 목록 가져오기
AlgebraicLoopMsg
라는 모델 파라미터에 대한 옵션 목록을 가져옵니다.
get_param('vdp','options@AlgebraicLoopMsg')
ans = 1x3 cell
{'none'} {'warning'} {'error'}
주석에 대한 옵션 목록 가져오기
vdp
모델에서 주석을 찾습니다.
h = find_system(gcs,'FindAll','on','Type','annotation');
행렬 h
의 핸들에 해당하는 주석 텍스트를 출력합니다.
get_param(h,'PlainText')
ans = 3x1 cell
{'Copyright 2004-2022 The MathWorks, Inc.'}
{'Van der Pol Equation' }
{'x'' - µ(1-x^2) x' + x = 0' }
제목 주석 'Van der Pol Equation'
의 가로 정렬에 대한 옵션 목록을 가져옵니다.
get_param(h(2),'options@HorizontalAlignment')
ans = 1x3 cell
{'left'} {'center'} {'right'}
마스크 처리된 파라미터 값 가져오기
get_param
함수에 키워드 value
를 함께 사용하여 마스크 처리된 블록 파라미터의 값에 액세스할 수 있습니다.
예제를 엽니다. 그런 다음 vdp
모델을 엽니다.
open_system('vdp')
Mu
라는 마스크 처리된 Subsystem 블록의 gain
파라미터 값을 가져옵니다.
get_param('vdp/Mu','value@gain')
ans = 1
모델에서 블록을 더블 클릭합니다.
마스크에서 gain
파라미터를 변경하는 슬라이더를 이동합니다.
gain
파라미터의 값을 다시 가져옵니다.
get_param('vdp/Mu','value@gain')
ans = 1
루트 파라미터 이름과 값 가져오기
전역 파라미터의 이름과 값을 가져옵니다.
전역 파라미터 이름 목록 가져오기
Simulink® 루트 파라미터 이름과 모델 파라미터 이름 간의 차이를 찾아서 전역 파라미터 이름 목록을 가져올 수 있습니다.
예제를 엽니다. 그런 다음 vdp
모델을 불러옵니다.
load_system('vdp')
모든 모델 파라미터의 이름을 가져옵니다.
modelparamnames = fieldnames(get_param('vdp','ObjectParameters'));
Simulink 루트 파라미터 이름의 목록을 가져옵니다.
rootparamnames = fieldnames(get_param(0,'ObjectParameters'));
루트 파라미터 이름 목록과 모델 파라미터 이름 목록 간의 차이를 찾아서 전역 파라미터 이름을 가져옵니다.
globalparamnames = setdiff(rootparamnames,modelparamnames);
전역 파라미터 값 가져오기
전역 파라미터의 값을 가져옵니다.
globalparamval = get_param(0,'CurrentSystem')
globalparamval = 'vdp'
입력 인수
object
— 객체나 루트의 이름, 경로 또는 핸들
문자형 벡터 | 문자형 벡터로 구성된 셀형 배열 | string형 배열 | 숫자형 스칼라 | 0
객체나 루트의 이름, 경로 또는 핸들로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, 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
parameter
— 파라미터, 속성 또는 특성의 이름
문자형 벡터 | string형 스칼라
파라미터, 속성 또는 특성의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 일부 이름은 대/소문자를 구분합니다.
다음 표에는 특수 사례가 나와 있습니다.
지정된 파라미터 | 결과 |
---|---|
'ObjectParameters' | 지정된 객체의 파라미터 이름이 구조체형 배열의 별도 필드로 되어 있습니다. |
'DialogParameters' | 블록 대화 상자의 파라미터 이름이 구조체형 배열의 별도 필드로 되어 있습니다. 블록에 마스크가 있는 경우 함수는 대신 마스크 파라미터를 반환합니다. |
파라미터, 속성, 특성에 관한 자세한 내용은 해당하는 도움말 페이지에서 프로그래밍 방식의 사용법 내용을 참조하십시오. 예를 들면 다음과 같습니다.
모델 — 구성 파라미터 도움말 페이지 참조.
블록 — Common Block Properties 항목 및 블록 도움말 페이지 참조.
포트 — 신호 속성 툴 도움말 페이지 참조.
버스 요소 포트 요소 — In Bus Element 블록과 Out Bus Element 블록 도움말 페이지 참조.
예: 'ObjectParameters'
예: 'Solver'
예: 'SimulationCommand'
예: 'Position'
예: 'NameLocation'
데이터형: char
| string
출력 인수
value
— 파라미터 값
파라미터 유형에 의해 결정되는 형식
파라미터 값으로, 파라미터 유형이 결정하는 형식으로 반환됩니다. 여러 객체를 지정하는 경우 출력은 셀형 배열입니다.
다음 표에는 특수 사례가 나와 있습니다.
지정된 파라미터 | 결과 |
---|---|
'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 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)