: if for while 매트랩 M ATLAB 시작

프로그래밍을 하면 무조건 배워야 하는 ifforwhile입니다. 이 세 가지만으로 프로그래밍할 수 있을 정도로 많이 사용하는데, 매우 중요한 함수입니다. 그럼 그 사용법에 대해 알아보겠습니다.

if A, B라는 영어 수업에서 많이 배웠어요 그 뜻대로 MATLAB에 들어있습니다. 컴퓨터와 관련된 문법을 조금 더 집어넣으면 if를 자유롭게 쓸 수 있습니다.

helpif 설명에는 ifexpres sion, statements, end라고 써있네요. 불친절하네요. 근데 ‘if에 대한 문서’ 이걸 누르면 친절하게 예제까지 잘 써져 있으니까 제 글보다 그걸 읽어주셔야 할 것 같아요. 그래도 이 댓글을 읽고 계셔서…

설명을 드리자면 expression 부분에는 조건을 적어놓고(~하면) statement 부분에는 실행하는 행동을 넣으시면 됩니다.~다.

만약 오늘이 9라면 칠판에 “sunday”라고 쓰세요. 매트랩으로 작성하면

if today == 9 fprintf ( ‘ sunday ‘ ) end

게다가 “=” 는 일반적으로 알고 있는 equal 과는 약간 다르게 프로그래밍에서는 대입한다는 의미로 쓰이고 있습니다.==’ 은 조건을 판별할 때 true인지 false인지 판별하는 기능으로 사용됩니다. ‘==’ 의 앞뒤 문장이 일치하면 true, 불일치하면 false로 인식하게 됩니다. true 이면 아래 문장 fprintf(sunday)를 실행하도록 하겠습니다. 만약 아니라면 실행하지 않고 넘어가게 됩니다.

help for도 많이 쓰이는 기능 중 하나입니다 매트릭스를 계산할 때 도움이 될 거예요.m byn행렬을 가진 A에서 m행을 모두 더하는 프로그램을 만들 때 for를 사용할 수 있죠.

for i = 1 : nsum = sum + A ( m , i ) end

매트랩에 1:10이라는 명령어를 넣으면 1부터 10사이를 포함하는 모든 정수 행렬을 만들게 됩니다. A(m,i)에서의 괄호 안에 있는 숫자는 A행렬 내부의 주소라고 할 수 있습니다. 그럼 m번째 줄, i번째 열에 있는 숫자를 가져오겠습니다. 가끔 행렬이나 행렬의 위치가 헷갈리기도 합니다.sum = sum + A(m, i)이고 sum은 재귀함수입니다. =은 대학입시의 의미를 가지고 있는데, 이전에 sum에 들어있던 값에 A(m, i)를 추가하면서, 또 다른 값의 sum을 계산해서 냅니다.

행렬을다루면중복for문을많이쓰는데,위쪽과마찬가지로모든줄의값을더하고싶을때쓸수있겠죠.

for i = 1 : mfor j = 1 : nsum = sum + A ( i , j ) endend

위와 같이 중복for문을 작성하면 2차원 매트릭스의 합을 구할 수 있을 것입니다.

도움말 while 마지막으로 while 글입니다 while은 위에 if와 for를 합친 것으로 생각됩니다. 조건을 while 옆에 붙여넣어 조건을 만족하면 아래의 statement를 무한히 실행하고 조건이 붕괴되어야만 비로소 정지되는 위험한 구문입니다. 잘못 실행시키면 컴퓨터나 프로그램이 망가질지도 모르니까 잘 알고 사용하는 게 좋겠어요. 다행히 친절한 매트 랩은 컨트롤 + C를 클릭하면 실행 중인 스크립트를 중지시키는 기능을 가지고 있습니다.

사용법은 while 1, sum = sum + 1, end 로 쓰면 됩니다. (웃음)

보통 while 뒤에 “>,<,<=,>=” 처럼 사용합니다. help 설명에 true 사이는 루프 명령문을 반복적으로 실행한다고 적혀있는데 true는 0을 제외한 모든 값을 말합니다. while 0.00001도 항상 true, while 1도 항상 true입니다. 아무튼 1부터 100까지 더하고 싶을 때 쓸만하네요.

i=1;sum=0;while i<=100i=i+1;sum=sum+i;end(코드줄을 줄이는 방법이 있을텐데. 저는 다니고 있는 기계공학과 이라 다음번에 가겠습니다.)

저는 머리가 안 좋은 건지 저렇게 쓰는 게 생각보다 어려워요 그래서 보통 “while 1” 과 “조건문 break;” 을 사용합니다. 이 방식이 제 머리에는 맞거든요. 예제 쓰기 귀찮지만 위와 똑같이 쓰다 보면

sum = 0 ; I = 0 ; while 1i = i + 1 ; sum = sum + I ; if i == 100 , break , endend

while이 처음 혹은 마지막 명령이 실행될지 어떨지 고민이 될 때가 있는데 그때마다 한 줄 실행시켜가며 코드를 짜보겠습니다.

이번 포스트에서는 if for while에 대해 배워봤습니다. 몇 번이나 사용해 봤지만 여전히 헷갈리는게 존재하네요. 익숙해질 필요가 있는 것 같아요 이 조건문 함수는 세 가지만 알면 대부분의 프로그램을 만들 수 있기 때문에 처음 접하시는 분들께는 많이 써보시길 권해드립니다.

error: Content is protected !!