배열과 그래프

배열 축이나 시간 간격을 잘못 해석하면 계산이 실행돼도 물리적 의미가 틀릴 수 있습니다.

실습 전에

01 배열의 행과 열은 각각 무엇을 의미할까요?

설명

표본·특징 또는 시간·채널 등 자료의 의미를 먼저 정해야 축별 연산을 해석할 수 있습니다.

02 평활화를 강하게 하면 신호의 어떤 특성이 사라질까요?

설명

급격한 변화와 작은 특징이 줄어들며, Filter에 따라 지연도 생길 수 있습니다.

실습

실습용 노트북 미리보기실습용 노트북 다운로드

1. 배열의 축과 두 종류 곱

시작 조건

A=[123456]A=\begin{bmatrix}1&2&3\\4&5&6\end{bmatrix}, B=[201301]B=\begin{bmatrix}2&0\\1&3\\0&1\end{bmatrix}입니다.

진행 방법

  1. A의 축별 합·평균과 A*A, A@B의 shape를 실행 전에 적으세요.
  2. NumPy로 계산하고 A@B의 (0,1) 원소를 손으로 대조하세요.
  3. 축과 연산별로 결과 배열과 shape를 표에 적으세요.

남길 결과

기록 항목과 확인할 점
연산
예상 shape
실제 shape
값·의미

확인할 점

  • 행렬곱의 내부 차원이 맞는가?
  • A@B[0,1]의 의미가 아니라 (A@B)[0,1]을 확인했는가?

2. 시계열의 축·단위

시작 조건

t=[00.10.20.30.4]t=\begin{bmatrix}0&0.1&0.2&0.3&0.4\end{bmatrix} s, V=[00.81.31.61.8]V=\begin{bmatrix}0&0.8&1.3&1.6&1.8\end{bmatrix} V를 사용합니다.

진행 방법

  1. 전압과 시간의 원소 수를 확인하고 선 그래프를 그리세요.
  2. np.diff(V)/np.diff(t)로 구간별 기울기를 구해 구간 중점에 표시하세요.
  3. 첫 구간 기울기를 직접 계산하고 코드와 대조하세요.

남길 결과

기록 항목과 확인할 점
구간 [s]
ΔV [V]
Δt [s]
기울기 [V/s]

확인할 점

  • 샘플 값과 구간 값의 길이 차이를 처리했는가?
  • 축에 수치뿐 아니라 단위를 적었는가?

3. 노이즈와 평활화

시작 조건

seed=7, 0≤t≤20\le t\le 2 s를 101점으로 만들고 sin⁡(2πt)\sin(2\pi t)에 표준편차 .2의 노이즈를 더합니다.

진행 방법

  1. 같은 노이즈 신호에 길이 3과 9의 균일 Kernel을 사용해 np.convolve(...,mode="same")를 적용하세요.
  2. 원신호·노이즈 신호·두 Filter 출력을 같은 시간축에 표시하세요. 두 RMSE는 양 끝 네 표본을 제외한 공통 구간 [4:-4]에서 원신호와 Filter 출력의 차이로 계산하세요.
  3. Kernel 길이·비교 표본 수·RMSE를 두 행으로 기록하세요. 매끄럽게 보이는 정도와 원신호에 가까운 정도를 그림·RMSE로 구분해 설명하세요.

남길 결과

기록 항목과 확인할 점
Window
비교 구간
RMSE
관찰한 변화

확인할 점

  • 경계 처리와 비교 구간을 동일하게 두었는가?
  • 노이즈를 조건마다 새로 생성하지 않았는가?