实现了欧拉算法的优化算法
利用假设出的y’及(x1,y’)的斜率 与上一个点斜率求平均
以此来减小各点斜率的误差
在编码过程中,尝试使用函数 但遇到一些意料之外的问题
# _*_ coding.utf-s _*_
# 开发人员:Mark
# 开发时间:2021/9/24 8:34
# 文件名: 欧拉算法.py
import numpy as np
import matplotlib.pyplot as plt
x = 0
y = 1
step = 0.1
xx = np.zeros(100)
yy = np.zeros(100)
for i in range(100):
k0 = y - 2 * x / y
y = 1.1 * y - 0.2 * x / y
x = x + step
k1 = y - 2 * x / y
y = y + 0.5 * step * (k0 + k1)
yy[i] = y
xx[i] = x
plt.plot(xx,yy)
plt.show()
'''import numpy as np
import matplotlib.pyplot as plt
def fun_conEuler():
x = 0
y = 1
step = 0.1
xx = np.zeros(100)
yy = np.zeros(100)
for i in range(100):
k0 = y - 2 * x / y
y = 1.1 * y - 0.2 * x / y
x = x + step
k1 = y - 2 * x / y
y = y + 0.5 * step * (k0 + k1)
yy[i] = y
xx[i] = x
return xx,yy
toto = fun_conEuler()
def fun_plot():
plt.plot(toto[0],toto[1])
plt.show()
fun_plot()'''