gpt4 book ai didi

Python 数值求解的谐振子图生成不需要的结果

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:09 25 4
gpt4 key购买 nike

我一直在尝试对基本谐振子的图形进行数值求解,但是当物体上的加速度与到中心的距离成反比时会出现问题:

import math
from pylab import *
xg = [2]
xt = [0]
k = 1

dt = 1/1000
Vx = 0
for i in range(800000):
a = -1/xg[i-1] #acceleration on the object
Vx = Vx + dt*a
xg.append(xg[i-1]+Vx*dt)
xt.append(i*dt)
plot(xt,xg)
show()

如您所见,由于某种原因它似乎在下降并且不会返回。

我想知道是什么导致了这种情况发生,我已经尝试解决这个问题好几个小时了。

是的,我是 python、堆栈交换和数字解决问题的新手。感谢任何反馈

最佳答案

试试这个

import math
from pylab import *
xt = [2]
t = [0]
k = 1

dt = 0.0001
Vx = 0
for i in range(800000):
t.append(dt*i)
a = -k*xt[i]
xt.append(xt[i] + dt*Vx)
Vx = Vx + dt*a
plot(t,xt)
show()

你最终得到这个:(我还将时间步长 fyi 减少到 1/10000) enter image description here

关于Python 数值求解的谐振子图生成不需要的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42624701/

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