<commit_before>#!/usr/bin/env python

#==============================================================================
#	RK4.py
#------------------------------------------------------------------------------
# description    :Implementation eines Runge-Kutta-Verfahrens 4. Ordnung (4O).
# author         :t-froh01
#
# usage          :
# python_version :3.5.1
#
# changes/notes  :20160425 :
#==============================================================================

import numpy as np
def RK4_method(f,z_0,dt,t0,T):  
    #Input: Funktion, Anfangswert(arrany), Zeitschrittweite, Endzeit
   
    z=z_0
    #print(z[1,0])
    #Lege Liste an, entspricht nachher Trajektorie
   # t=np.arange(0,T,dt)
   
        
    for i in range(0,int((T-t0)/dt-1),1):
        # define all k
        z_aktuell=np.hsplit(z,(i,i+1))[1] #Schneidet den aktuellen Output-Vektor aus der Matrix heraus
        
        
        k_1 = f(z_aktuell)                  #Mit dem aktuellen Outputvektor werden die k's ermittelt
        k_2 = f(z_aktuell+ 0.5*dt*k_1)
        k_3 = f(z_aktuell + 0.5*dt*k_2)
        k_4 = f(z_aktuell + dt*k_3)
        
        z=np.column_stack((z,np.hsplit(z,(i,i+1))[1] + (dt/6.)*(k_1 + 2*k_2 + 2*k_3 + k_4))) 
        #Hier wird die der neue Outputvektor aus den k's ermittelt und direkt an die bestehende Matrix angefuegt als neue spalte
    
        <commit_msg>RK4 -fertig und bereit zur Überprüfung<commit_after>#!/usr/bin/env python

#==============================================================================
#	RK4.py
#------------------------------------------------------------------------------
# description    :Implementation eines Runge-Kutta-Verfahrens 4. Ordnung (4O).
# author         :t-froh01
#
# usage          :
# python_version :3.5.1
#
# changes/notes  :20160425 :
#==============================================================================

import numpy as np
def RK4_method(f,z_0,dt,t0,T):  
    #Input: Funktion, Anfangswert(array), Zeitschrittweite,Anfangszeit, Endzeit
   
    z=z_0
   
        
    for i in range(0,int((T-t0)/dt-1),1):
        # define all k
        z_aktuell=np.hsplit(z,(i,i+1))[1] #Schneidet den aktuellen Output-Vektor aus der Matrix heraus
        
        
        k_1 = f(z_aktuell)                  #Mit dem aktuellen Outputvektor werden die k's ermittelt
        k_2 = f(z_aktuell+ 0.5*dt*k_1)
        k_3 = f(z_aktuell + 0.5*dt*k_2)
        k_4 = f(z_aktuell + dt*k_3)
        
        z=np.column_stack((z,np.hsplit(z,(i,i+1))[1] + (dt/6.)*(k_1 + 2*k_2 + 2*k_3 + k_4))) 
        #Hier wird die der neue Outputvektor aus den k's ermittelt und direkt an die bestehende Matrix angefuegt als neue spalte
    
        
{'fraction_non_alphanumeric': 0.2797020484171322, 'fraction_numerical': 0.035754189944134075, 'mean_word_length': 2.3242574257425743, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7188740', 'n_tokens_mistral': 1008, 'n_tokens_neox': 966, 'n_words': 191}