xsplinefit.m

来自「《实用化工计算机模拟:MATLAB在化学工程中的应用 》这本书光盘里的程序~」· M 代码 · 共 30 行

M
30
字号
% xSplineFit.m
% 功能: 三种样条函数拟合方法:csaps()、spap2()和spaps()
%
%   Author: HUANG Huajiang
%   Copyright 2003 UNILAB Research Center, 
%   East China University of Science and Technology, Shanghai, PRC
%   $Revision: 1.0 $  $Date: 2003/05/02 $

% 生成离散数据(x,y),其中,x为四个周期,y为加入随机误差的余弦波
x = linspace(0,4*pi,41); 
y = cos(x) + (rand(1,41)-.5)*.2;
pp = csaps(x,y,0.98);       % By csaps()
knots = 9; 
K = 4; 
sp1 = spap2(knots,K,x,y);   % By spap2()
sp2 = spaps(x,y, 0.016 );   % By spaps()

% 分别绘制三种方法的拟合曲线
plot(x,y,'ok');hold on;fnplt(pp,'r');hold off       % By csaps()
figure
plot(x,y,'ok');hold on;fnplt(sp1,'b');hold off      % By spap2()
figure
plot(x,y,'ok');hold on;fnplt(sp2,'r');hold off      % By spaps()

% 在同一坐标上绘制三条曲线以便比较
figure
plot(x,y,'ok'); hold on, fnplt(pp,'k'),fnplt(sp1,'b'), fnplt(sp2,'r')
xlabel('x')
ylabel('y')
hold off

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?