카테고리
Submission Archivesubmission
코드와 해설을 함께 읽는 학습 문서
Code Detail
Visualization 중심의 Octave 학습 예제
ex-recv/01/01-RJW-20250321/[Octave]250318_RYU_poly,dff.m
코드를 복사해 Octave에서 바로 실행할 수 있습니다.
77 lines
clc; clear;
r = [3, 2, -5];
p = poly(r);
x = linspace(-10, 10, 200);
y = polyval(p, x);
%다항식 그래프
figure(1)
plot(x, y, 'b', 'linewidth', 2);
##xlim([-10, 10]);
##ylim([-1000, 1000]);
xlabel('x');
ylabel('y');
legend('다항식의 곡선');
title('다항식');
grid on;
%미분 그래프
dp = polyder(p);
dy = polyval(dp, x);
figure(2)
plot(x, dy, 'r', 'linewidth', 2);
##xlim([-10, 10]);
##ylim([-1000, 1000]);
xlabel('x');
ylabel('dy/dx');
legend('미분의 곡선');
title('미분');
grid on;
%차분의 정의에 의한 곡선
h = x(2) - x(1);
y_delta = (y(2:end)-y(1:end-1));
y_diff = y_delta/h;
x_diff = x(1:end-1);
figure(3)
plot(x_diff, y_diff, 'g', 'linewidth', 2);
xlabel('x');
ylabel('{\Delta}y/{\Delta}x');
legend('차분의 곡선');
title('차분');
grid on;
% 차분 계산함수 diff
figure(4)
y_diff2 = diff(y)/h;
plot(x_diff, y_diff2, 'm', 'linewidth', 2);
xlabel('x');
ylabel('{\Delta}y/{\Delta}x');
legend('차분의 곡선');
title('차분');
grid on;
% 모든 곡선을 하나의 축에 표현
figure(5)
plot(x, y, 'b', 'linewidth', 2); hold on
plot(x, dy, 'r', 'linewidth', 4); hold on
plot(x_diff, y_diff, 'g', 'linewidth', 3); hold on
plot(x_diff, y_diff2, 'm', 'linewidth', 2); hold off
xlim([-10, 10]);
ylim([-1000, 1000]);
grid on;
legend('다항식', '미분', '정의에 의한 차분', 'diff함수의 차분');
title('다항식, 미분, 차분 비교');
ex-recv/01/01-CJW-20250321/수치미분.m
ex-recv/01/01-CJW-20250321/main_cjw.m
ex-recv/01/01-JKH-20250319/main-my_diff.m
ex-recv/01/01-KSG-20250318/hw_1_kim-gpt.m
ex-recv/01/01-KSG-20250318/hw_1_kim.m
ex-recv/01/01-LSH-20250319/[Octave] HW#1.m
ex-recv/01/01-MJY-20250319/Octave_Moon_250319.m
ex-recv/01/01-PJM-20250319/Octave01_Park,jm_250319.m