python实现四阶龙格库塔法

# -*- coding: utf-8 -*-
"""
Created on Sun Dec 24 15:29:08 2017

@author: www
"""
#本程序是用四阶龙格库塔法求解课本(数值计算方法 马东升)P242页的例7-3
#fun为指定的导数的函数
#rf4为四阶龙格库塔法


def fun(x,y):
    f = y - (2 * x / y)
    return f

#input
#     x0,y0:初始给出的x0值,y0值
#     h   :步长
#     N   :迭代次数
#print
#    x1,y1:每次迭代输出的结果
def rf4(x0,y0,h,N):
    n = 1
    while(n != N):
        x1 = x0 + h
        k1 = fun(x0, y0)
        k2 = fun(x0+h/2, y0+h*k1/2)
        k3 = fun(x0+h/2, y0+h*k2/2)
        k4 = fun(x1, y0+h*k3)
        y1 = y0 + h * (k1 + 2* k2 + 2 * k3 + k4) / 6
        print("%.2f, %.6f" %(x1, y1))
        n = n + 1
        x0 = x1
        y0 = y1
        
        
def main():
    rf4(0,1,0.2,5)
    
main()        

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值