用户登录

你在这里

AVI的MATLAB实现

方伟的照片

我在我的研究中使用AVI,因此我包含了AVI的一维谐振子的MATLAB实现。代码将在任意初始条件x(0)和v(0)下求解方程a + γ * v + (k1 + k2 + k3) x = 0。这里的弹簧常数被人为地分成三个弹簧常数来模拟多个电位。如果只有一个潜在的AVI简化为通常的速度Verlet积分器。在实现过程中,摩擦力项被吸收到k1项中。实现的主要思想是为系统(x,v)的不同电位构造传播矩阵。

使用代码求解简谐振子a + 3x = 0在两个周期内与速度Verlet算法让

Ts1 = ts2 = ts3 = 0.01;K1 = k2 = k3 = 1;x0 = 1, v0 = 0, = 0, T = 4* /√(3)

要解决与AVI相同的系统,您可以选择

Ts1 = 0.005, t2 = 0.01, t3 = 0.02;K1 = 1.5, k2 = 1, k3 = 0.5;其他参数的值也是一样的。

有关AVI的更多信息,请参阅Lew等人的变分时间积分器。

附件 大小
纯文本图标oscillator1d_avi_3pot.m.txt 3.47 KB
订阅“AVI的MATLAB实现”评论

最近的评论

更多的评论

辛迪加

认购辛迪加