关键词
Python | C++ | 数学 | 物理 | 公式 | 方程 | 常微分方程 | 有限差分 | 函数 | 球面 | 蒙特卡罗 | 粒子衰减 | 积分 | 算法 | 高斯求积 | 随机分布 | 矩阵 | 拟合 | 抛物线 | 求解器 | 束缚态 | 空气阻力 | 摩擦 | 傅里叶 | 滤波 | 小波 | 离散 | 弦 | 振动膜 | 量子包 | 电磁
🏈指点迷津 | Brief🎯要点
🎯数学逻辑和代码计算或可视化:🖊向下递归确定球面贝塞尔函数 | 🖊蒙特卡罗法模拟随机游走和放射性粒子衰减 | 🖊梯形规则积分算法 | 🖊高斯求积算法 | 🖊冯诺依曼拒绝(方法)生成加权随机分布 | 🖊牛顿-拉夫森搜索逐步搜索弦上两个质量矩阵问题解 | 🖊二分算法求解 | 🖊牛顿-拉夫森方法 | 🖊横截面的样条拟合 | 🖊最小二乘法拟合数据和抛物线 | 🖊四阶龙格库塔法常微分方程求解器 | 🖊亚当斯-巴什福斯-莫尔顿方法常微分方程求解器 | 🖊Numerov 算法求解束缚态能量的一维时间无关薛定谔方程 | 🖊龙格库塔算法求解束缚态能量的一维时间无关薛定谔方程 | 🖊求解空气阻力的抛射运动以及分析无摩擦情况 | 🖊离散傅里叶计算复数和实数 | 🖊快速傅里叶滤波和绘图 | 🖊莫莱小波计算连续小波变换 | 🖊金字塔算法计算离散小波变换。
🎯连续非线性动态计算和可视化:🖊生成逻辑图的分叉图 | 🖊增长函数逻辑图分叉图的李亚普诺夫系数 | 🖊增长函数逻辑图香农熵 | 🖊计算物种竞争 Lotka-Volterra 模型。
🎯分形和统计增长模型:🖊三维模拟蕨类植物的生长 | 🖊模拟矿物形成枝晶 | 🖊模拟二维元胞自动机 | 🖊相干噪声随机图转换为山形图像。
🎯热力学和费曼路径积分:🖊一维伊辛链的大都会算法 | 🖊模拟二维伊辛模型,计算态密度并从中计算内能 | 🖊费曼路径积分确定基态概率,使用大都会算法模拟经典轨迹 | 🖊费曼路径积分计算量子粒子在引力场中的路径。
🎯时间步进热流:🖊有限差分求解热方程,绘制三维图 | 🖊克兰克-尼科尔森方法求一维时间热方程。
🎯波动方程:🖊动画模拟弦时间波动 | 🖊数值解振动膜的波动 | 🖊量子包和电磁。
🍇Python振荡器角频率振幅条件计算
振荡器模型数学定义,给出坐标 x 作为时间 t 函数的方程:
x=Acos(ωt+ϕ) 我们想要详细了解当变量 t 的值更改时会发生什么:
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 值不断增加时跟踪物体的位置。同时显示在许多不同时刻占据的位置,我们将获得轨迹图。
坐标 x 值的图形给出了笛卡尔平面 t O x 中位置与时间 t 的函数关系,即 x - 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()
我们选择两个不同的角频率值,并在同一图中同时显示两条相应的 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')
变量之间的关系:
角频率ω,周期:T=ω2π,频率:f=T1ω=2πf。
我们在同一图中比较了选择两个不同的幅度值而获得的 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 曲线,以指定幅度和角频率的值。
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=dx/dt 的定义,可以得出:
v=dtd[Acos(ωt+ϕ)]=−Aωsin(ωt+ϕ) 因此,速度值也在最大值 vmax=+Aω 和最小值 vmin=−Aω 之间振荡,并且具有表征速度变化的相同周期。相对于时间协调 x。