我正在尝试实现Python中的一篇论文中的一个等式(black square equations)—
到目前为止,我有一个简化的模型,但是我无法生成预期的输出(下图);我怀疑问题出在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()
另外,我认为你犯的一个主要错误是你在针对}图。
再加上@basswinkkels的评论,当你开始摆弄参数时,你应该更接近aim图。在
y
绘制i
-这实际上应该是y
与{干杯!祝你一切顺利!在
为了说明Jacob的评论,以下是通过调整常量可以得到的结果:
代码:
或者,你可以保留时间尺度,引入一个5e-6的h,正如Bas Swinckels在他的回答中所建议的那样:
^{pr2}$这会产生非常相似的输出。在
我建议使用与论文中完全相同的变量名,这样可以使事情更清楚。对于时间,总是使用},没有借口。变量}。我想您需要将
t
或{i
通常用于索引或复数。您还缺少变量m
(硬编码为2)、v_0
和{h
设置为正确的值来解决您的问题。在这类问题中,h
通常是一个衰变时间,如果你在公式中忘记了它,它隐式地取了1秒。考虑到你的问题频率很高,这个时间应该短得多。查看示例图,您可能应该将其设置为几次T
。在相关问题 更多 >
编程相关推荐