main-my_diff

Signal Processing + Visualization 중심의 Octave 학습 예제

ex-recv/01/01-JKH-20250319/main-my_diff.m

코드 인덱스로 돌아가기

카테고리

Submission Archive

학습 소스 그룹

코드 길이

74

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load 기준

함수 시그니처

function [result] = my_diff(time, signal_1)

전체 코드

전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.

function [result] = my_diff(time,signal_1)
#차분정의에 의한 차분곡선
temp_sig1 = [signal_1 0];
temp_sig2 = [0 signal_1];

temp_time1 = [time 0];
temp_time2 = [0 time];
  
ds = (temp_sig1-temp_sig2);
dt = temp_time1-temp_time2;

result = ds(2:end-1)./dt(2:end-1);
endfunction
##


#1.다항식 한개 정의 (x-2)(x-3)(x-5)
A = [2,3,5]
B = poly(A)

#2. 정의역과 공역을 정하라. (xlim, ylim)
dx = 0.1
X = [0 : dx : 7];
C = polyval (B, X);

xlim_0 = [X(1),X(end)];
ylim_0 = [C(1),C(end)];

#3. 다항식의 곡선을 그려라(polyval)
figure(1)
plot(X,C)
grid on
xlim(xlim_0)
ylim(ylim_0)

#4.다항식의 미분을 구하고  그 곡선을 그려라. (polyder)
D = polyder(B);
E = polyval(D,X);
figure(2)
plot(X,E)
xlim(xlim_0)
ylim(ylim_0)
grid on

#5. 차분의 정의에 의해 차분 곡선을 그려라.
F = my_diff(X,C);
figure(3)
plot(X(2:end),F)
xlim(xlim_0)
ylim(ylim_0)
grid on


#6. 차분을 계산하는 함수를 사용하여 차분 곡선을 그려라. (diff)
G = diff(C,1);
H = G/dx;

figure(4)
plot(X(2:end),H)
xlim(xlim_0)
ylim(ylim_0)
grid on


#7.모든 곡선을 하나의 축에 그려라.
figure(5)
hold on
plot(X,C,'b')
plot(X,E,'r')
plot(X(2:end),F,'k','linewidth',3)
plot(X(2:end),H,'y')
hold off
grid on
legend('3','4','5','6')

코드 해설

목적

Signal Processing + Visualization 중심의 Octave 학습 예제

입력

  • 파라미터: time
  • 파라미터: signal_1

출력

  • 반환값: result
  • 그래프/figure 출력

실행 흐름

  1. 핵심 연산
  2. 시각화

핵심 함수/주제

plotfigurexlimylimpolyvaldiffdsdt

실습 과제

  • 샘플링 주파수나 입력 주파수를 바꿔 스펙트럼 변화를 비교해보세요.
  • 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
  • 핵심 함수 plot의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

학습 팁

  • 그래프 비교 시 축 범위(XLim/YLim)와 단위를 먼저 고정하면 해석 오류를 줄일 수 있습니다.

같은 카테고리의 다른 코드