🎯要点
- 🎯数学逻辑和代码计算或可视化:🖊向下递归确定球面贝塞尔函数 | 🖊蒙特卡罗法模拟随机游走和放射性粒子衰减 | 🖊梯形规则积分算法 | 🖊高斯求积算法 | 🖊冯诺依曼拒绝(方法)生成加权随机分布 | 🖊牛顿-拉夫森搜索逐步搜索弦上两个质量矩阵问题解 | 🖊二分算法求解 | 🖊牛顿-拉夫森方法 | 🖊横截面的样条拟合 | 🖊最小二乘法拟合数据和抛物线 | 🖊四阶龙格库塔法常微分方程求解器 | 🖊亚当斯-巴什福斯-莫尔顿方法常微分方程求解器 | 🖊Numerov 算法求解束缚态能量的一维时间无关薛定谔方程 | 🖊龙格库塔算法求解束缚态能量的一维时间无关薛定谔方程 | 🖊求解空气阻力的抛射运动以及分析无摩擦情况 | 🖊离散傅里叶计算复数和实数 | 🖊快速傅里叶滤波和绘图 | 🖊莫莱小波计算连续小波变换 | 🖊金字塔算法计算离散小波变换。
- 🎯连续非线性动态计算和可视化:🖊生成逻辑图的分叉图 | 🖊增长函数逻辑图分叉图的李亚普诺夫系数 | 🖊增长函数逻辑图香农熵 | 🖊计算物种竞争 Lotka-Volterra 模型。
- 🎯分形和统计增长模型:🖊三维模拟蕨类植物的生长 | 🖊模拟矿物形成枝晶 | 🖊模拟二维元胞自动机 | 🖊相干噪声随机图转换为山形图像。
- 🎯热力学和费曼路径积分:🖊一维伊辛链的大都会算法 | 🖊模拟二维伊辛模型,计算态密度并从中计算内能 | 🖊费曼路径积分确定基态概率,使用大都会算法模拟经典轨迹 | 🖊费曼路径积分计算量子粒子在引力场中的路径。
- 🎯分子动力学:🖊维尔莱算法模拟二维分子动力。
- 🎯有限差分静电学:🖊求解拉普拉斯方程电势。
- 🎯时间步进热流:🖊有限差分求解热方程,绘制三维图 | 🖊克兰克-尼科尔森方法求一维时间热方程。
- 🎯波动方程:🖊动画模拟弦时间波动 | 🖊数值解振动膜的波动 | 🖊量子包和电磁。
🍇Python振荡器角频率振幅条件计算
振荡器模型数学定义,给出坐标
x
x
x 作为时间
t
t
t 函数的方程:
x
=
A
cos
(
ω
t
+
ϕ
)
x=A \cos (\omega t+\phi)
x=Acos(ωt+ϕ)
我们想要详细了解当变量
t
t
t 的值更改时会发生什么:
- 我们选择从初始时刻 t = 0 t=0 t=0 开始增加 t t t 的值。
- 我们计算 x x x坐标的值。
- 我们在图表中显示了点状物体在不同时刻的位置。
import numpy as np
import matplotlib.pyplot as plt
omega = 2*np.pi / 10
A = 0.15
phi = 0
t = np.array([0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.7, 6.3, 7.1, 7.7, 8.2, 8.7]) # time (s)
x = A * np.cos(omega*t + phi)
y = np.zeros(len(t))
fig = plt.figure(1, (14, 3))
ax = fig.add_subplot(111)
plt.plot(x, y, 'o')
plt.axhline(color = 'gray')
plt.axvline(color = 'cyan')
plt.xlim(-0.2, 0.2)
ax.set_xlabel('x (m)', fontsize = 14)
for i, time in enumerate(t):
#print(i, time)
x_coord = A * np.cos(omega*time + phi)
time = str(time)+' s'
ax.annotate(time, xy = (x_coord, 0.01), xycoords = 'data', rotation = 90, fontsize = 11 )
在此图中,我们可以读取时间值,并在 t t t 值不断增加时跟踪物体的位置。同时显示在许多不同时刻占据的位置,我们将获得轨迹图。
坐标 x x x 值的图形给出了笛卡尔平面 t O x t O x tOx 中位置与时间 t t t 的函数关系,即 x x x - t t t 曲线。
T = 2 * np.pi / omega
t = np.linspace(0, 3*T, 101)
x = A * np.cos(omega* t)
plt.figure(2)
plt.plot(t, x, '-', color = 'blue', linewidth = 3)
plt.xlabel('time $t$ (s)', fontsize = 14)
plt.ylabel(' $x$ (m)', fontsize = 14)
plt.axhline(color = 'gray')
plt.axvline(color = 'gray')
plt.axvline(x = T)
plt.axvline(x = 2 * T)
print()
print ('period T = ', T, 's')
print()
period T = 10.0 s
我们选择两个不同的角频率值,并在同一图中同时显示两条相应的 x − t x-t x−t 曲线:
omega = 0.628
T = 2*np.pi/omega
t = np.linspace(0, 2 * T, 101)
x = A * np.cos(omega*t)
omega1 = 1.2
x_star = A * np.cos(omega1*t)
plt.figure(3)
plt.plot(t, x, '-', color = 'blue', linewidth = 3)
plt.plot(t, x_star, '--', color = 'orange', linewidth = 3)
plt.xlabel('time $t$ (s)')
plt.ylabel(' $x$ (m)')
plt.axhline(color = 'gray')
plt.axvline(color = 'gray')
变量之间的关系:
角频率 ω \omega ω,周期: T = 2 π ω T=\frac{2 \pi}{\omega} T=ω2π,频率: f = 1 T ω = 2 π f \begin{gathered}f=\frac{1}{T} \\ \omega=2 \pi f\end{gathered} f=T1ω=2πf。
我们在同一图中比较了选择两个不同的幅度值而获得的 x − t x-t x−t 曲线,同时保持固定的角频率(和初始相位)。
omega = 0.628
T = 2*np.pi/omega
t = np.linspace(0, 2 * T, 101)
x = A * np.cos(omega*t)
A1 = 0.10
x_star = A1 * np.cos(omega*t)
plt.figure(4)
plt.plot(t, x, '-', color = 'blue', linewidth = 3)
plt.plot(t, x_star, linestyle = 'dotted', color = 'green', linewidth = 3)
plt.axhline(color = 'gray')
plt.xlabel('time $t$ (s)')
plt.ylabel(' $x$ (m)')
我们比较对应于初始相位的两个不同值的 x − t x-t x−t 曲线,以指定幅度和角频率的值。
T = 2 * np.pi / omega
t = np.linspace(0, 2 * T, 101)
x = A * np.cos(omega*t)
phi = np.pi/2
x_star = A * np.cos(omega*t + phi)
#z = x + x_star
plt.figure(5)
plt.plot(t, x, '-', color = 'blue', linewidth = 3)
plt.plot(t,x_star, linestyle = 'dashdot', color = 'lime', linewidth = 3)
#plt.plot(t, z, '-', color = 'yellow', linewidth = 5)
plt.axhline(color = 'gray')
plt.xlabel('time $t$ (s)')
plt.ylabel(' $x$ (m)')
plt.axvline(color = 'gray')
plt.axvline(x = T, color = 'cyan')
运动方程
根据瞬时速度
v
=
d
x
/
d
t
v=d x / d t
v=dx/dt 的定义,可以得出:
v
=
d
d
t
[
A
cos
(
ω
t
+
ϕ
)
]
=
−
A
ω
sin
(
ω
t
+
ϕ
)
v=\frac{d}{d t}[A \cos (\omega t+\phi)]=-A \omega \sin (\omega t+\phi)
v=dtd[Acos(ωt+ϕ)]=−Aωsin(ωt+ϕ)
因此,速度值也在最大值
v
max
=
+
A
ω
v_{\max }=+A \omega
vmax=+Aω 和最小值
v
min
=
−
A
ω
v_{\min }=-A \omega
vmin=−Aω 之间振荡,并且具有表征速度变化的相同周期。相对于时间协调
x
x
x。