For Iterator
For Iterator Subsystem의 제어 블록
설명
For Iterator 블록은 Subsystem 블록 안에 배치되면 반복 변수가 지정된 반복 제한을 초과할 때까지 현재 시간 스텝 동안 서브시스템 실행을 반복합니다. 이 블록을 사용하여 프로그래밍 언어에서 for 루프에 해당하는 블록 다이어그램을 구현할 수 있습니다.
For Iterator Subsystem 블록의 출력은 함수 호출 신호가 될 수 없습니다. 모델이 업데이트될 때 Simulink®가 오류 메시지를 표시합니다.
예제
Assignment 블록을 사용한 반복된 할당
이 예제에서는 Assignment 블록을 사용하여 For 또는 While Iterator 루프에서 계산된 값을 연속된 요소에 할당하는 방법을 보여줍니다.
포트
입력
입력 포트는 혼합된 숫자형 데이터를 받습니다.
입력 포트 값이 정수가 아니면 먼저 정수로 잘립니다.
내부적으로 입력값은 반복 변수 출력 포트에 지정된 유형의 정수로 형변환됩니다.
출력 포트가 지정되지 않았으면, 입력 포트 값은 유형
int32로 형변환됩니다.입력 포트 값이 출력 포트 유형의 최댓값을 초과하면 오버플로가 포화됩니다.
데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
출력
반복 변수 표시 파라미터 체크박스를 선택하면 출력 포트가 이 블록에 추가됩니다.
데이터형: double | int8 | int16 | int32 | uint8 | uint16 | uint32
파라미터
시간 스텝 간 블록 상태를 처리할 방법을 선택합니다.
유지시간 스텝 간에 블록 상태를 유지합니다. 전체 시간 스텝에서 블록 상태 값이 유지됩니다.
재설정각 시간 스텝의 시작과 첫 번째 반복 루프 전에 블록 상태를 초기값으로 재설정합니다.
프로그래밍 방식의 사용법
블록 파라미터: ResetStates |
| 유형: 문자형 벡터 |
값: 'held' | 'reset' |
디폴트 값: 'held' |
반복 횟수의 소스를 선택합니다.
내부반복 한도 파라미터의 값이 반복 횟수를 결정합니다.
외부N 포트의 신호 값이 반복 횟수를 결정합니다. 신호 소스는 For Iterator Subsystem 블록 외부에 있어야 합니다.
종속성
내부를 선택하면 반복 한도 파라미터를 표시하고 활성화합니다. 외부를 선택하면 N으로 레이블이 지정된 입력 포트가 추가됩니다.
프로그래밍 방식의 사용법
블록 파라미터: IterationSource |
| 유형: 문자형 벡터 |
값: 'internal' | 'external' |
디폴트 값: 'internal' |
반복 횟수를 지정합니다. 이 파라미터는 스토리지 클래스를 지원합니다. 모델 탐색기의 기본 작업 공간에서 명명된 상수(named constant)를 내장 스토리지 클래스인 Define (custom) 유형의 Simulink.Parameter 객체로 정의할 수 있습니다.
5For Iterator Subsystem 블록 내의 블록들을
5회 반복합니다.- 정수
정수 또는 명명된 상수 변수를 지정합니다.
종속성
이 파라미터를 활성화하려면 반복 한도 소스 드롭다운 목록에서 내부를 선택합니다.
프로그래밍 방식의 사용법
블록 파라미터: IterationLimit |
| 유형: 문자형 벡터 |
값: '5' | 따옴표로 묶인 정수 |
디폴트 값: '5' |
입력 포트의 표시를 제어합니다.
- off
입력 포트를 제거합니다.
- on
Next_i로 레이블이 지정된 입력 포트를 추가하여 외부 반복 변수 소스에 연결합니다. 현재 반복에서의 입력의 값이 다음 반복에서의 반복 변수의 값으로 사용됩니다.
종속성
이 파라미터를 활성화하려면 반복 변수 표시 파라미터를 선택해야 하며, 이렇게 하면 1:N으로 레이블이 지정된 출력 포트도 표시됩니다.
프로그래밍 방식의 사용법
블록 파라미터: ExternalIncrement |
| 유형: 문자형 벡터 |
값: 'off' | 'on' |
디폴트 값: 'off' |
루프의 현재 이터레이터 값으로 출력 포트의 표시를 제어합니다.
- on
1:N으로 레이블이 지정된 출력 포트를 For Iterator 블록에 추가합니다.
- off
출력 포트를 제거합니다.
종속성
이 파라미터를 활성화하면 외부에서 다음 반복 변수(i) 설정 파라미터가 활성화됩니다.
프로그래밍 방식의 사용법
블록 파라미터: ShowIterationPort |
| 유형: 문자형 벡터 |
값: 'on' | 'off' |
디폴트 값: 'on' |
0 또는 1의 초기 반복 횟수를 선택합니다.
1부터 시작반복 횟수가 1에서 시작합니다.
0부터 시작반복 횟수가 0에서 시작합니다.
프로그래밍 방식의 사용법
블록 파라미터: IndexMode |
| 유형: 문자형 벡터 |
값: 'One-based' | 'Zero-based' |
디폴트 값: 'One-based' |
반복 횟수 포트에서 출력되는 반복 값의 데이터형을 설정합니다. 반복 변수에 허용되는 최댓값은 인덱스 모드 파라미터와 반복 변수 데이터형 파라미터에 의해 결정됩니다. 예를 들어, 인덱스 모드를 1부터 시작으로 설정하고 반복 변수 데이터형을 int8로 설정하면 반복 변수에 허용되는 최댓값은 27-1입니다. 그러나 반복 변수 데이터형을 uint32 또는 double로 설정하면, 반복 변수에 허용되는 최댓값은 부호 있는 32비트 정수(int32)의 최대 양수 값으로 제한됩니다. 다른 정수 클래스의 값 범위에 대한 자세한 내용은 정수(Integer) 항목을 참조하십시오.
int32데이터형을
int32로 설정합니다.uint32데이터형을
uint32로 설정합니다.int16데이터형을
int16으로 설정합니다.uint16데이터형을
uint16으로 설정합니다.int8데이터형을
int8로 설정합니다.uint8데이터형을
uint8로 설정합니다.double데이터형을
double형으로 설정합니다.
프로그래밍 방식의 사용법
블록 파라미터: IterationVariableDataType |
| 유형: 문자형 벡터 |
값: 'int32' | 'uint32' | 'int16' | 'uint16' | 'int8' | 'uint8' | 'double' |
디폴트 값: 'int32' |
버전 내역
R2006a 이전에 개발됨이제 다음에 의해 생성된 신호에 신호 중단점을 추가하여 Iterator Subsystem의 특정 반복에서 시뮬레이션을 일시 중지할 수 있습니다.
While Iterator Subsystem 블록 내 While Iterator 블록의 반복 횟수 출력 포트
For Iterator Subsystem 블록 내 For Iterator 블록의 반복 값 출력 포트
For Each Subsystem 블록 내 For Each 블록의 분할 인덱스 출력 포트
이전 릴리스에서는 이러한 위치에 중단점을 추가할 수 있었지만 해당 중단점에서 시뮬레이션이 일시 중지되지 않았으며 블록 다이어그램에서 유효하지 않은 것으로 표시되었습니다.
이제 동일한 위치에 있는 포트 값 레이블에 반복 횟수가 표시됩니다. 이전 릴리스에서는 이러한 위치의 포트 값 레이블에 inaccessible이 표시되었습니다.
예제는 Debug Simulation of Iterator Subsystem 항목을 참조하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)
