Octave01_Park,jm_250319

Statistics + Visualization 중심의 Octave 학습 예제

ex-recv/01/01-PJM-20250319/Octave01_Park,jm_250319.m

코드 인덱스로 돌아가기

카테고리

Submission Archive

학습 소스 그룹

코드 길이

46

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load 기준

전체 코드

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

clc; clear; close all;
%Octave를 사용하여 데이터를 읽고 쓰고 가공하고 그림으로 그리는 연습을 할 것입니다.
%
%- 이번 주에는 다항식을 대상으로 미분과 차분을 구하고 플로팅합니다.
%- 아래 지시에 따라 적당한 입력값과 입력 범위를 결정하세요.
%- 연구원들은 Octave .m 파일을 작성하여 이메일 <sunggyu.won@ecoe.kr>로 전송하세요.
%- 제목에 [Octave] 포함해주세요.
%- 제출 기간: 2025-03-18 ~ 2025-03-24
%
%1. 수치미분
%   1. 다항식을 하나 정의하라. (poly)
x_roots=[2 3 5.75];
p=poly(x_roots);

%   2. 정의역과 공역을 정하라. (xlim, ylim)
xLim=[0 6];
yLim=polyval(p,xLim);

%   3. 다항식의 곡선을 그려라. (polyval)
N=101;
x=linspace(xLim(1),xLim(2),N);
y=polyval(p,x);

%   4. 다항식의 미분을 구하고  그 곡선을 그려라. (polyder)
q=polyder(p);
dy_dx=polyval(q,x);

%   5. 차분의 정의에 의해 차분 곡선을 그려라.
h=x(2)-x(1);
Dx=mean(x(1:2)):h:x(end);
Dy_Dx=(y(2:end)-y(1:end-1))./h;

%   6. 차분을 계산하는 함수를 사용하여 차분 곡선을 그려라. (diff)
Dy_Dx_diff=diff(y)/h;

%   7. 모든 곡선을 하나의 축에 그려라.
figure(1,'position',[1 65 1920 930],'defaultaxesfontsize',20)
plot(x,y,'k','linewidth',1.5)
hold on
plot(x,dy_dx,'.-.','linewidth',8)
plot(Dx,Dy_Dx,'linewidth',4)
plot(Dx,Dy_Dx_diff,'g--','linewidth',1.3)
hold off; grid on; grid minor; xlim(xLim)
legend('다항식(polyval)','미분(polyder)','차분(정의)','차분(diff)')

코드 해설

목적

Statistics + Visualization 중심의 Octave 학습 예제

입력

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

출력

  • 그래프/figure 출력

실행 흐름

  1. Octave를 사용하여 데이터를 읽고 쓰고 가공하고 그림으로 그리는 연습을 할 것입니다
  2. - 아래 지시에 따라 적당한 입력값과 입력 범위를 결정하세요

핵심 함수/주제

plotpolyvalxLimdifffigurelegendlinspacemean

실습 과제

  • 같은 연산을 내장 함수와 사용자 함수 두 방식으로 계산해 오차를 비교해보세요.
  • 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
  • 핵심 함수 plot의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

학습 팁

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

같은 카테고리의 다른 코드