Matlab 如何向分段fplot添加任何点?

Matlab 如何向分段fplot添加任何点?,matlab,matlab-figure,Matlab,Matlab Figure,我的任务是找到自然三次样条函数S来插值一组给定的数据。我得到了11个数据点。本质上,这意味着我必须在这些点之间放置一个三次函数,这样我就有10个三次函数,它们一起流动成一个函数 我已经完成了这个。我对使用MatLab还不熟悉,所以我不确定该如何在这个图上加上点 由于有10个函数的性质,我必须粘合在一起,我发现一个称为分段的函数可以很好地解决这个问题。下面是我如何定义分段函数的: syms S(t) S(t) = piecewise(x(1)<t<x(2), (longExpressi

我的任务是找到自然三次样条函数S来插值一组给定的数据。我得到了11个数据点。本质上,这意味着我必须在这些点之间放置一个三次函数,这样我就有10个三次函数,它们一起流动成一个函数

我已经完成了这个。我对使用MatLab还不熟悉,所以我不确定该如何在这个图上加上点

由于有10个函数的性质,我必须粘合在一起,我发现一个称为分段的函数可以很好地解决这个问题。下面是我如何定义分段函数的:

syms S(t)
S(t) = piecewise(x(1)<t<x(2), (longExpression1), x(2)<t<x(3), (longExpression2), ... x(10)<t<x(11), (longExpression10));
我需要在这张图上画13个点。 我需要绘制的前11个点是位于每个线段末端的点。我需要的最后2个点不是端点,而是在两个不同的分段段中间的点。 11个数据点具有以下x和y值:

x = [0 10 20 30 40 50 60 70 80 90 100];
y = [75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633 281.422];
我的情节是这样的:
您可以尝试以下方法:

fplot(S(t), [0,100]);
hold on         % This will prevent the new plot from erasing the result of fplot
plot(x,y,'or'); % 'ok' is a format identifier, the points will be plot as red(r) circles(o)
plot([x1,X2],[S(x1),S(x2)],'or'); %Plot the two extra points
fplot(S(t), [0,100]);
hold on         % This will prevent the new plot from erasing the result of fplot
plot(x,y,'or'); % 'ok' is a format identifier, the points will be plot as red(r) circles(o)
plot([x1,X2],[S(x1),S(x2)],'or'); %Plot the two extra points