![]() |
要求使用三角函数对其进行拟合
下面是一个离散时间序列的样本数据:
40、5、6、8、3、2、3、1、2、1、3、3、13、7、18、4、9、11、3、56、20、64、6、29、17、9、2、23、6、2、29、13、4、2、3、11、15、12、2、8、29、19、12、9、1、25、14、30、5、9、1、15、13、5、15、23、21、7、18、13、44、46 要求使用三角函数对其进行拟合,按要求采用 f(x)=a*sin(b*n+w)+c 对其进行拟合,n 为数据序列的序号(1、2、3、4、5 ……62 )建立如下方程组 40=a*sin(b*1+w)+c+E1 5=a*sin(b*2+w)+c+E 2 6=a*sin(b*3+w)+c+E 3 8=a*sin(b*4+w)+c+E 4 3=a*sin(b*5+w)+c+E 5 2=a*sin(b*6+w)+c+E 6 …… 44=a*sin(b*61+w)+c+E 61 46=a*sin(b*62+w)+c+E 62 求解系数a、b、w ,c 使得 E1至E62的平方和(e1平方+e2平方+……+e62平方)最小. 哪位同学能帮我解啊 |
回复: 要求使用三角函数对其进行拟合
[QUOTE=luckeey;26479]下面是一个离散时间序列的样本数据:
40、5、6、8、3、2、3、1、2、1、3、3、13、7、18、4、9、11、3、56、20、64、6、29、17、9、2、23、6、2、29、13、4、2、3、11、15、12、2、8、29、19、12、9、1、25、14、30、5、9、1、15、13、5、15、23、21、7、18、13、44、46 要求使用三角函数对其进行拟合,按要求采用 f(x)=a*sin(b*n+w)+c 对其进行拟合,n 为数据序列的序号(1、2、3、4、5 ……62 )建立如下方程组 40=a*sin(b*1+w)+c+E1 5=a*sin(b*2+w)+c+E 2 6=a*sin(b*3+w)+c+E 3 8=a*sin(b*4+w)+c+E 4 3=a*sin(b*5+w)+c+E 5 2=a*sin(b*6+w)+c+E 6 …… 44=a*sin(b*61+w)+c+E 61 46=a*sin(b*62+w)+c+E 62 求解系数a、b、w ,c 使得 E1至E62的平方和(e1平方+e2平方+……+e62平方)最小. 哪位同学能帮我解啊[/QUOTE] 用遗传算法吗 . |
回复: 要求使用三角函数对其进行拟合
应该不太难的一道题嘛,目标函数已知,约束就是等式约束,对a、b、w、c进行编码,按遗传算法正常操作就可以了。
|
回复: 要求使用三角函数对其进行拟合
我等了这么久还没有答案啊!急急!
|
回复: 要求使用三角函数对其进行拟合
直接用matlab带的gatool工具箱就可以实现了,先转换出E1至E62的平方和的表达式,作为fitness,直接进行求解就可以了呀!
|
回复: 要求使用三角函数对其进行拟合
我初步试了一下数据,发现根本不符合你给的三角函数规律,无论怎么计算效果都很差,你给的函数有问题(或许应该用这样的三角函数拟合a1*sin(x)+a2*sin(2x)+...),建议你先对数据进行FFT看一下频域分布再确定如何拟合。:confused:
|
回复: 要求使用三角函数对其进行拟合
对于这样的序列数据,有什么最好的拟合办法,:mad::confused:
请各位仁兄高抬贵手,帮个忙。 |
回复: 要求使用三角函数对其进行拟合
此问题直观上看是一个非线性超定方程组,可以把它看做优化问题,用相应的算法求解(如遗传算法),也可将其看做非线性参数估计,用相应的算法求解,如泰勒级数展开最小二乘。
|
所有时间均为北京时间。现在的时间是 21:15。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.