[수치해석] 미분방정식을 시간이 작아지는 방향으로(역으로) 풀 때

2023. 9. 17. 19:01·수치해석 Numerical Analysis

이런저런 생각을 하다가 미분방정식의 최종 시간에서의 값이 정해질 때 역으로 풀면 (즉, 시간을 거꾸로 해서 풀면)

풀릴 지에 대한 궁금증이 생겨서 테스트한 것이다.

 

% Solve differential equation using MATLAB odesolver
tspan = [0 5];
y0 = 10;
[t,y] = ode45(@(t,y) -2*y, tspan, y0);
figure;
plot(t,y,'-o');

dt = 0.01 ;
N = tspan(2) / dt ;

x = zeros(N+1,1) ;
f = @(t,y) -2*y ;
x(1) = y(end) ;

% solve reversely
for i =1:N
    t_tmp = 5 - dt * i ;
    x(i+1) = x(i) - dt * f(t_tmp,x(i)) ;
end

Time = 0 : dt : tspan(2) ;
x_flip = flipud(x) ;
figure; hold on;

plot(t,y,'-o');
plot(Time,x_flip') ;
legend('True','Predicted') ;

 

다음과 같이 계산할 때 True값과 어느정도 비슷한 경향을 보인다. 시스템이 단순해서 이렇게 나오는 것 같아서 좀 더 복잡한 시스템에 대해서도 테스트해볼 생각이다.

 

저작자표시 비영리 변경금지

'수치해석 Numerical Analysis' 카테고리의 다른 글

[수치해석] Runge Kutta 4th order 증명  (0) 2022.03.16
[수치해석] Numerical solution of ODE (7) Leap frog method  (0) 2022.03.15
[수치해석] Numerical solution of ODE (6) Runge-Kutta method  (0) 2021.09.26
[수치해석] Numerical solution of ODE (5) Predictor-Corrector Method  (0) 2021.09.26
[수치해석] Numerical solution of ODE (4) Trapezoidal method (Crank-Nicolson)  (0) 2021.09.24
'수치해석 Numerical Analysis' 카테고리의 다른 글
  • [수치해석] Runge Kutta 4th order 증명
  • [수치해석] Numerical solution of ODE (7) Leap frog method
  • [수치해석] Numerical solution of ODE (6) Runge-Kutta method
  • [수치해석] Numerical solution of ODE (5) Predictor-Corrector Method
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (458)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    딥러닝
    ChatGPT
    Numerical Analysis
    수식삽입
    MATLAB
    matplotlib
    텝스
    에러기록
    텝스공부
    옵시디언
    인공지능
    생산성
    WOX
    논문작성
    obsidian
    Dear abby
    teps
    LaTeX
    수치해석
    Zotero
    고체역학
    JAX
    논문작성법
    Python
    Linear algebra
    우분투
    pytorch
    Statics
    IEEE
    Julia
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[수치해석] 미분방정식을 시간이 작아지는 방향으로(역으로) 풀 때
상단으로

티스토리툴바