正弦函数曲线拟合

1.339视图(30天)
德扬
德扬 2014年3月14日
评论道: 明星黾 2023年5月2日19
我有一系列的数据点,都是由一个正弦函数。
我想要健康,情节和这些数据点生成一个正弦函数。
我不希望一个n多项式无论有多么接近正弦函数。
我知道没有标准工具的工具箱。我看着很多,很多旧的线程和网络文章。没有一个答案帮助我。
请考虑到我新的Matlab和只能曲线拟合非常基本的数据点。
因此,我需要的是一个精确的和一步一步指导如何符合正弦曲线的数据点。
请协助。
1评论
道格拉斯Lim
道格拉斯Lim 2016年2月29日
嗨明星黾,这个话题我有进一步的问题。我可以知道如何联系你发送问题。

登录置评。

接受的答案

明星黾
明星黾 2014年3月15日
编辑:明星黾 2014年3月15日
这是我的建议的解决方案,仅使用核心MATLAB函数:
yu = max (y);
yl = min (y);
年= (yu-yl);%的“y”
yz = y-yu +(年/ 2);
zx = x (yz。* circshift (yz, [0 1]) < = 0);%找到零交点
每= 2 *意味着(diff (zx));%的估计时间
ym =意味着(y);%估计抵消
适合= @ (b, x) b(1) *(罪(2 *π* x / b(2) + 2 *π/ b (3))) + b (4);%的功能以适应
fcn = @ (b)和((适合(b, x) - y)。^ 2);%最小二乘成本函数
s = fminsearch (fcn[年;每;1;ym])%减少最小二乘
xp = linspace(最小(x)最大(x));
图(1)
情节(x, y,“b”,xp,适合(年代,xp),“r”)
网格
输出参数向量的元素, 年代 ( b 在函数):
(1) :正弦波振幅(在单位的 y )
(2) (单位:时期 x )
(3) :阶段(阶段 (2)/ (2 * (3)) 在单位的 x )
(4) :抵消(在单位 y )
它提供了一个合适的选择。
41岁的评论
明星黾
明星黾 2023年5月2日19
我的荣幸!
一个 投票 将不胜感激!

登录置评。

更多的答案(2)

乍得格林
乍得格林 2018年7月21日
我把这变成了一个函数调用 sinefit 气候数据的周期1年。

乔斯(10584)
乔斯(10584) 2014年3月14日
1评论
德扬
德扬 2014年3月15日
Im相对较新的Matlab,虽然有点让我提供的链接,它不是一个确切的一步一步的指导如何适应一个正弦波。
这是我的数据点:
x = [0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180)
y = [16.5 14.32 11.58 10.017 9.629 10.2 12.16 15.08 16.97 16.75 14.331 11.508 10.013 9.617 10.22 12.15 - 15.304 17.38 - 16.853)
我需要一个正弦波适合数据及其控制方程

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的