改进欧拉法

#P236 例2
import numpy as np

x=0
y=0
yn=1
h=0.1
accuracy=6
for i in range(0,10):
    
    yp=round(y+h*(x-y),accuracy)
    yq=round(y+h*(x-yp+h),accuracy)
    #yn=round(x*(3+x**2)/3/(1+x**2),accuracy)
    yn=round(x-1+np.e**(-x),accuracy)
    ans=round(yn-y,accuracy)
    print(i,x,y,yn,ans,sep='\t\t')
    y=round((yp+yq)/2,accuracy)
    x=round(x+h,accuracy)


#P264 习题九 3.(2)
import numpy as np

def Fx(x,y):
    return (2*x+1)**0.5

def fx(x,y):
    return y-2*x/y
x=0
y=1
h=0.1
accuracy=4
for i in range(0,11):
    yp=round(y+h*fx(x,y),accuracy)
    yq=round(y+h*fx(x+h,yp),accuracy)
    #yn=round(x*(3+x**2)/3/(1+x**2),accuracy)
    yn=round(Fx(x,y),accuracy)
    ans=round(yn-y,accuracy)
    print(i,x,y,yn,ans,sep='\t\t')
    y=round((yp+yq)/2,accuracy)
    x=round(x+h,accuracy)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值