Python中的方程式

2024-04-27 11:06:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试实现Python中的一篇论文中的一个等式(black square equations)—

enter image description here

到目前为止,我有一个简化的模型,但是我无法生成预期的输出(下图);我怀疑问题出在np.exp()尽管我不确定-有什么建议可以帮助我实现这一点吗?在

import numpy as np
import math
import matplotlib.pyplot as plt

f     = 1e6
T     = 1/f
Omega = 2*np.pi*f

i = np.arange(0,50e-6,100e-9)
y = np.sin(Omega*i) * (i**2) * np.exp(-i)   

plt.figure(1)
plt.plot(i,y,'b-')
plt.grid()
plt.show()

enter image description here


Tags: 模型importnumpymatplotlibasnppltmath
3条回答

另外,我认为你犯的一个主要错误是你在针对y绘制i-这实际上应该是y与{}图。 再加上@basswinkkels的评论,当你开始摆弄参数时,你应该更接近aim图。在

干杯!祝你一切顺利!在

为了说明Jacob的评论,以下是通过调整常量可以得到的结果:

Graph

代码:

import numpy as np
import matplotlib.pyplot as plt

f     = 5
Omega = 2*np.pi*f

i = np.arange(0, 10, 0.001)
y = np.sin(Omega*i) * (i**2) * np.exp(-i)

plt.figure(1)
plt.plot(i,y,'b-')
plt.grid()
plt.show()

或者,你可以保留时间尺度,引入一个5e-6的h,正如Bas Swinckels在他的回答中所建议的那样:

^{pr2}$

这会产生非常相似的输出。在

我建议使用与论文中完全相同的变量名,这样可以使事情更清楚。对于时间,总是使用t或{},没有借口。变量i通常用于索引或复数。您还缺少变量m(硬编码为2)、v_0和{}。我想您需要将h设置为正确的值来解决您的问题。在这类问题中,h通常是一个衰变时间,如果你在公式中忘记了它,它隐式地取了1秒。考虑到你的问题频率很高,这个时间应该短得多。查看示例图,您可能应该将其设置为几次T。在

相关问题 更多 >