gpt4 book ai didi

python - 如何使用欧拉方法对周期函数进行编程

转载 作者:行者123 更新时间:2023-12-01 00:59:01 31 4
gpt4 key购买 nike

使用欧拉方法,我编写了代码来找到逻辑增长方程的近似值

def Euler(h,N):
import numpy as np
K = 12; r = 0.43; Po = 1;

#defining dP/dt as a function f(P)


for n in range(N+1): #n=0 as index for P[0], then 1<=n<=N

P = np.append(P,Pn)
return P[N] #return the last computed value in P

Euler(0.1,5)
然而,对于我的下一个作业,𝐾(t)=12+2.5sin(t/12),其中 K 是周期函数。我需要一些关于如何执行此操作的指导,我的尝试如下

import numpy as np
from math import sin

def Euler2(h,N):
r = 0.43;
Po = 1;
#defining dP/dt as a function f(P)
#initializing P with Po
for n in range(N+1):

return P[N] #return the last computed value in P

Euler2(0.1,100)

最佳答案

您需要对代码进行一些修改:

  • 在 for 循环之前初始化 P
  • k 的 lambda 函数命名为 kfunc(或您选择的其他名称)
<小时/>
import numpy as np
from math import sin

def Euler2(h,N):
r = 0.43
Po = 1
P = np.array([Po])
for n in range(N+1):
kfunc = lambda k:12 + 2.5 *sin(n/12)
f = lambda P: r*P*(1-P/kfunc(n))
Pn = P[n] + h*f(P[n]) #euler
P = np.append(P,Pn)
return P[N] #return the last computed value in P

Euler2(0.1,100)
# 10.932593954891473

关于python - 如何使用欧拉方法对周期函数进行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961586/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com