首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从函数结果中检测三角函数

从函数结果中检测三角函数
EN

Stack Overflow用户
提问于 2016-02-27 19:20:01
回答 1查看 33关注 0票数 0

是否有可能在数学上确定一个函数是否为三角函数,如:

5*cos(4x+2)sin(1/2x) ...

只看到结果吗?

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

不是有效的函数,因为它总是返回1,而不是调和值:

function f(x){ return Math.pow(Math.sin(x),2) + Math.pow(Math.cos(x),2); }

此函数是有效的function f(x){ return 1/4 * Math.cos(x*5) }

这是无效的function f(x){ return x*Math.sin(x); },依此类推。

EN

回答 1

Stack Overflow用户

发布于 2016-02-27 23:25:34

第一,

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

在你的约束下是有效的。

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

考虑到一大类函数可以通过傅立叶积分来表示,而傅立叶积分可以由频率不可通约的正弦有限和来近似,这使得你的任务变得更加不可能。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35669065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档