首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Euler方法python

Euler方法python
EN

Stack Overflow用户
提问于 2022-09-01 14:20:58
回答 1查看 115关注 0票数 -3

我在情节上有些问题。这里的Exatlct解是正确的,但是eulerbmethod给出了同样的曲线,但要低得多。

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
 
# Define parameters
f = lambda x, y: 2*x
h = 0.1
x = np.arange(-10, 10, h)
x0 = 0
y0 = 2
 
# Explicit Euler Method
y = np.zeros(len(x))
y[x0] = y0
 
for i in range(0, len(x) - 1):
    y[i + 1] = y[i] + h*f(x[i], y[i])
 
plt.figure(figsize=(12, 8))
plt.plot(x, y, 'b--', label='Euler')
plt.plot(x, 2+x**2, 'g', label='Exact')
plt.title('Numerical integration methods')
plt.xlabel('x')
plt.ylabel('y')
plt.grid()
plt.legend()
plt.show()
EN

回答 1

Stack Overflow用户

发布于 2022-09-01 15:20:29

那是因为你的“精确解决方案”不正确。集成时,必须考虑x的非零值:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73570944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档