本文主要是介绍【matlab】数据拟合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、拟合的概念
数据拟合又称曲线拟合,俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合(fitting)。
二、曲线拟合matlab实现
1.多项式函数拟合:
a=polyfit(xdata,ydata,n)
其中xdata,ydata为观测数据,n为用户认定的适合观测数据的多项式次数
输出为
即与多项式对应的系数
2.一般的曲线拟合:
p=lsqcurvefit('Fun',p0,xdata,ydata)
其中lsqcurvefit翻译时least square curve fit,即最小二乘法曲线拟合
(xdata,ydata)为观测数据,参数以字母表示,取值待定。
例如,拟合函数为:
编写M文件ex.m:
function y=ex(p,x)
y=p(1)*exp(-p(2)*x)+p(3)*exp(-p(4)*x);
end
输入形参为x,在lsqcurvefit命令中xdata为实参,待定参数为p(1),p(2),...,p(n)
调用
p=lsqcurvefit('ex',[1 2 1 4],x,y);
若要求点x处的函数值则可用f=ex(p,x)计算
这篇关于【matlab】数据拟合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!