소소한 일상 기록

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 125
Others 폐휴대전화 재활용 사이트 2019.05.25 133
Pharmacokinetics An example for the online PBPK module 2 2019.03.20 712
Others [펌] [4K] [ASMR] - Experiment preparation 2019.03.05 366
Science and Technology SNI 차단? HTTPS 차단? DNS 차단? 그게 뭐야? 1 2019.02.14 606
Others Microtube ASMR 2 2019.01.13 178
Science and Technology Python function for the Runge-Kutta 4th Order Method 1 2018.10.24 381
Others 제주도 브릭캠퍼스 - '레고' 예술품 전시 2018.09.15 241
Others Fast.com 을 이용한 속도 측정 1 2018.09.01 529
Science and Technology 한국형발사체 성공을 빕니다. 2018.08.29 301
Others HP 공유 프린터/팩스 올인원 복합기 취약점 2018.08.23 272
Others [라이믹스 새로운 기능 살펴보기] "SSL 전용 쿠키 사용"에 대하여 2018.08.22 270
Yummy 일본 맛집 검색 사이트 다베 로그 2018.08.15 273
Others Madeon 의 Pop culture 와 TAK 의 K-Pop culture. 2 2018.07.31 321
Science and Technology jQuery CDN 서비스 제공자들 어디를 쓰는 것이 좋을까? 2018.06.03 609
Others Get predicted logP or logD values 2018.05.13 378
Science and Technology 패킷 훔쳐보는 정부?... 그렇게 하지 않아도 되지 않나요? 2018.05.12 463
Others 키라라 라는 음악가의 ct16041 + ct16031 을 들었다. 2 2018.03.31 388
Others 로그인 로그 모듈에 문제가 있는듯 하다.. 2018.03.25 319
Others 농협 인터넷 뱅킹의 비밀번호가 수상하다. 2018.03.12 579
Requesting to the server, please wait.