数学建模--数据拟合
2017-09-05 19:56
239 查看
数学建模中经常会给出数据,然后进行拟合,matlab有cftool数据拟合工具箱,但是我还是习惯于使用拟合函数。
1.多项式拟合
拟合函数:
例子
一般多项式拟合还会用到polyval函数,该函数是根据上面拟合出来的多项式模型进行求值。
2.自定义函数拟合
除了上面的多项式拟合,matlab还支持自定义函数拟合,根据给出的函数求系数。lsqcurvefit函数利用最小二乘法求系数:
lsqcurvefit还有其他形式
1.多项式拟合
拟合函数:
P = polyfit(X,Y,N) [P,S] = polyfit(X,Y,N) [P,S,MU] = polyfit(X,Y,N) %参数解释 %X自变量数据序列 %Y因变量数据序列 %N序号拟合的多项式次数 %P多项式的系数向量 %f(x)=P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1) %S是一个结构体,我们主要关注S.normr,是残差 %MU(1)=mean(X)均值 MU(2)=std(X)标准差
例子
X=0:0.01:10 Y=2*X.^2+1 N=2 [P,S] = polyfit(X,Y,N) >> P = 2.0000 -0.0000 1.0000 S = R: [3x3 double] df: 998 normr: 2.8477e-012
一般多项式拟合还会用到polyval函数,该函数是根据上面拟合出来的多项式模型进行求值。
Y = POLYVAL(P,X) %P是polyfit返回的多项式系数 %X输入值 %Y是预测值
2.自定义函数拟合
除了上面的多项式拟合,matlab还支持自定义函数拟合,根据给出的函数求系数。lsqcurvefit函数利用最小二乘法求系数:
X=[3; 1; 4]; Y=6*exp(-1.5*xdata)+3; a = lsqcurvefit(@(a,X)a(1)*exp(-1.5*X)-a(2),[0;-1.5],X,Y) >> a= 6 -3 %a是拟合函数的系数
lsqcurvefit还有其他形式
[X,RESNORM,RESIDUAL,EXITFLAG]=lsqcurvefit(FUN,X0,XDATA,YDATA,...) %X0是初始解向量 %resnorm=sum ((fun(x,xdata)-ydata).^2),即在x处残差的平方和; %residual=fun(x,xdata)-ydata,即在x处的残差; %exitflag为终止迭代的条件; %output为输出的优化信息; %lambda为解x处的Lagrange乘子; %jacobian为解x处拟合函数fun的jacobian矩阵。
相关文章推荐
- MATLAB数据拟合工具在数学建模中的运用
- 数学建模--数据拟合
- 数学建模处理数据
- 利用传统的数学建模和卡尔曼滤波器对大型土木结构抗震性能的高频数据在线去噪(一)
- 数据查询网址汇总_数学建模系列
- 数据挖掘与数学建模
- MatLab建模学习笔记6——数据拟合方法
- 数学建模与数据科学简要(Mathematical model&Data science)
- MatLab建模学习笔记6——数据拟合方法
- 数学建模 | 第四讲:MATLAB数据建模方法(下) 机器学习方法
- 数学建模_以fisheriris数据为例使用新版本神经网络工具箱feedforwardnet进行简单实现
- 数学建模--插值和拟合实例
- 数学建模常用Matlab/Lingo/c代码总结系列——非线性拟合
- 抽象类----数据建模练习
- 数据拟合
- 数学建模(7)---建模开始
- 2017年研究生数学建模D题(前景目标检测)相关论文与实验结果
- 数据过拟合解决方法
- 数据仓库建模思想在商务智能领域的应用
- 数据仓库维度建模举例