🎯要点

  1. 🎯数学逻辑和代码计算或可视化:🖊向下递归确定球面贝塞尔函数 | 🖊蒙特卡罗法模拟随机游走和放射性粒子衰减 | 🖊梯形规则积分算法 | 🖊高斯求积算法 | 🖊冯诺依曼拒绝(方法)生成加权随机分布 | 🖊牛顿-拉夫森搜索逐步搜索弦上两个质量矩阵问题解 | 🖊二分算法求解 | 🖊牛顿-拉夫森方法 | 🖊横截面的样条拟合 | 🖊最小二乘法拟合数据和抛物线 | 🖊四阶龙格库塔法常微分方程求解器 | 🖊亚当斯-巴什福斯-莫尔顿方法常微分方程求解器 | 🖊Numerov 算法求解束缚态能量的一维时间无关薛定谔方程 | 🖊龙格库塔算法求解束缚态能量的一维时间无关薛定谔方程 | 🖊求解空气阻力的抛射运动以及分析无摩擦情况 | 🖊离散傅里叶计算复数和实数 | 🖊快速傅里叶滤波和绘图 | 🖊莫莱小波计算连续小波变换 | 🖊金字塔算法计算离散小波变换。
  2. 🎯连续非线性动态计算和可视化:🖊生成逻辑图的分叉图 | 🖊增长函数逻辑图分叉图的李亚普诺夫系数 | 🖊增长函数逻辑图香农熵 | 🖊计算物种竞争 Lotka-Volterra 模型。
  3. 🎯分形和统计增长模型:🖊三维模拟蕨类植物的生长 | 🖊模拟矿物形成枝晶 | 🖊模拟二维元胞自动机 | 🖊相干噪声随机图转换为山形图像。
  4. 🎯热力学和费曼路径积分:🖊一维伊辛链的大都会算法 | 🖊模拟二维伊辛模型,计算态密度并从中计算内能 | 🖊费曼路径积分确定基态概率,使用大都会算法模拟经典轨迹 | 🖊费曼路径积分计算量子粒子在引力场中的路径。
  5. 🎯分子动力学:🖊维尔莱算法模拟二维分子动力。
  6. 🎯有限差分静电学:🖊求解拉普拉斯方程电势。
  7. 🎯时间步进热流:🖊有限差分求解热方程,绘制三维图 | 🖊克兰克-尼科尔森方法求一维时间热方程。
  8. 🎯波动方程:🖊动画模拟弦时间波动 | 🖊数值解振动膜的波动 | 🖊量子包和电磁。

🍇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 xt 曲线:

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 xt 曲线,同时保持固定的角频率(和初始相位)。

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 xt 曲线,以指定幅度和角频率的值。

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

参阅一:计算思维

参阅二:亚图跨际

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐