초보자를 위한 MATLAB 반복문
MATLAB은 데이터 분석, 수치 해석 및 시뮬레이션에 널리 사용되는 프로그래밍 언어이며, 반복문은 MATLAB의 강력한 기능 중 하나입니다. 반복문을 이해하고 활용하는 것은 MATLAB 프로그래밍의 기초를 다지는 중요한 요소입니다. 이 글에서는 초보자를 위해 MATLAB의 다양한 반복문에 대해 상세히 설명하고, 실용적인 예제를 통해 이해를 돕고자 합니다.
1. 반복문의 기본 이해
반복문은 특정 조건이 충족될 때까지 또는 특정 횟수만큼 코드를 반복적으로 실행하는 구조입니다. MATLAB에서 가장 많이 사용되는 반복문 구조는 for 문과 while 문입니다. 두 가지 반복문은 각각의 사용 용도에 따라 적절히 선택하여 사용할 수 있습니다.
1.1 for 문
for 문은 정해진 횟수만큼 반복 실행하는 구조입니다. 주로 배열 또는 벡터의 요소를 순회할 때 유용하게 사용됩니다. for 문의 기본 구문은 다음과 같습니다.
for 인덱스 = 시작값:증가값:끝값
실행할 코드
end
1.2 while 문
while 문은 조건이 참일 동안 계속 반복하는 구조입니다. 조건식이 성립하는 동안 반복 실행되므로, 반복 횟수가 정해져 있지 않을 때 유용합니다. while 문의 기본 구문은 다음과 같습니다.
while 조건식
실행할 코드
end
2. for 문의 예제
2.1 기본 사용법
간단한 예제를 통해 for 문의 사용법을 살펴보겠습니다. 다음 코드는 1부터 10까지의 정수를 출력하는 예제입니다.
for i = 1:10
disp(i)
end
위 코드를 실행하면 다음과 같이 1부터 10까지의 숫자가 출력됩니다.
2.2 배열의 요소 합계 계산
주어진 배열의 요소를 모두 더하는 프로그램을 작성해보겠습니다.
A = [1, 2, 3, 4, 5];
sum = 0;
for i = 1:length(A)
sum = sum + A(i);
end
disp(sum)
이 코드를 실행하면, 배열 A의 모든 요소를 더한 값인 15가 출력됩니다.
2.3 중첩 for 문
반복문은 중첩해서 사용할 수도 있습니다. 아래 코드는 1부터 3까지의 숫자와 1부터 2까지의 숫자를 조합하여 출력하는 예제입니다.
for i = 1:3
for j = 1:2
fprintf('i = %d, j = %d\n', i, j);
end
end
이 코드를 실행하면 다음과 같은 결과가 출력됩니다:
i = 1, j = 1
i = 1, j = 2
i = 2, j = 1
i = 2, j = 2
i = 3, j = 1
i = 3, j = 2
3. while 문의 예제
3.1 기본 사용법
아래 예제는 while 문을 사용하여 1부터 10까지의 숫자를 출력하는 코드입니다. 하지만 이 코드는 if 조건을 통해 10이 되면 반복을 멈춥니다.
i = 1;
while i <= 10
disp(i)
i = i + 1;
end
이 코드를 실행하면 1부터 10까지 출력됩니다.
3.2 사용자 입력을 통한 조건 반복
사용자로부터 입력을 받아 특정 값이 입력될 때까지 반복하는 프로그램을 작성해보겠습니다.
inputValue = 0;
while inputValue ~= -1
inputValue = input('숫자를 입력하세요 (-1 입력 시 종료): ');
disp(['입력한 숫자는: ', num2str(inputValue)]);
end
위 코드는 사용자가 -1을 입력할 때까지 계속 숫자를 입력받아 출력합니다.
4. 반복문에서의 break와 continue 문
4.1 break 문
break 문은 반복문을 즉시 종료하는 데 사용됩니다. 특정 조건을 충족할 경우 반복을 중지하고 싶을 때 유용하게 쓰입니다.
for i = 1:10
if i == 5
break;
end
disp(i)
end
이 코드를 실행하면 1부터 4까지 출력되고, 5에서 반복이 종료됩니다.
4.2 continue 문
continue 문은 현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 넘어가게 합니다.
for i = 1:10
if mod(i, 2) == 0
continue;
end
disp(i)
end
이 코드는 1부터 10까지의 숫자 중 홀수만 출력합니다.
5. 실용적인 예제
5.1 숫자 맞추기 게임
사용자로부터 숫자를 맞추는 게임을 만들어볼 수 있습니다. 아래의 프로그램은 사용자가 특정 범위 내 숫자를 맞추는 게임의 예입니다.
targetNumber = randi([1, 100]);
guess = 0;
while guess ~= targetNumber
guess = input('1부터 100 사이의 숫자를 입력하세요: ');
if guess < targetNumber
disp('추측한 숫자가 작습니다.');
elseif guess > targetNumber
disp('추측한 숫자가 큽니다.');
else
disp('정답입니다!');
end
end
5.2 피보나치 수열 생성
피보나치 수열을 생성하는 프로그램을 만들 수도 있습니다. 피보나치 수열의 요소는 이전 두 요소의 합으로 정의됩니다.
n = 10;
fibonacci = [0, 1];
for i = 3:n
nextValue = fibonacci(i-2) + fibonacci(i-1);
fibonacci = [fibonacci, nextValue];
end
disp(fibonacci)
이 코드는 처음 10개 피보나치 수열의 요소를 출력합니다.
6. 결론
MATLAB에서 반복문은 기본적인 구조적 프로그래밍 기법 중 하나로 매우 중요합니다. for 문과 while 문 각각의 특성을 이해하고 활용하면 다양한 문제를 효율적으로 해결할 수 있습니다. 또한, break와 continue 문을 사용하여 반복문을 보다 효과적으로 제어할 수 있습니다. 초보자들은 이 개념을 숙지하고 다양한 실습을 통해 반복문의 이해도를 높여야 합니다.
이 글이 MATLAB의 반복문에 대한 이해를 돕는 데 기여했길 바라며, 앞으로의 프로그래밍 여정에 큰 도움이 되기를 바랍니다.





