main-my_diff
Signal Processing + Visualization 중심의 Octave 학습 예제
ex-recv/01/01-JKH-20250319/main-my_diff.m
함수 시그니처
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 출력
실행 흐름
- 핵심 연산
- 시각화
핵심 함수/주제
plotfigurexlimylimpolyvaldiffdsdt
실습 과제
- 샘플링 주파수나 입력 주파수를 바꿔 스펙트럼 변화를 비교해보세요.
- 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
- 핵심 함수 plot의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
학습 팁
- 그래프 비교 시 축 범위(XLim/YLim)와 단위를 먼저 고정하면 해석 오류를 줄일 수 있습니다.
같은 카테고리의 다른 코드
- 수치미분
ex-recv/01/01-CJW-20250321/수치미분.m - main_cjw
ex-recv/01/01-CJW-20250321/main_cjw.m - hw_1_kim-gpt
ex-recv/01/01-KSG-20250318/hw_1_kim-gpt.m - hw_1_kim
ex-recv/01/01-KSG-20250318/hw_1_kim.m - [Octave] HW#1
ex-recv/01/01-LSH-20250319/[Octave] HW#1.m - Octave_Moon_250319
ex-recv/01/01-MJY-20250319/Octave_Moon_250319.m - Octave01_Park,jm_250319
ex-recv/01/01-PJM-20250319/Octave01_Park,jm_250319.m - [Octave]250318_RYU_poly,dff
ex-recv/01/01-RJW-20250321/[Octave]250318_RYU_poly,dff.m - 과제1_신찬영연구원
ex-recv/01/01-SCY-20250319/과제1_신찬영연구원.m - main_chan_01
ex-recv/01/01-SCY-20250319/main_chan_01.m