Matlab如何根据一组数据拟合出包含三角函数的曲线?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 14:28:32
Matlab如何根据一组数据拟合出包含三角函数的曲线?
m程序:
clear all
xdata=[6.95 12.19 18.03 26.17 32.77 41.38 49.89 61 70.04 84.07 92.95 102.1 111.3 119.87];
ydata=[0.6 0.9 1.92 4.1 5.52 7.6 9.52 11.33 11.56 9.32 8 5.59 3.2 1.39];
f=@(B,xdata)B(1)*(1-cos(B(2)*xdata));
[x,resnorm]=lsqcurvefit(f,[10,1],xdata,ydata);
用lsqcurvefit会出现提示
Local minimum possible.
lsqcurvefit stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.
用Curve Fitting Tool工具箱结果如下图所示
图中的黑点即是现有数据,很容易能看出它是一个三角函数半个周期的点截取下来的,实际上也是这样的,黑点数据取自y=5.8*(1-cos(0.0465*x)),为什么不能拟合出这条曲线的参数呢?
m程序:
clear all
xdata=[6.95 12.19 18.03 26.17 32.77 41.38 49.89 61 70.04 84.07 92.95 102.1 111.3 119.87];
ydata=[0.6 0.9 1.92 4.1 5.52 7.6 9.52 11.33 11.56 9.32 8 5.59 3.2 1.39];
f=@(B,xdata)B(1)*(1-cos(B(2)*xdata));
[x,resnorm]=lsqcurvefit(f,[10,1],xdata,ydata);
用lsqcurvefit会出现提示
Local minimum possible.
lsqcurvefit stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.
用Curve Fitting Tool工具箱结果如下图所示
图中的黑点即是现有数据,很容易能看出它是一个三角函数半个周期的点截取下来的,实际上也是这样的,黑点数据取自y=5.8*(1-cos(0.0465*x)),为什么不能拟合出这条曲线的参数呢?
原因是对初值(主要是B(2))非常敏感,很容易陷入局部最优.你可以取初值为[1,0.05]试一下,应该可以得到比较满意的结果.
Matlab如何根据一组数据拟合出包含三角函数的曲线?
用matlab拟合下面一组数据的曲线
matlab做一组数据的拟合直线,
MATLAB 中已知数据点来至函数1/(1+25*x^2),-1《X《1,根据生成的数据点进行多项式拟合,绘出拟合曲线?
Matlab编程 给出一组数据用正态分布的曲线进行拟合
matlab对一组数据进行数据线性拟合,如何获取线性拟合后的R^2值?
请教如何用matlab求拟合的公式,就是我知道一组数据,用matlab拟合曲线后,怎么知道这个曲线的方程
Matlab数据拟合已知一组数据(t,y)且知y=c(1)+c(2)*exp(-1*t);,如何拟合出c1、c2呢?
我在MATLAB中输入了实验数据和一条拟合曲线,如何对比拟合曲线相对于真实数据的精确度?程序如
我正在用matlab作一组数据的非线性拟合
关于用MATLAB拟合一组数据,得到函数的表达式
关于matlab数据拟合曲线的问题,程序出错!