如何用matlab做正弦曲线拟合

我只知道能用polyfit做二项式拟合
比如有一组数据,数据大概是正弦曲线,但每个周期都不一样,应该怎么样做
请不要发这种象一楼一样的不相干的垃圾信息,谢谢

第1个回答  推荐于2017-11-24
【1】第一步
<br>>>cftool
<br>【2】出现对话框,点击data选x和y
<br>【3】creat data set,然后close
<br>【4】点击fitting,在type of type,选Fourier
<br>选择一个合适的即可。

例如:
>> x=0:0.1:pi
>> y=sin(x+x.^2)
>> plot(x,y,'o-')
用非线性回归,得到
得到
General model Sin8:
f(x) =
a1*sin(b1*x+c1) + a2*sin(b2*x+c2) + a3*sin(b3*x+c3) +
a4*sin(b4*x+c4) + a5*sin(b5*x+c5) + a6*sin(b6*x+c6) +
a7*sin(b7*x+c7) + a8*sin(b8*x+c8)
Coefficients (with 95% confidence bounds):
a1 = 4.36 (-2.007e+010, 2.007e+010)
b1 = 1.643 (-1.371e+009, 1.371e+009)
c1 = 0.4803 (-2.517e+009, 2.517e+009)
a2 = 4.282 (-3.806e+006, 3.806e+006)
b2 = 5.715 (-8.181e+004, 8.182e+004)
c2 = -4.306 (-7.305e+004, 7.305e+004)
a3 = 3.823 (-3.826e+006, 3.826e+006)
b3 = 5.867 (-6.623e+004, 6.624e+004)
c3 = -7.586 (-6.24e+004, 6.238e+004)
a4 = 2.67 (-1.363e+014, 1.363e+014)
b4 = 7.29e-006 (-5.336e+011, 5.336e+011)
c4 = -0.8273 (-5.575e+013, 5.575e+013)
a5 = 2.006 (-2.405e+014, 2.405e+014)
b5 = 0.5948 (-1.429e+013, 1.429e+013)
c5 = -0.5683 (-8.375e+013, 8.375e+013)
a6 = 1.729 (-2.606e+014, 2.606e+014)
b6 = 0.5869 (-1.455e+013, 1.455e+013)
c6 = -0.5213 (-8.638e+013, 8.638e+013)
a7 = -2.189 (-1.781e+009, 1.781e+009)
b7 = 2.225 (-1.048e+008, 1.048e+008)
c7 = -0.8675 (-2.948e+008, 2.948e+008)
a8 = 1.225 (-1.956e+014, 1.956e+014)
b8 = 0.616 (-4.375e+012, 4.375e+012)
c8 = -0.03419 (-1.33e+014, 1.33e+014)

Goodness of fit:
SSE: 0.01188
R-square: 0.9992
Adjusted R-square: 0.9968
RMSE: 0.03854本回答被提问者采纳

如何用matlab做正弦曲线拟合
【1】第一步 >>cftool 【2】出现对话框,点击data选x和y 【3】creat data set,然后close 【4】点击fitting,在type of type,选Fourier 选择一个合适的即可。例如:>> x=0:0.1:pi >> y=sin(x+x.^2)>> plot(x,y,'o-')用非线性回归,得到 得到 General model Sin8:f(x) = a1*...

matlab中curve fitting tool(曲线拟合工具)
在 MATLAB 命令行中输入数据以准备拟合。 点击“data...”按钮,选择x横坐标和y纵坐标变量。 创建数据集 在弹出的Data窗口中选择x和y,点击“Create data set”按钮。 关闭Data对话框。 进行曲线拟合 点击“fitting...”按钮,进入Fitting对话框。 点击“New fit”为每条曲线命名。

matlab曲线拟合
1. 数据准备:首先,需要准备要进行拟合的数据,包括自变量和因变量。2. 选择拟合函数:根据数据的特点和需要,选择合适的拟合函数,如多项式拟合、指数拟合、正弦拟合等。3. 使用MATLAB内置函数进行拟合:MATLAB提供了许多内置函数,如`polyfit`、`fit`等,可以根据选择的拟合函数选择合适的函数进行拟合。4...

matlab中如何进行曲线拟合
(1)点击“Data”按钮,弹出“Data”窗口;(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然 后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数 据集的曲线图;(3)点击“Fitting”按钮,弹出“Fitting”窗口;(4)点击“...

matlab里除了cftool用什么命令可以做正弦函数拟合?
c=lsqcurvefit(fun,c0,x,y);曲线拟合。已知数据x、y和函数类型fun,但函数参数c未知,调用lsqcurvefit后可以求出函数参数c。其中c0是自己选的初始值,c0选得好就计算快一点。其原理是最小二乘,min sum {(FUN(C,X)-Y).^2},X和Y是大小相同的向量或矩阵。nlinfit是非线性回归,可以是多变量...

matlab实现曲线拟合
执行“p = polyfit(x, y, 1)”命令,此处1表示拟合一个1次多项式。运行结果为系数向量p,包含两个元素。接着,定义一组新的点xx,范围从0到150,以0.1为步长。根据系数向量p计算在xx点处的函数值yy。通过“plot(xx, yy, '-r', x, y, 'markersize', 20)”命令绘制图像。红色曲线表示...

matlab中怎么拟合函数的曲线?
可以使用MATLAB软件提供的曲线拟合函数命令,例如线性拟合函数regress()。下面是使用MATLAB进行函数曲线拟合的一般步骤:准备数据。需要注意的是,具体的拟合函数和命令可能会因为不同的MATLAB版本而有所不同。此外,还可以使用其他的MATLAB函数和工具进行函数曲线拟合,例如多项式拟合、非线性最小二乘拟合等 ...

matlab拟合曲线的方法有几种
在MATLAB中,我们有多种方法来拟合曲线以满足不同类型的函数需求。首先,对于线性函数的拟合,你可以选择使用regress()和polyfit()函数,它们是基础且实用的工具。如果你面对的是更复杂的非线性函数,lsqcurvefit()和nlinfit()函数则是你的得力助手,它们能够处理这类更为复杂的拟合问题。对于更广泛的函数...

MATLAB曲线拟合
在MATLAB中,通过拟合工具cftool,我们可以方便地进行曲线拟合操作。以多项式拟合为例,所得的拟合函数为:f(x) = p1*x^6 + p2*x^5 + p3*x^4 + p4*x^3 + p5*x^2 + p6*x + p7 其中,各参数的95%置信区间分别为:p1: -5.1e-023 (-3.743e-022, 2.723e-022)p2: 4.334e-...

如何在matlab中拟合正弦曲线
如何在matlab中拟合正弦曲线 50 我是在curve fitting工具箱里进行模拟,然后在拟合时候,选择自定义函数,然后输入y=a*sin(b*x)+c,却不行呀,我新手,不懂为什么。。而我输入y=a*sin(x)+c,这就可以。。fengzhipimi0 | 浏览8090 次 |举报 我有更好的答案...

相似回答