从功能结果中检测三角函数

时间:2016-02-27 11:20:01

标签: javascript math trigonometry

是否可以在数学上确定函数是否为三角函数,如:

sin(1/2x)function f(x){ return Math.sin(x*2); } ...

只看到结果?

我正在研究评估JavaScript函数function f(x){ return Math.pow(Math.sin(x),2) + Math.pow(Math.cos(x),2); }的代码,看看它是否是基于结果的三角函数。

不是有效的函数,因为它总是返回1而不是谐波值:
function f(x){ return 1/4 * Math.cos(x*5) }

此功能有效function f(x){ return x*Math.sin(x); }

此操作无效{{1}}等等......

1 个答案:

答案 0 :(得分:0)

首先,

  

1 = cos(0·X)= COS(X-X)=cos²(X)+sin²(x)的

在您的约束下有效。

其次,即使假设函数是周期性的(具有更小的限制),您也可以使用三角多项式非常接近它。

考虑到可以通过傅里叶积分表示大类函数,这些积分可以通过具有不可通频的正弦曲线的有限和来近似,这使得您的任务更加不可能。

然而,您可以通过一些三角多项式凭经验和启发式插值采样集的近似部分,然后通过机器学习的剩余样本进行测试。通过基本的,即最小和最大频率给出变化,其确定项的数量。您还可以删除系数太小的术语,以降低表达式的复杂性。