MATLAB 조건·반복과 명령 루틴 · 학습

이번에 배울 내용

같은 이동 계획을 반복 실행하고, 잘못된 입력이나 배터리 조건에서 멈추는 규칙을 작성합니다.

명령 전에 조건 확인하기

if는 상태에 따라 실행할 코드를 선택합니다. 단위·범위·배터리처럼 명령의 유효성을 판단할 조건은 동작을 수행하기 전에 검사합니다.

반복과 상태 갱신

for는 정해진 목록을 차례로 처리하고, while은 조건이 유지되는 동안 반복합니다. 각 단계에서 위치·진행 순서·종료 조건을 갱신해야 멈추지 않는 루틴을 피할 수 있습니다.

장치 연결과 계산 분리

먼저 좌표를 누적하고 명령 목록을 기록하는 모의 실행으로 검증합니다. 같은 계획이 확인된 뒤 장치별 전송 함수에 연결하면 다른 기체나 라이브러리에도 규칙을 재사용할 수 있습니다.

풀이 예제

한 변 .5 m인 사각형의 네 이동을 좌표로 누적합니다. 통신·비행 함수는 호출하지 않습니다.
moves_m=[.5,0;0,.5;-.5,0;0,-.5];
position_m=[0,0];path_m=zeros(size(moves_m,1)+1,2);
for k=1:size(moves_m,1)
position_m=position_m+moves_m(k,:);
path_m(k+1,:)=position_m;
end
assert(norm(position_m)<1e-12);
plot(path_m(:,1),path_m(:,2),'o-');axis equal;grid on;
xlabel('x [m]');ylabel('y [m]');

예제 결과

사각형의 최종 위치는 (0,0), 전체 이동 거리는 2 m입니다.

공식 학습 자료