[matlab]曲线拟合(整理)
一、曲线拟合是要找到一条光滑曲线,使其最佳地拟合数据,该曲线不必经过数据点;
二、曲线拟合的内容:
1、光滑曲线的形式是怎么样:多项式模型?指数模型?其他函数模型
2、最佳拟合的概念: 常用的误差准则是误差平方和最小,也可以是最大误差最小准则,误差绝对值和等。
三、Matlab多项式拟合函数(指数拟合可以转换为多项式拟合来做,略):
ployfit(x,y,n); %返回值为多项式的各个系数
x 自变量
y 应变量
n 多项式阶数
polyval(P,xi); %返回值为多项式在xi(可以是数组)的取值
P 多项式的系数数组
xi 求值点
例子如:ploy1.m
1 clear;clc; 2 %多项式拟合 3 x = 0:0.1:1; 4 y = log(1+x); 5 6 P = polyfit(x,y,3); %3阶多项式拟合 7 8 xi = 0:0.01:1.0; 9 yi =polyval(P,xi); 10 plot(x,y,'+'); %以圈画出 Marker Specifiers 11 hold on; 12 plot(xi,yi,'k','Color','r'); 13 hold on; 14 plot(xi,log(1+xi),'g'); 15 xlabel('x'); 16 ylabel('y'); 17 18 19 legend('采样数据','拟合数据','精确数据');
四、工具箱 cftool (Curve Fitting Tool)
Matlab 命令行中输入 cftool 或者在App中进入Curve Fitting ,工具用起来挺简单的,不赘述。
Ref:
1、《Matlab使用详解》 董霖 科学出版社
2、http://jingyan.baidu.com/article/cbf0e500f02b572eaa289399.html MATLAB拟合工具箱 cftool 用法及实例
~不再更新,都不让我写公式,博客园太拉胯了