- 62
- 0
- 约1.17万字
- 约 23页
- 2016-08-22 发布于河南
- 举报
matlab插值计算
插值方法
晚上做一个曲线拟合,结果才开始用最小二乘法拟合时,拟合出来的东西太难看了!
于是尝试用其他方法。
经过一番按图索骥,终于发现做曲线拟合的话,采用插值法是比较理想的方法。尤其是样条插值,插完后线条十分光滑。
方法付后,最关键的问题是求解时要积分,放这里想要的时候就可以直接过来拿,不用死去搜索啦。呵呵
插值方法的Matlab实现
一维数据插值
MATLAB中用函数interp1来拟合一维数据,语法是YI = INTERP1(X,Y,XI,方法)
其中(X, Y) 是已给的数据点, XI 是插值点,
?其中方法主要有
????? linear?? -线性插值,默认
????? pchip?? -逐段三次Hermite插值
????? spline?? -逐段三次样条函数插值
其中最后一种插值的曲线比较平滑
例:
x=0:.12:1; x1=0:.02:1;x=0:.12:1表示显示的插值点,x1=0:.02:1表示插值的步长)
y=(x.^2-3*x+5).*exp(-5*x).*sin(x);
plot(x,y,o); hold on;
y1=interp1(x,y,x1,spline);
plot(x1,y1,:)
如果要根据样本点求函数的定积分,而函数又是比较光滑的,则可以用样条函数进行插值后再积分,在MATLAB中可以编写如下程序:
function y=quadsp
原创力文档

文档评论(0)