Tag: 罪恶

VBA:叠加正弦波的振幅

我写了一个excelmacros,允许用户创build一个graphics,然后以叠加的正弦波forms向数据添加噪声。 为了给用户更多的控制,我使得正弦波的数量和正弦波的最大振幅都是input。 每个正弦波的频率和相位是两个预设值之间的随机variables,并且幅度是大于0且小于或等于幅度的用户input值的随机variables。 因此,最大可能的幅度不会随着更多正弦波的增加而增加,然后个体波的幅度除以正在使用的波的数量。 这些variables中的每一个都是针对每个叠加波分别生成的,然后迭代计算每个点的位置。 我所遇到的问题是,当使用更多的正弦波时,在任何给定点上所得到的曲线处于其最大值的概率要小得多,整个曲线具有较低的幅度并且更接近平均值。 这意味着用户必须迭代地改变幅度,直到按需要,这是不理想的。 这是相关的代码: j = Worksheets("Sheet1").Range("AE19").Value C = Worksheets("Sheet1").Range("AA19").Value w = 1 For i = 4 To 4003 Worksheets("Sheet2").Range("I" & i).Value = 0 Next i Do While w <= C A = ((Int((5 – 1 + 1) * Rnd + 1)) / (10 / j) / C) F = Int((8 […]