소소한 일상 기록

These days, I tried to make a numerical anlysis function for the 4th-order Runge-Kutta method. I could use ODE function in the Scipy or other public libraries, but I wanted to make it and custumize it.

Here is the python code. I refered to someone else's code and textbook.

import numpy as np


def RK4thOrder(func, yinit, x_range, h):
    n = int((x_range[-1] - x_range[0])/h)
    
    x, y = x_range[0], yinit
    
    del x_range
    
    # Containers for solutions
    xsol, ysol = [x,], [y,]

    i = 0
    while i < n:
        k1 = func(x, y)

        yp2 = y + k1 * h / 2

        k2 = func(x+h/2, yp2)

        yp3 = y + k2 * h / 2

        k3 = func(x+h/2, yp3)

        yp4 = y + k3 * h

        k4 = func(x+h, yp4)

        y = y + (((k1 + k4) + (2 * (k2 + k3))) / 6 * h)
        del k1, k2, k3, k4, yp2, yp3, yp4
        x = x + h
        xsol.append(x)
        ysol.append([])
        i = i + 1
        ysol[i] = y
    ysol = np.array(ysol)
    return xsol, ysol

input value:

  • func: function of differential equation.
  • yinit: inital y value at x[0]. yinit can be 1-dimensional numpy array.
  • x_range: [x_min, x_max]
  • h: interval for an iteration step.

output value:

  • xsol: list of x
  • ysol: numpy array of y
List of Articles
Others 책 "대학원생 때 알았더라면 좋았을 것들" 2019.07.27 152
Others 폐휴대전화 재활용 사이트 2019.05.25 160
Pharmacokinetics An example for the online PBPK module 2 2019.03.20 1094
Others [펌] [4K] [ASMR] - Experiment preparation 2019.03.05 507
Science and Technology SNI 차단? HTTPS 차단? DNS 차단? 그게 뭐야? 1 2019.02.14 673
Others Microtube ASMR 2 2019.01.13 200
Science and Technology Python function for the Runge-Kutta 4th Order Method 1 2018.10.24 444
Others 제주도 브릭캠퍼스 - '레고' 예술품 전시 2018.09.15 258
Others Fast.com 을 이용한 속도 측정 1 2018.09.01 561
Science and Technology 한국형발사체 성공을 빕니다. 1 2018.08.29 313
Others HP 공유 프린터/팩스 올인원 복합기 취약점 2018.08.23 291
Others [라이믹스 새로운 기능 살펴보기] "SSL 전용 쿠키 사용"에 대하여 2018.08.22 291
Yummy 일본 맛집 검색 사이트 다베 로그 2018.08.15 293
Others Madeon 의 Pop culture 와 TAK 의 K-Pop culture. 2 2018.07.31 343
Science and Technology jQuery CDN 서비스 제공자들 어디를 쓰는 것이 좋을까? 2018.06.03 650
Others Get predicted logP or logD values 2018.05.13 411
Science and Technology 패킷 훔쳐보는 정부?... 그렇게 하지 않아도 되지 않나요? 2018.05.12 491
Others 키라라 라는 음악가의 ct16041 + ct16031 을 들었다. 2 2018.03.31 405
Others 로그인 로그 모듈에 문제가 있는듯 하다.. 2018.03.25 411
Others 농협 인터넷 뱅킹의 비밀번호가 수상하다. 2018.03.12 623
Requesting to the server, please wait.