在Matlab 2017中的曲线拟合工具中插补数据点

时间:2017-11-16 10:12:18

标签: matlab interpolation curve

我有一组13个实验点,X的范围从0到100,不等的间隔和相应的Y值。使用曲线拟合工具(Interpolant,PCHIP)我可以得到一个图表,并使用数据得到间歇点的值光标。但是我需要1000个值,以0.1到0的相等间隔间距。如何从工具中获取这1000个值?曾经有一个评估'旧版matlab中的选项,但我没有看到这一点。

2 个答案:

答案 0 :(得分:1)

找到将拟合结果保存到工作区的选项。之后很容易。 x1 =(0:0.1:100)。'; y1 = fitscurve(x1);

现在我觉得非常愚蠢。

答案 1 :(得分:0)

以下是如何在脚本中获得等间距插值数据:

% Your data
x = [0;4;6;10;11;13;17;23;24;34;35;37;39;40;49;58;78;82;90;94;100];
y = sin([0.51;1.15;1.19;1.86;1.92;2.32;2.74;2.81;2.83;3.44;3.93;...
     4.07;4.08;4.32;4.6;4.68;4.87;4.9;4.99;5.14;5.84]*3);

% Create new equally-distant baseline
x2 = linspace(0,100,1000); 

% Fit your data, compute new values of y for x2
y2 = pchip(x,y,x2);

% Plot everything
figure
hold all
plot(x,y,'kx')
plot(x2,y2,'r-');