본문 바로가기
MATLAB

MATLAB 조건문 / if switch, for , while ...

by deeplearningkakao 2022. 1. 24.
반응형

루프와 조건문

if, elseif, else 

조건이 true인 경우 명령문 실행
switch, case, otherwise  여러 개의 명령문 그룹 중 하나 실행

for  지정된 횟수를 반복하는 for 루프

while 조건이 true이면 반복하는 while 루프

try, catch  명령문을 실행하여 결과 오류 포착

break  for 루프 또는 while 루프 실행 종료

return  컨트롤을 호출 스크립트 또는 호출 함수에 반환
 
continue for 루프나 while 루프의 다음 반복으로 제어를 전달

pause  MATLAB 실행을 일시적으로 중지

parfor  병렬 for 루프

end  코드 블록 종료 또는 마지막 배열 인덱스 표시

if, elseif, else

조건이 true인 경우 명령문 실행페이지 내 모두 축소

 

if expression

    statements

elseif expression

    statements

else

    statements

end

 

- 배열비교

if any(A > limit)
    disp('There is at least one value above the limit.')
else
    disp('All values are below the limit.')
end

 

-문자형벡터비교

reply = input('Would you like to see an echo? (y/n): ','s');
if strcmp(reply,'y')
  disp(reply)
end

-if 여러개 실행

x = 10;
minVal = 2;
maxVal = 6;

if (x >= minVal) && (x <= maxVal)
    disp('Value within specified range.')
elseif (x > maxVal)
    disp('Value exceeds maximum value.')
else
    disp('Value is below minimum value.')
end

 

switch, case, otherwise

여러 개의 명령문 그룹 중 하나 실행

switch switch_expression
   case case_expression
      statements
   case case_expression
      statements
    ...
   otherwise
      statements
end

-단일값비교하기

n = input('Enter a number: ');

switch n
    case -1
        disp('negative one')
    case 0
        disp('zero')
    case 1
        disp('positive one')
    otherwise
        disp('other value')
end
반응형

-여러값비교하기

x = [12 64 24];
plottype = 'pie3';

switch plottype
    case 'bar' 
        bar(x)
        title('Bar Graph')
    case {'pie','pie3'}
        pie3(x)
        title('Pie Chart')
    otherwise
        warning('Unexpected plot type. No plot created.')
end

 

for

지정된 횟수를 반복하는 for 루프

for index = values
   statements
end

- 행렬값 할당

s = 10;
H = zeros(s);

for c = 1:s
    for r = 1:s
        H(r,c) = 1/(r+c-1);
    end
end

 

-값 감소

 

for v = 1.0:-0.2:0.0
   disp(v)
end

-각 행렬에 대해 명령문 반복

for I = eye(4,3)
    disp('Current unit vector:')
    disp(I)
end

while

조건이 true이면 반복하는 while 루프

while expression
    statements
end

- 표현식이 false가 될 때까지 명령문 반복

n = 10;
f = n;
while n > 1
    n = n-1;
    f = f*n;
end
disp(['n! = ' num2str(f)])

-다음번 루프 반복 위치로 건너뛰기

fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
    line = fgetl(fid);
    if isempty(line) || strncmp(line,'%',1) || ~ischar(line)
        continue
    end
    count = count + 1;
end
count

fclose(fid);

- 표현식이 false가 되기전에 루프 종료

limit = 0.8;
s = 0;

while 1
    tmp = rand;
    if tmp > limit
        break
    end
    s = s + tmp;
end
반응형

'MATLAB' 카테고리의 다른 글

MATLAB 딥러닝을 사용한 컴퓨터 비전  (0) 2022.02.04
MATLAB 이미지인식 만들기  (0) 2022.01.30
matlab 완전 기초 주석추가 / 객체지향  (0) 2022.01.22
함수 function  (0) 2022.01.22
행렬과 배열  (0) 2022.01.21

댓글