Scilab의 for 명령은 반복을 수행하기 위해서 사용되며. for 와 end 사이의 명령어들을 주어진 변수값을 가지고 반복 수행한다. 간단한 예를 들면 다음과 같다.
--> for n=1:5, disp(n), end |
이 명령은 disp(n)이라는 명령을 반복해서 수행하는데 다음과 같은 결과를 표시한다.
1.2.3.4.5. |
이 예제에서 반복은 벡터에 대해서 수행되었다. 이전에 콜론(:) 연산자는 행벡터를 생성한다고 설명한 바 있다. 따라서 위의 예는 다음과 완전히 동일하다.
--> for n=[1 2 3 4 5], disp(n), end |
하지만 전자의 경우가 훨씬 더 간략하므로 만약 등간격의 변수들에 대한 반복을 수행한다면 전자와 같이 사용하는 것이 더 일반적이다. (1부터 1000까지 반복하는 경우라면 후자같이 사용하지는 못할 것이다.)
만약 1부터 10까지의 숫자 중 홀수에 대해서만 반복을 수행하고 싶다면 다음과 같이 하면 될 것이다.
--> for n=1:2:10, disp(n), end |
그려면 화면에는 1부터 시작해서 하나씩 건너 뛴 숫자들을 표시할 것이다.
1.3.5.7.9. |
증분값을 음수로 주면 역순으로 수행할 수도 있다. 예를 들어서
--> for n=5:-1:1, disp(n), end |
이라고 하면 화면에 5부터 1까지 역순으로 표시되는 것을 확인할 수 있다.
for 반복문에서 사용되는 변수값은 꼭 정수뿐만 아니라 다양한 값이 될 수 있다. 실수의 예를 들면 다음과 같다.
--> for n=linspace(0,1,5),disp(n),end0.0.250.50.751. |
또는 다음과 같이 실수가 아닌 경우도 된다.
--> for n=[0.1, %i, %pi, %e],disp(n),end0.1i3.14159272.7182818 |
반복 변수에 행렬이 지정될 때에는 그 행렬의 각각의 열벡터로 반복을 수행한다. 예를 들어서
--> for n=[1 2 3;4 5 6], disp(n), end |
라는 반복문의 경우 세 번 반복이 수행되는데 각각의 반복문에서 n변수의 값은 [1;4], [2;5], [3;6], 즉 첫 번째 열, 두 번째 열, 그리고 세 번째 열이 된다. 따라서 결과는 다음과 같다.
1.4.2.5.3.6. |
댓글 없음:
댓글 쓰기