hw_1_kim-gpt

Visualization 중심의 Octave 학습 예제

ex-recv/01/01-KSG-20250318/hw_1_kim-gpt.m

코드 인덱스로 돌아가기

카테고리

Submission Archive

학습 소스 그룹

코드 길이

62

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load 기준

전체 코드

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

% 세련되게 정리해봐.

clc; clear; clf;

% 다항식 정의 (근을 이용하여 생성)
r = [-1, 1];
p = poly(r);

% 정의역 설정
dx = 0.1;
x_range = -2:dx:2;

% 다항식 값 계산
y = polyval(p, x_range);

% 다항식의 미분 계산
dp = polyder(p);
y_p = polyval(dp, x_range);

% 차분 계산 (정의에 따른 방식)
dy_dx = diff(y) / dx;

% 내장 diff 함수 사용한 차분 계산
diff_y = diff(y) / dx;

% 그래프 플로팅
figure(1)

subplot(2, 4, 1)
plot(x_range, y, 'b')
grid on
xlabel('x'); ylabel('y')
title('다항식')

subplot(2, 4, 2)
plot(x_range, y_p, 'r')
grid on
xlabel('x'); ylabel('y')
title('미분')

subplot(2, 4, 3)
plot(x_range(1:end-1), dy_dx, 'g')
grid on
xlabel('x'); ylabel('y')
title('차분 (정의)')

subplot(2, 4, 4)
plot(x_range(1:end-1), diff_y, 'm')
grid on
xlabel('x'); ylabel('y')
title('차분 (diff 함수)')

subplot(2, 4, 5:8)
plot(x_range, y, 'b', 'DisplayName', '다항식'); hold on;
plot(x_range, y_p, 'r', 'DisplayName', '미분');
plot(x_range(1:end-1), dy_dx, 'g', 'DisplayName', '차분 (정의)');
plot(x_range(1:end-1), diff_y, 'm', 'DisplayName', '차분 (diff)');
grid on;
xlabel('x'); ylabel('y');
title('모든 곡선')
legend show;

코드 해설

목적

Visualization 중심의 Octave 학습 예제

입력

  • 스크립트 상단에서 정의한 파라미터/입력 데이터를 사용합니다.

출력

  • 그래프/figure 출력

실행 흐름

  1. 그래프 플로팅

핵심 함수/주제

plotsubplottitlexlabelylabelx_rangediffpolyval

실습 과제

  • 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
  • 핵심 함수 plot의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

학습 팁

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

같은 카테고리의 다른 코드