首页 > 解决方案 > 如何制作不等正弦波?

问题描述

我有与基本数学相关的“新手”问题。我正在尝试用“不等弧度”制作正弦波(至少我相信这是我想要做的)。换句话说:我需要在前几个周期(x)“更快”并随着 x 接近无穷大而逐渐减慢(“周期”更宽/更长)的函数。这是我正在尝试做的代码和草图:

x <- seq(1, 30, by=0.1)  # my x

z <- ifelse(x <= 10, 3, ifelse(x <= 20, 2, 1))  # discrete value to modify x

y <- sin(z*x)  # my y(x)

plot(y, type="l")  # plot y(x)

和草图(的结果plot):

在此处输入图像描述

忽略“双峰”和其他失真,它们实际上z是离散变量的结果。我想z连续不断地使每个周期顺利扩大。我应该在这里使用什么数学函数?我尝试了阻尼正弦波,但这并不是我想要的。

标签: rmath

解决方案


这并不是一个完整的答案,因为我无法在脑海中为您提供代码,但您在这里寻找的是啁啾声。有几种不同类型的啁啾,具体取决于您想要的相位变化率,但我猜您可能想要线性啁啾维基百科

R 很可能已经有一个可以提供这个的功能/模块。


推荐阅读