경제, 금융, 공학

동두천양주교육지원청 영재교육원 최우수 수료, 한국디지털미디어고등학교 해킹방어과 졸업, 연세대학교 공과대학 재학중, 2022 교육부 장학생.

Study Steady

Yonsei Univ/Matlab

Matlab Study 5 (If,while,else,switch,end,for 문)

uniblack 2022. 12. 28. 01:10
for k = 5:10:35
    x = k.^2
end

% k = m:s:n:
% 정수가 아니면 반올림 에러로 원하는 값이 나오지 않을수도 있으니 정수로 써라.
% m=n 이면 루프 1번만 돈다. s는 양수든 음수든 가능

x = [10,1000,-10,100];

y = NaN * x; % NaN은 값이 없다는 뜻
for k = 1:length(x) %배열의 길이니까 1:4 , 4번 반복할 것이다.
    if x(k) < 0
        continue %for문 전체를 뛰어넘는다고 생각하면 편하다.
    else
        y(k) = log10(x(k));
    end
end
y


%Using a logical array as a mask
%내가 원하는 값만 골라내는 기법

A = [0,-1,4;9,-14,25;-35,49,64];
C = (A>=0);

%마치 C를 하나의 함수처럼 활용할 수 있다.
A(C) = sqrt(A(C))  %양수라면 루트 씌워주고
A(~C) = A(~C) + 50 %음수라면 50을 더해준다.


%While 문은 조건이 없다. 따라서 무한대로 돌아가는데 본인이 종료 조건을 잘 설정해주어야 한다.
%그렇지 않으면 과부하가 와서 컴퓨터 터진다.

x = 5;
while x < 25   % x<25 가 true(참값)을 가질때만 돌아간다.
    disp(x)
    x = 2*x -1;
end

%Switch 문은 if문이랑 같지만 구조가 다르다.

angle = input('각도 : ')
switch angle
    case 45
        disp('북')
    case 135
        disp('~')
    otherwise
        disp('Direction unknown')
end
​