강의자료 · 로봇기초실습

MATLAB 벡터와 센서 데이터 · 학습

이번에 배울 내용

시간·높이·배터리 기록을 배열로 묶고, 필요한 구간과 조건을 골라 확인합니다.

행·열의 의미 정하기

시간마다 한 행, 측정 항목마다 한 열로 정하면 같은 시각의 값들을 함께 읽을 수 있습니다. MATLAB Index는 1부터 시작하며 A(행,열)로 원소를 선택합니다. A(:,2)는 전체 행의 두 번째 열입니다.

조건으로 필요한 기록 고르기

높이가 .5 m 이상인 시각을 찾을 때는 논리 배열을 만들어 같은 행의 시간·배터리를 함께 선택합니다. 값을 고른 뒤에도 원래의 시간 대응을 유지해야 합니다.

Onramp와 연결하기

Vectors and Matrices, Array Indexing and Modification, Logical Arrays를 체험한 뒤 아래 측정 기록에 적용합니다.

풀이 예제

0≤t≤40\le t\le 4초, 높이 [0,.4,.9,.7,.1] m, 배터리 [92,91,90,89,88]%의 합성 기록입니다.
t=(0:4)';height_m=[0;.4;.9;.7;.1];battery_pct=[92;91;90;89;88];
measurements=[t,height_m,battery_pct];
selected=height_m>=.5;
disp(measurements(selected,:));
assert(isequal(size(measurements),[5,3]));
assert(isequal(t(selected),[2;3]));
plot(t,height_m,'o-');xlabel('Time [s]');ylabel('Height [m]');grid on;

예제 결과

조건을 만족하는 행은 시간 2초·3초이고, 전체 배열의 크기는 5×3입니다.

공식 학습 자료